Annotation of OpenXM_contrib/pari/Announce.2.0.alpha, Revision 1.1
1.1 ! maekawa 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>