[BACK]Return to NEW CVS log [TXT][DIR] Up to [local] / OpenXM_contrib / pari-2.2

Annotation of OpenXM_contrib/pari-2.2/NEW, Revision 1.1.1.1

1.1       noro        1: This file highlights some of the novelties in PARI/GP 2.x compared to 1.39.15
                      2: (last release in the 1.x series). The detailed Changelog is in CHANGES.
                      3: Incompatible changes are described in COMPAT. See TODO for possible future
                      4: improvements.
                      5:
                      6: %%%%%%%%%%%%%%%%%%%%%%%%%%%% VERSION 2.1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
                      7:
                      8:    * PARI/GP is now released under the GNU General Public License.
                      9:
                     10:    * PARI now has a CVS server which is intended for PARI lovers who want
                     11:      the very latest bleeding edge release (see the CVS.txt file).
                     12:
                     13:    * Argument checks have been added to prevent unpredictable results when
                     14:      the input is incorrect.
                     15:
                     16:    * Errors can be trapped to avoid abort and recover computations.
                     17:
                     18:    * extended on-line help:
                     19:      ?? (no arguments)      opens the users'manual in xdvi,
                     20:      ?? tutorial / refcard  opens tutorial / refcard in xdvi,
                     21:      ??? keyword            searches for topic in the manual.
                     22:
                     23:    * Arithmetic: much faster integer factorization with several factoring
                     24:      engines including Pollard Rho, SQUFOF, improved ECM, and an MPQS/PMPQS
                     25:      implementation derived from LiDIA's, with kind permission from the LiDIA
                     26:      team
                     27:
                     28:    * Polynomials:
                     29:      - much faster factorization over Z[X] (van Hoeij's algorithm) or Fq[X]
                     30:        (more efficient modular kernel), esp. when the polynomial is defined
                     31:        over a subfield.
                     32:      - Ducos' subresultant algorithm for resultants
                     33:
                     34:    * Number field:
                     35:      - improved ROUND 4 for computations of integral basis/discriminant
                     36:      - faster polredabs / rnfpolredabs polynomial reductions functions
                     37:      - Galois extensions of Q: Fixed fields, Galois conjugates using
                     38:        Allombert's algorithm.
                     39:
                     40:    * Class group, ray-class group:
                     41:      - improved bnf/bnr functions (faster, numerically stabler), in
                     42:        particular bnfisprincipal
                     43:      - computations of explicit defining equations of abelian extensions of
                     44:        imaginery quadratic fields (using complex multiplication) of totally
                     45:        real abelian extensions (using Stark units).
                     46:
                     47:    * Elliptic functions: Weierstrass and Weber functions.
                     48:
                     49:    * Plotting: support of gnuplot, new functions (possiblity to plot directly
                     50:      in a file).
                     51:
                     52: %%%%%%%%%%%%%%%%%%%%%%%%%%%% VERSION 2.0 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
                     53: The GP/PARI structure has been cleaned up.
                     54:
                     55:    * The whole configuration process has been automated, and a Configure
                     56:      file is provided. Just typing `./Configure' should see you home in most
                     57:      cases.
                     58:
                     59:    * PARI is now available as a dynamic library, thanks to Louis Granboulan.
                     60:      (you can link GP with it, if you wish to). This saves a tremendous
                     61:      amount of disk space, and is generally more convenient as you don't need
                     62:      to re-link your files when updating the library (or when debugging.
                     63:      or profiling, or...).
                     64:
                     65:    * types now have a symbolic mnemonic name (e.g t_INT for an integer,
                     66:      t_VEC for a vector, and so on).
                     67:
                     68:    * General speed-up (depends on your applications, about 40% for our
                     69:      generic testing file).
                     70:
                     71:    * Experimental module loading structure (the actual function tree
                     72:      has not yet been cut into modules, but for the GP specific functions).
                     73:
                     74: ==========================================================================
                     75: Many new or improved functions in the PARI library.
                     76:
                     77:    * MANY class-field related functions. In particular:
                     78:      - is it now possible to try and remove the GRH assumption on class group
                     79:      computations.
                     80:      - ray class groups computations (including discrete log).
                     81:      - explicit defining equations in simple cases (Kummer extensions of prime
                     82:        degree, quadratic base field).
                     83:
                     84:    * computation of Galois groups up to degree 11
                     85:
                     86:    * roots is now entirely reliable, thanks to Xavier Gourdon.
                     87:
                     88:    * some core routines have been optimized: Karatsuba fast multiplication,
                     89:      a specific function gsqr() for squarings,...
                     90:
                     91:    * input/output is much more flexible now:
                     92:      - a function GENtostring has been added, generalizing gitoascii to any
                     93:      PARI object (with a simpler syntax: GENtostring(g) returns a malloc'ed
                     94:      string containing g as gp would print it).
                     95:
                     96:      - lisexpr has a relative flisexpr (for filtered lisexpr), which enables
                     97:      you to use input containing whitespaces.
                     98:
                     99:      - you can use GENs in formatted output, a la printf.
                    100:
                    101:    * improved garbage collecting.
                    102:
                    103:    * private variables can be created without an explicit lisexpr(), using
                    104:      fetch_var() and delete_var().
                    105:
                    106: ==========================================================================
                    107: GP has been completely re-written:
                    108:
                    109:    * lowercase/uppercase are now significant. All predefined constants
                    110:      (Euler, I, Pi) have been renamed (as well, the o() notation for series
                    111:      and padics has been superseded by O()).
                    112:
                    113:      for (i=1,10, print(i)) will not yield an error anymore.
                    114:
                    115:    * human-readable error messages, including a caret to indicate where
                    116:      a GP syntax error occurred.
                    117:
                    118:    * function names were renamed according to a more logical scheme. The
                    119:      file new.dico provides a translation (available under GP using "whatnow")
                    120:
                    121:    * You can retrieve basic information from complicated objects using member
                    122:      functions. For instance x.disc will yield the discriminant of x, whether
                    123:      it was created by nfinit (aka initalg), bnfinit (aka buchinit), ellinit
                    124:      (aka initell).
                    125:
                    126:    * A `gprc' file is available to set "permanent" defaults (such as
                    127:      global variables, aliases, custom user functions, etc...).  For instance,
                    128:      you can put all your scripts in some special directories, and
                    129:      point them out to GP using "path". See misc/gprc.dft for examples.
                    130:
                    131:      The function "default" enables to change most defaults under gp.
                    132:      For instance: default(compatible, 2) will give you back the former gp
                    133:      function names and helpmessages. [default(compatible, 3) undoes the
                    134:      lowercaps/uppercaps changes as well]. Try "default".
                    135:
                    136:    * basic C idiosyncrasies such as for instance i++ (for i=i+1), i<<1
                    137:      (for left shift) or i+=j (for i=i+j) are now allowed within GP scripts.
                    138:      /* */ multi-line comments are understood.
                    139:
                    140:    * lists and (primitive) string support have been added. Characters can be
                    141:      quoted with the usual meaning. As a result, set functions can now be
                    142:      used with arbitrary elements.
                    143:
                    144:    * if your terminal supports color (variants of color_xterm for instance),
                    145:      you can tell GP to highlight its output in different (user configurable)
                    146:      colors. This is done by fiddling with the default "colors".
                    147:
                    148:    * The familiar functions "break", "next" and "return" are now available.
                    149:      These should supersede the buggy label/goto provided in older versions.
                    150:
                    151:    * Enhanced on-line help. If you have perl on your system, try
                    152:      ?? function-name (e.g ?? bnfinit)
                    153:      This is provided by external scripts which can be used independently,
                    154:      outside of the GP session.
                    155:
                    156:    * If readline is installed on your system, a context-dependent completion
                    157:      (not yet user-programmable) is now available (try hitting <TAB> here and
                    158:      there). Try ?? readline.
                    159:
                    160:    * many functions now have default arguments (shown between braces {} in
                    161:      the on-line description). gp first reads user-supplied arguments, and
                    162:      then fills in the arg list with these default values. Optional args can
                    163:      be entirely omitted, comma included (for a function with no mandatory
                    164:      arguments, even parentheses are optional !). For instance:
                    165:
                    166:        Mat = Mat()
                    167:        bnfclassunit(x^2+1,0) = bnfclassunit(x^2+1)
                    168:        bnfclassunit(x^2+1,,[0.2,0.2]) = bnfclassunit(x^2+1,0,[0.2,0.2])
                    169:
                    170:        The "else" part of the "if" function can be entirely omitted.
                    171:        if (a,1) is now correct; of course, the former syntax if (a,1,) is
                    172:        still valid.
                    173:
                    174:    * functions "extern" and "system" have been added to interface with
                    175:      external programs (UNIX only). You can do for instance
                    176:      extern("myprog"), or system("ls -l *.gp").
                    177:
                    178:    * even better, "install" enables you to load any function provided by
                    179:      a dynamically linked library, and have the GP interpreter use it. This
                    180:      makes it easy to have your own customized version of GP with your own set
                    181:      of functions on startup (you can document them using "addhelp").
                    182:
                    183:    * On 32-bit machines, maximum number of variables has been increased from
                    184:      254 to 16382. Arrays can have up to 16777214 elements (instead of 65534).
                    185:      In addition vector/matrix operations in GP now perform orders of
                    186:      magnitudes faster than in version 1.39

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>