home *** CD-ROM | disk | FTP | other *** search
- Description of the main changes between versions 1.35 and 1.36.
-
- (Since some intermediate releases like 1.35.01 have widely circulated, some
- changes described below do not apply.)
-
- In addition to the new programs and improvements described below, many bugs
- have been corrected and improvements have been made. See the file Changes for
- details.
-
- 1) Linear algebra
-
- a) New programs
-
- suppl (supplement a subspace), image (image of a linear map), inverseimage
- (find a preimage of a vector by a linear map), indexrank (find row and column
- indices for extraction of a maximal rank square submatrix), matrixqz (primitive
- matrix having the same $\Bbb Q$-image), matrixqz2 (intersection of $\Bbb Z^n$
- with a lattice), matrixqz3 (intersection of $\Bbb Z^n$ with a
- $\Bbb Q$-subspace), kerint, kerint1 and kerint2 ($\Bbb Z$-kernel of a linear
- map), intersect (intersection of subspaces), lllgramint and lllint (LLL when
- the gram matrix is integral, completely accurate and fast if applicable),
- lllgramkerim and lllkerim ($\Bbb Z$-kernel and image of a linear map,
- generalizing lllgramint and lllint to the case where the vectors may be
- dependent).
-
- b) Improvements
-
- Modified many programs to handle empty matrices in a reasonable way.
- smith modified so as to allow singular matrices, and hermite modified so as to
- accept matrices of any size, in particular with more rows than columns.
- norml2 accepts now any type, in particular matrices.
- The LLL algorithms have been improved and speeded up. In particular, the
- linear and algebraic dependence algorithms lindep2 and algdep2 now give
- considerably better results than before, since they call lllint instead of lll.
- hess is now (hopefully) correct.
- In a GP statement, rows and columns of a matrix can now be accessed or modified
- directly using m[j,] for the j-th row and m[,k] for the k-th column.
-
- 2) Polynomials, polymods and rational funtions
-
- a) New programs
-
- factfq (factorization of polynomials over any finite field), cyclo (cyclotomic
- polynomials), modreverse (reverse of a polymod), polred2 (polred with the
- integral basis elements), polyrev (same as poly in reverse order),
- smallpolred2 (smallpolred+polred2), factoredpolred2 (factoredpolred+polred2),
- rootslong (a much slower but safer polynomial root finder), galois (galois
- group of a polynomial of degree up to 7), galoisconj (list of conjugates of
- an algebraic number belonging to the same number field), tchirnhausen (apply
- a random tchirnhausen transformation), initalg (give basic information about
- a number field), resultant2 (resultant for non-exact types),
- factornf (factoring polynomials over number fields).
-
- b) Improvements
-
- gcd of two polymods or between a polymod and a polynomial is now more
- reasonable, and vector/matrix arguments are allowed in gcd and lcm.
- Major modifications have been introduced in the treatment of polymods which
- now behave in a much more reasonable way.
- The simplification of rational functions has been enhanced, resulting in
- more completely simplified expressions, but also in slower speed.
-
- 3) Arithmetic functions.
-
- a) New programs
-
- factr (n! as a real number), centerlift (lift of mod(a,b) to a with |a|
- minimum), shift (left or right shift), shiftmul (multiplication or division by
- a power of 2), rhorealnod and redrealnod (same as rhoreal and redreal without
- distance computation), comprealraw, sqrealraw and powrealraw (composition,
- squaring and powering of binary quadratic forms with positive discriminant
- without performing any reduction), isisom (test isomorphism of number fields),
- isincl (test inclusion of number fields), rootsof1 (number of roots of unity
- in a number field), nucomp, nudupl and nupow (composition of primitive
- positive definite binary quadratic forms a la Shanks).
-
- b) Improvements
-
- sumdivk(n,k) now accepts k<0.
- When an impossible inverse modulo occurs, the error message prints the culprit
- so that one can factor the modulus if necessary.
- smallfact and boundfact can now have rational arguments.
- All operations (except nucomp and co.) on quadratic forms now accept
- nonprimitive forms (whatever the result means however).
-
- 4) Transcendental functions
-
- a) New programs
-
- izeta (zeta function for integer arguments, not accessible from GP but called
- automatically by zeta), incgam4 (incomplete gamma with given gamma value),
- cxpolylog (polylog of complex argumnet, not accessible from GP but called
- automatically by polylog).
-
- b) Improvements
-
- incgam(a,x) now accepts a<=0.
- The polylog functions have been deeply modified. They now work in the whole
- complex plane, accept negative indices, and all useful modified versions
- are implemented. Also power series arguments are now accepted.
- gamma and lngamma now accept power series arguments.
-
- 5) Elliptic curves
-
- a) New programs
- initell2 (fast initell, but for reasonable size coefficients), lseriesell
- (fast computation of the L series of an elliptic curve), pointell (Weierstrass
- P-function and its derivative).
-
- b) Improvements
- Elliptic curves with huge coefficients can now be treated.
- zell is now in priciple correct and more accurate.
- The coefficients of matell have been doubled, so the determinant of the
- height matrix is the usual regulator.
- isoncurve gives a reasonable answer in case of imprecise coefficients.
- apell now accepts prime numbers larger than 65536.
-
- 6) Miscellaneous
-
- a) New programs
-
- vecsort (sort by some component), read (read an expression from a GP program),
- random (generate a random number), permutation (list all permutations),
- matsize (dimensions of a matrix), size (maximal number of decimal digits),
- rounderror (maximum error made in rounding), lex (lexicographic comparison),
- lexsort (lexicographic sort), simplify (remove a zero imaginary part in a
- complex or quadratic, and convert a constant polynomial into its constant
- term).
-
- b) Improvements
-
- The time to input a large file into GP by \r is much shorter.
- suminf, prodinf, suminf1, prodinf1 can now have zero coefficients without
- stopping the computation.
- A vector can now be raised to an integral power componentwise (of course
- not a matrix).
- A new output format has been added (the prettymatrix format), which allows to
- print matrices as boxes, the components being still in raw format. This is now
- the default instead of the raw format (type \p to switch between the three
- output formats, \a, \m and \b to print in raw, prettymatrix and prettyprint
- format respectively).
-
- 7) Documentation and examples.
-
- a) Two new chapters have been added to the manual (which now exceeds 103 pages,
- not counting the table of contents and the index). Chapter 5 gives a complete
- list of the low level functions of the PARI library, with a description of
- their use. The last chapter is a tutorial to the use of the GP calculator. It
- is not yet finished in this release. If you do not want it in the manual,
- put a % sign in front of the line \input tutorial in the file users.tex.
-
- b) An example of a complete and non-trivial GP program is given in the file
- squfof.gp in the directory example. Just read in this file under GP by the
- command \r squfof.gp, and use the function squfof on positive integers which
- you want to factor. SQUFOF is a very nice factoring method invented in the
- 70's by D. Shanks for factoring integers, and is reasonably fast for numbers
- having up to 15 or 16 digits. The squfof program which is given is a very
- crude implementation. It also prints out some intermediate information as it
- goes along. The final result is some factor of the number to be factored.
-