| LinksFree systems and libraries for doing number theory and
        computer algebra
          GMP is GNU
          Multiple Precision Arithmetic Library. It supports
          arbitrary precision arithmetic, operating on signed
          integers, rational numbers, and floating point numbers.
          GMP is carefully designed to be as fast as possible, both
          for small operands and for huge operands. The speed is
          achieved by using fullwords as the basic arithmetic type,
          by using fast algorithms, with highly optimized assembly
          code for the most common inner loops for a lot of CPUs,
          and by a general emphasis on speed. Probably it is
          the fastest bignum library.Arjen K. Lenstra's LIP package.
          Lenstra's LIP is portable and not slow arbitrary
          precision integer C library. It supports basic
          arithmetic, bit manipulation, modular arithmetic, small
          prime generation, prime testing, factorization and
          others.Victor Shoup's NTL: A Library for doing
          Number Theory. NTL provides high quality
          implementations of state-of-the-art algorithms for:
            
              arbitrary length integer arithmetic and arbitrary
              precision floating point arithmetic; NTL can be used
              in conjunction with GMP (the GNU Multi-Precision
              library) for enhanced performance;polynomial arithmetic over the integers and
              finite fields including basic arithmetic, polynomial
              factorization, irreducibility testing, computation of
              minimal polynomials, traces, norms, and more;lattice basis reduction, including very robust
              and fast implementations of Schnorr-Euchner, block
              Korkin-Zolotarev reduction, and the new
              Schnorr-Horner pruning heuristic for block
              Korkin-Zolotarev;basic linear algebra over the integers, finite
              fields, and arbitrary precision floating point
              numbers.PARI/GP
          is a widely used computer algebra system designed for
          fast computations in number theory (factorizations,
          algebraic number theory, elliptic curves...), but also
          contains a large number of other useful functions to
          compute with mathematical entities such as matrices,
          polynomials, power series, algebraic numbers, etc., and a
          lot of transcendental functions. PARI is also available
          as a C library to allow for faster computations.Maxima
          is a computer algebra system based on DOE Macsyma. The
          source code is available. It has abilities such as
          symbolic integration, 3D plotting, and an ODE solver, but
          there is a lot of work yet to be done in terms of bug
          fixing, cleanup, and documentation.Axiom is
          an extremely powerful computer algebra system with a
          slightly different philosophy than Maxima. It is useful
          for research and development of mathematical algorithms.
          It defines a strongly typed, mathematically correct type
          hierarchy. It has a programming language and a built-in
          compiler.GNU bc is an
          arbitrary precision numeric processing language. Its
          syntax is similar to C, but differs in many substantial
          areas. It supports interactive execution of
          statements.Yuji Kida's UBASIC
          is a BASIC-like environment which is suitable for number
          theoretic investigations. UBASIC has the high precision
          integer, real and complex arithmetic, exact rational
          arithmetic and arithmetic of polynomials with complex,
          rational, or modulo p coefficients, as well as string
          handling and limited list handling capabilities. It runs
          under MS-DOS and is written in assembly language. It is
          really very nice and powerfull language. See UBASIC
          Home (Much in Japanese). See also 
          Google UBASIC directory.
          ARIBAS is an interactive interpreter for big integer
          arithmetic and multi-precision floating point arithmetic
          with a Pascal/Modula like syntax.Givaro: a
          C++ library for arithmetic and algebraic computations.
          Its main features are implementations of the basic
          arithmetic of many mathematical entities: Primes fields,
          Extensions Fields, Finite Fields, Finite Rings,
          Polynomials, Algebraic numbers, Arbitrary precision
          integers and rationals (C++ wrappers over gmp) It also
          provides data-structures and templated classes for the
          manipulation of basic algebraic objects, such as vectors,
          matrices (dense, sparse, structured), univariate
          polynomials (and therefore recursive multivariate).LiDIA
          is a C++ library for computational number theory which
          provides a collection of highly optimized implementations
          of various multiprecision data types and time-intensive
          algorithms. The current release contains: Arithmetic
          Interfaces to cln, gmp, libI, piologie; Basic arithmetic
          over Z, Q, R, C, interval arithmetic, GF(2^n), GF(p^n);
          Factorization: Integer Factorization (Trial Division,
          Elliptic Curve Method, Quadratic Sieve with Lanczos
          algorithm), Factorization of Polynomials over finite
          fields, Factoring ideals of algebraic number fields;
          Lattice Basis Reduction; Linear Algebra over Z; Number
          Fields; Polynomials (template classes for univariate
          polynomials); Elliptic Curves (over the rationals and
          over finite fields, counting points on elliptic curves,
          generating cryptographically strong curves); Primality
          Proofing (probabilistic primality tests, new elliptic
          curve based primality proofer); Other Generic Data Types
          (vectors, matrices, power series, and hash tables
          implemented as templates).Project LINBOX is a
          collaborative effort among researchers at a number of
          locations. The goals are to produce algorithms and
          software for symbolic linear algebra, particularly using
          black box matrix methods, i.e. iterative methods
          requiring only the linear transform property of the
          matrix (that one can compute Ax --> y). No stable
          releases at present.See also SymbolicNet, It is a
          very good starting point to learn about symbolic
          computation and computer algebra systems.A lot of others links see at Keith Matthews's
          Number theory
          pages.AlgLib
          Multilingual library of algorithms by Sergey Bochkanov
          and Vladimir Bystritsky. If you have any questions about
        information on this page or you have noticed an error,
 please contact Arageli Information
        Service.
 
 Last modified: 2008-12-11
 Design and content - © Nikolai Yu. Zolotykh, 2006, ©
        Sergey S. Lyalin, 2006.
 Webmaster - Sergey V. Lobanov
 University of Nizhni Novgorod,
        Russia.
 
 
 |