Trac #15843: Add reduced Burau representation, Alexander polynomial to Braid

Instances of Braid class could already return the image of the braid
under the Burau representation. This patch adds code to optionally
return the image under the reduced Burau representation. Using the
reduced Burau representation, it can also return the (unnormalized)
Alexander polynomial of the braid closure of the Braid.

Examples of the new functionality from the doc_strings:

  sage: B = BraidGroup   (4) [[BR]]  sage: B.inject_variables() [[BR]]
Defining s0, s1, s2 [[BR]]  sage: s0.burau_matrix(reduced=True)[[BR]]
[-t  0  0][[BR]]   [-t  1  0][[BR]]   [-t  0  1] [[BR]]  sage: b =
B([1,1,1,3,3,2,-3,-1,-1,2,-1,-3,-2]) [[BR]]  sage:
b.alexander_polynomial() #The Kinoshita-Terasaka knot. [[BR]]  -1/t

(The Kinoshita-Terasaka knot has Alexander polynomial 1; the
unnormalized Alexander polynomial is only well-defined up to
multiplication by plus or minus t to the n.)

URL: http://trac.sagemath.org/15843
Reported by: lipshitz
Ticket author(s): Robert Lipshitz
Reviewer(s): Frédéric Chapoton, Travis Scrimshaw
Trac #15599: Improve support for PARI series (t_SER)

This ticket improves the construction of PARI power series and Laurent
series (the method `gen.Ser()`) to correctly handle some inputs (exact
0, vector) and to get the default series precision from the appropriate
PARI setting.

Furthermore, the method `gen.eval()` is extended so that the single
unnamed argument syntax used for polynomials now also works for series
and rational functions.

The dependence on #15549 is because without it, the element
`pari_instance.PARI_ZERO` (which is sometimes returned) doesn't have a
parent.

URL: http://trac.sagemath.org/15599
Reported by: pbruin
Ticket author(s): Peter Bruin
Reviewer(s): Ralf Stephan
Trac #8573: prod(primes_first_n(64)).divisors() crashes

{{{
sage: prod(primes_first_n(64)).divisors()
------------------------------------------------------------------------
Unhandled SIGSEGV: A segmentation fault occurred in Sage.
This probably occurred because a *compiled* component of Sage has a bug
in it and is not properly wrapped with sig_on(), sig_off().
Sage will now terminate.
------------------------------------------------------------------------
}}}
The crash is due to the fact that the number has exactly `2^64` divisors
and this overflows a C integer.

URL: http://trac.sagemath.org/8573
Reported by: asdjughewou9474388
Ticket author(s): Jeroen Demeyer
Reviewer(s): Ralf Stephan
Trac #15306: partial_fraction_decomposition over QQ[] wrong

The method partial_fraction_decomposition() does not work correctly.

Compare this
{{{
sage: p = 2*x; q = x^2 + 6*x +9; r = p/q
sage: r.partial_fraction()
Out[2]: 2/(x + 3) - 6/(x + 3)^2
}}}

with
{{{
sage: R.<x> = PolynomialRing(QQ)
sage: p = 2*x; q = x^2 + 6*x +9; r = p/q
sage: r.partial_fraction_decomposition()
Out[5]: (0, [2*x/(x^2 + 6*x + 9)])
}}}

URL: http://trac.sagemath.org/15306
Reported by: pong
Ticket author(s): Robert Bradshaw, Marc Mezzarobba
Reviewer(s): Marc Mezzarobba, Robert Bradshaw
Trac #15333: remove the imports of is_* from modules/all.py and structure/all.py

part of #14329, and sequel of #15076 and #15098

URL: http://trac.sagemath.org/15333
Reported by: chapoton
Ticket author(s): Frédéric Chapoton
Reviewer(s): Marc Mezzarobba
Trac #15521: Deprecations: default LP variables will become real instead of nonnegative

Following the discussion on Sage-devel [1], default LP variables will
become "real" instead of nonnegative as it is the case at the moment.

The aim is to have 4 types available through `new_variable()` : binary,
integer, nonnegative, and real. Right now, nonnegative does not exist,
and "real" represents nonnegative variables.

What this ticket does:

- A warning has to be displayed when `new_variable()` is called without
arguments, as the default behaviour will change. Users are advised to
add `nonnegative=True` instead.

- A warning has to be displayed when `new_variable(real=True)` is
called, for it represents nonnegative variables at the moment and will
represent real variables later. Users are advised to switch to
`nonnegative=True` instead.

Nathann

[1] https://groups.google.com/d/msg/sage-devel/3vrPzUqFpM4/hKFp0RjV8poJ

URL: http://trac.sagemath.org/15521
Reported by: ncohen
Ticket author(s): Nathann Cohen
Reviewer(s): Benjamin Jones