[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     ! 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>