The PARI system is a package which is capable of doing formal computations on
recursive types at high speed.
It is possible to use PARI in two different ways:
1) as a library, which can be called from any upper-level language
application (for instance written in C, C++, Pascal or Fortran);
2) as a sophisticated programmable calculator, named GP, which contains
most of the standard control instructions of a standard language
like C.
This is the alpha quality version that development is in the way.
Algorithm, improvement of implementation are done.
Because improvement of performance was big, ports was made as -devel in
particular.
This Perl package exports functions for performing numerical first
(Derivative1) and second Derivative2) order differentiation on vectors
of data. They both take references to two arrays containing the x and y
ordinates of the data and return an array of the 1st or 2nd derivative
at the given x ordinates. Derivative2 may optionally be given values to
use for the first dervivative at the start and end points of the data -
otherwiswe 'natural' values are used.
p5-Math-Evol implements the evolution search strategy. Derivatives of the
objective function are not required. Constraints can be incorporated. The
caller must supply initial values for the variables and for the initial
step sizes.
Math::Expr parses mathematical expressions into a tree structure.
The expressions may contain integers, real numbers, alphanumeric
variable names, alphanumeric function names and most other characters
might be used as operators. The operators can consist of multiple
characters. The only limitation is that a variable or function
name may not start on a digit, and not all chars are accepted in
operation names.
This is a package for doing integer arithmetic while using a different
base representation than normal. In base n arithmetic you have n
symbols which have a representation. I was going to call them
"glyphs", but being text strings they are not really. On Tye McQueen's
whimsical suggestion I settled on the name Math::Fleximal, the set of
text representations is called a "flex", and the representation of
individual digits are the "flecks". These names are somewhat
unofficial...
This allows you to do basic arithmetic using whatever digits you want,
and to convert from one to another.
Math::GMP is a perl interface to the high-speed arbitrary size integer
math library libgmp (GNU MP lib).
Math::GMPf is a bigfloat module utilising the GNU MP (GMP) library. Basically
this module simply wraps all of the mpf floating point functions provided by
that library. See the Math::GMPf test suite for some examples of usage.
Math::GMPq is a bigrational module utilising the GNU MP (GMP) library. Basically
this module simply wraps all of the mpq rational functions provided by that
library. See the Math::GMPq test suite for some examples of usage.
IMPORTANT:
If your perl was built with '-Duse64bitint' you need to assign all integers
larger than 52-bit in a 'use integer;' block. Failure to do so can result in the
creation of the variable as an NV (rather than an IV) - with a resultant loss of
precision.
Math::GMPz is a bignum module utilising the GNU MP (GMP) library. Basically this
module simply wraps all of the mpz integer functions provided by that library.
See the Math::GMPz test suite for some examples of usage.
This is a very resticted perl interface to GNU Scientific Library.
The GSL is itself distributed under GPL and is available from:
Only the routines relating the solving of polynomials are exported.
It exists to provide that function to "tkscope" in Audio::Data.