The Project TERA

Existing commercial software packages and TERA

Although the commercial version of MAPLE is not able to handle large matrices whose entries are polynomials in many variables, this software package is flexible enough to support a radical change towards the abstract data types of the TERA project. It happens that MAPLE was based from its very beginning on the basic data structure DAG, which is just hidden for the common user (but not for the specialist). MAPLE is able to handle DAG's and to evaluate them. Unfortunately the DAG philosophy is not consequently applied in MAPLE and identity between polynomials is not checked by a simple evaluation test, such as Heintz &Schnorr (1982) in combination with Hägele &Montaña (1996) or the so called Zippel-Schwartz test (see Schwartz 1980; Zippel 1990) in combination with Schönhage (1979) or Ibarra&Moran (1983). For the test of identity between polynomials stored as a DAG (e.g. when running the Gauss algorithm on a matrix with polynomial entries) MAPLE converts the given DAG representation in a (sparse or dense) coefficient representation of the polynomials under consideration. The result of this conversion is an object which is often too large to be handled by the program. Mutatis mutandi the same thing can be said about the representation of rational numbers and integers in MAPLE. This small difference between our fragmentary programs and the MAPLE software has the already mentioned big consequences when running a procedure. Not the quality of the algorithms or the skillfulness of the programming work makes that difference but the consequent use of the same, problem adapted data structure. This explanation makes clear that MAPLE is flexible enough to be used for the prototyping of our new algorithms which are based on the abstract data type DAG. This fact was pointed to us by B. Salvy (INRIA, Rocquencourt) and J. Marchand (École Polytechnique, Palaiseau). They started this year prototyping for TERA a couple of ``critical" routines in MAPLE (namely the Berkowitz algorithm for the computation of the characteristic polynomial of a matrix with polynomial entries and the computation of a Noether position of a given projective variety). The design of these programs in MAPLE is still in progress but scattered experimental results inspire us confidence to be on the right way. Thus MAPLE seems to be a suitable tool for the first coarse prototyping of our procedures.

previous Programming activities within TERA

up The Project TERA

next Future progress with TERA