[BACK]Return to Announce.2.0.alpha CVS log [TXT][DIR] Up to [local] / OpenXM_contrib / pari-2.2

Annotation of OpenXM_contrib/pari-2.2/Announce.2.0.alpha, Revision 1.1.1.1

1.1       noro        1:
                      2:               Announcement of the Pari-2.0.ALPHA release
                      3:
                      4:   This message is to announce the alpha release of version 2.0 of the
                      5: PARI/GP system. It can be found at:
                      6:
                      7:   ftp://megrez.math.u-bordeaux.fr/pub/pari/unix/pari-2.0.alpha.tar.gz
                      8:
                      9:   For those who do not yet know, PARI/GP is a package which is aimed at
                     10: efficient computations in number theory, but also contains a large number
                     11: of other useful functions. It is somewhat related to a Computer Algebra
                     12: System, but is not really one since it treats symbolic expressions as
                     13: mathematical entities such as polynomials, series, matrices, etc..., and
                     14: not as expressions per se. However it is often much faster than other
                     15: CAS, and contains a huge number of specific functions not found
                     16: elsewhere, essentially for use in number theory. In particular, and
                     17: especially so in the present release, there is a very large package for
                     18: working in general algebraic number fields.
                     19:
                     20:   This package can be used in an interactive shell (GP) or as a C/C++
                     21: library (PARI).
                     22:
                     23:   In addition, it is free!
                     24:
                     25: For all questions related to Pari itself, mail to
                     26:
                     27:   pari@math.u-bordeaux.fr
                     28:
                     29:        Enjoy!
                     30:
                     31: ========================================================================
                     32: From the README file:
                     33:
                     34:   The ALPHA status means that bugs might still be lurking around, that
                     35: the documentation might not be absolutely accurate, and that some
                     36: features or function names might change on short notice. Apart from that
                     37: word of caution, we believe this version is stable enough to warrant an
                     38: immediate release.
                     39:
                     40:   We think it is important for you and for us that you try this new
                     41: version and send us feedback, since we can then improve the BETA version
                     42: (scheduled in a few months) and finally the RELEASE version.
                     43:
                     44:   To save us time and worries, this is a UNIX-only, source-code-only,
                     45: release. We will provide binaries for later, stabler, versions.
                     46:
                     47: ========================================================================
                     48: Some NEW features:
                     49:
                     50: I) The GP/PARI structure has been cleaned up.
                     51:
                     52:    * The whole configuration process has been automated, and a Configure
                     53:      file is provided. Just typing 'Configure' should see you home in most
                     54:      cases.
                     55:
                     56:    * PARI is now available as a dynamic library, thanks to Louis Granboulan.
                     57:      (you can link gp with it should you wish to). This saves a tremendous
                     58:      amount of disk space, and is generaly more convenient as you don't need
                     59:      to re-link your files when updating the library (or when debugging.
                     60:      or profiling, or...).
                     61:
                     62:    * types now have a symbolic mnemotechnic name (e.g t_INT for an integer,
                     63:      t_VEC for a vector, and so on).
                     64:
                     65:    * General speed-up (depends on your applications, about 20% for our
                     66:      generic testing file).
                     67:
                     68:    * Experimental module loading structure (the actual function tree
                     69:      has not yet been cut into modules, but for the GP specific functions).
                     70:
                     71: II) Many new or improved functions in the PARI library.
                     72:
                     73:    * MANY class-field related functions. In particular:
                     74:      - is it now possible to try and remove the GRH assumption on class group
                     75:      computations.
                     76:      - ray class groups computations (including discrete log).
                     77:      - explicit defining equations in simple cases (Kummer extensions of prime
                     78:        degree, quadratic base field).
                     79:
                     80:    * roots is now entirely reliable, thanks to Xavier Gourdon.
                     81:
                     82:    * some core routines have been optimized: Karatsuba fast multiplication,
                     83:      a specific function gsqr() for squarings (twice as fast as
                     84:      gmul(x,x) in the most favourable cases),...
                     85:
                     86:    * input/output is much more flexible now:
                     87:      - a function GENtostring has been added, generalizing gitoascii to any
                     88:      PARI object (with a simpler syntax: GENtostring(g) returns a malloced
                     89:      string containing g as gp would print it).
                     90:
                     91:      - lisexpr has a relative flisexpr (for filtered lisexpr), which enables
                     92:      you to use input containing whitespaces.
                     93:
                     94:      - you can use GENs in formatted output, a la printf.
                     95:
                     96:    * improved garbage collecting.
                     97:
                     98:    * private variables can be created without an explicit lisexpr(), using
                     99:      fetch_var() and delete_var().
                    100:
                    101: III) GP has been completely re-written:
                    102:
                    103:    * lowercaps/uppercaps are now significant. All predefined constants
                    104:      (Euler, I, Pi) have been renamed (as well, the o() notation for series
                    105:      and padics has been superseded by O()).
                    106:
                    107:      for (i=1,10, print(i)) will not yield an error anymore.
                    108:
                    109:    * human-readable error messages, including a caret to indicate where
                    110:      a GP syntax error occured.
                    111:
                    112:    * function names were renamed according to a more logical scheme. The
                    113:      file new.dico provides a translation (available under GP using "whatnow")
                    114:
                    115:    * You can retrieve basic information from complicated objects using member
                    116:      functions (you cannot define your own, though). For instance x.disc will
                    117:      yield the discriminant of x, whether it was created by nfinit (aka
                    118:      initalg), bnfinit (aka buchinit), ellinit (aka initell).
                    119:
                    120:    * A .gprc file is available to set "permanent" defaults (such as
                    121:      global variables, aliases, common functions, etc...).  For instance,
                    122:      you can put all your scripts in some special directories, and
                    123:      point them out to GP using "path". See misc/gprc.dft for examples.
                    124:
                    125:      The function "default" enables to change most defaults under gp.
                    126:      For instance: default(compatible,2) will give you back the former gp
                    127:      function names and helpmessages. (default(compatible,3) undoes the
                    128:      lowercaps/uppercaps changes as well). Try "default".
                    129:
                    130:    * the basic C idiosyncrasies such as for instance i++ (for i=i+1), i<<1
                    131:      (for left shift) or i+=j (for i=i+j) are now allowed within GP scripts.
                    132:      /* */ multi-line comments are understood.
                    133:
                    134:    * lists and (primitive) string support have been added. Characters can be
                    135:      quoted with the usual meaning. For instance, try
                    136:        default(prompt,"\e[1mgp\e[m > ")
                    137:
                    138:      As a result, set functions can now be used with arbitrary elements.
                    139:
                    140:    * if your terminal supports color (variants of color_xterm for instance),
                    141:      you can tell GP to highlight its output in different (user configurable)
                    142:      colors. This is done by fiddling with the default "colors".
                    143:
                    144:    * The familiar functions "break", "next" and "return" are now available.
                    145:      These should supersede the buggy label/goto provided in old versions
                    146:      of GP.
                    147:
                    148:    * somewhat enhanced on-line help. Even more: if you have perl on your
                    149:      system, try ?? function-name (?? bnfinit for instance). This is provided
                    150:      by external scripts which can be used independently, outside of any GP
                    151:      session.
                    152:
                    153:    * If readline is installed on your system, a context-dependent completion
                    154:      (not yet user-programmable) is now available (try hitting <TAB> here and
                    155:      there). Try ?? readline.
                    156:
                    157:    * many functions now have default arguments (shown between braces {} in
                    158:      the on-line description). gp first reads user-supplied arguments, and
                    159:      then fills in the arg list with these default values. Optional args can
                    160:      be entirely omitted, comma included (for a function with no mandatory
                    161:      arguments, even parentheses are optional !). For instance:
                    162:
                    163:        Mat = Mat()
                    164:        bnfclassunit(x^2+1,0) = bnfclassunit(x^2+1)
                    165:        bnfclassunit(x^2+1,,[0.2,0.2]) = bnfclassunit(x^2+1,0,[0.2,0.2])
                    166:
                    167:        The "else" part of the "if" function can be entirely omitted.
                    168:        if (a,1) is now correct; of course, the former syntax if (a,1,) is
                    169:        still valid.
                    170:
                    171:    * functions "extern" and "system" have been added to interface with
                    172:      external programs (UNIX only). You can do for instance
                    173:      extern("myprog"), or system("ls -l *.gp").
                    174:
                    175:    * even better, "install" enables you to load any function provided by
                    176:      a dynamically linked library, and have the GP interpreter use it. This
                    177:      makes it easy to have your own customized version of GP with your own set
                    178:      of functions on startup (you can document them using "addhelp").
                    179:
                    180:    * On 32-bit machines, maximum number of variables has been increased from
                    181:      254 to 16382. Arrays can have up to 16777215 elements (instead of 65535).
                    182:      In addition vector/matrix operations in GP now perform orders of
                    183:      magnitudes faster than in version 1.39
                    184:
                    185: =============================================================================

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