SYNAPS: A Library for Symbolic and Numeric Computation

### What is it ?

• Data structures: vectors, matrices (dense, Toeplitz, Hankel, sparse, . . . ), univariate polynomials, multivariate polynomials, parameterized by the coefficient type and internal representation.
• Algorithms: linear algebra tools, solvers, algebraic numbers, resultants, . . . for algebraic and geometric computation.
• Special links with external tools:

• gmp for extended precision arithmetic
• lapack for numerical linear algebra
• mpsolve for univariate solving.
• mathemagix for a powerfull interpreter.
• Open Source project:

• collaborative work;
• GPL+runtime exception;
• cvs server; automatic documentation (doxygen); autoconf; test suite;

`http://www-sop.inria.fr/galaad/software/synaps/`

### Objectives:

• A kernel implementing basic algebraic data structures.
• A basis for the development of elaborated algorithms.
• Easy to use, from inside and outside. Write dedicated applications; integrate them easily.
• Reusability as much as possible of efficient external tools. Choose the right implementation for the right job (active library). Incorporate transparently specialisations, without penalty.

### Design:

• Container and domains: internal representation, associated with iterators, and access/modification methods.
• Module: set of (generic) functions which apply to a category of objects. Allows easy specialisation.
• View: how we see the container. Allows local views sharing datas.

### Algorithms:

• Linear algebra:
• Eigenvalue, Svd, linear solvers, (lapack);
• Sparse matrices, LU solver (SuperLU);
• Structured matrices (Hankel, Toeplitz);
• Resultants:
• Univariate (Sylvester, Bezoutian); Subresultant; Sturm-Habicht sequences;
• Projective, Toric, Residual  resultants; multivariate Bezoutian;
• Algebraic numbers: (E. Tsigaridas) construction and comparison;
• Solvers:
• Aberth Solver (D. Bini and G. Fiorentino)
• Weierstrass solver (O. Ruatta)
• Bernstein univariate subdivision solvers.
• Sturm subdivsion.
• Iterative solver (Sebastion e Silva)
• Bernstein multivariate subdivision solvers (J.P. Pavone).
• Generalised normal form solver (Ph. Trebuchet).