Ada source code of Polynomial Homotopy Continuation version 2.3.24

The same hierarchical structure as in the original version is preserved,
with the addition of numerical Schubert calculus in release 2,
and the Components, Differentials, and CtoPHC library in release 2.1.
In release 2.2, Components was extended with diagonal homotopies,
improved with intrinsic coordinates in release 2.3 and Solver was added.
A modified Newton's method developed in collaboration with Anton Leykin
and Ailing Zhao justified a new directory "Newton" in release 2.3.
Translation of Algorithm 846 with the help of Yan Zhuang led to a new
directory MixedVol, released in v.2.3.13.

The Ada sources are organized in a tree of directories:

 Ada                       : Ada source code of PHC
  |-- System               : 0. OS dependencies, e.g.: timing package
  |-- Math_Lib             : 1. general mathematical library
  |      |-- Numbers       : 1.1. number representations
  |      |-- Matrices      : 1.2. matrices and linear-system solvers
  |      |-- Polynomials   : 1.3. multivariate polynomial systems
  |      |-- Supports      : 1.4. support sets and linear programming
  |-- Homotopy             : 2. homotopy and solution lists
  |-- Continuation         : 3. path-tracking routines
  |-- Newton               : 4. root refining and modified Newton's method
  |-- Root_Counts          : 5. root counts and homotopy construction
  |      |-- Product       : 5.1. linear-product start systems
  |      |-- Fewnomials    : 5.2. solvers for system with few monomials
  |      |-- Implift       : 5.3. implicit lifting
  |      |-- Stalift       : 5.4. static lifting
  |      |-- Dynlift       : 5.5. dynamic lifting
  |      |-- Symmetry      : 5.6. exploitation of symmetry relations
  |      |-- MixedVol      : 5.7. translation of ACM TOMS Algorithm 846
  |-- Schubert             : 6. numerical Schubert calculus
  |      |-- SAGBI         : 6.1 SAGBI homotopies
  |      |-- Pieri         : 6.2 deformations based on Pieri's rule
  |      |-- Induction     : 6.3 Schubert induction
  |-- Components           : 7. numerical irreducible decomposition
  |      |-- Samplers      : 7.1 computing witness points
  |      |-- Interpolators : 7.2 finding equations for components
  |      |-- Factorization : 7.3 factorization into irreducible components
  |      |-- Decomposition : 7.4 sequence of homotopies to filter and factor
  |      |-- Solver        : 7.5 incremental equation by equation solver
  |-- Differentials        : 8. numerical jet geometry
  |-- Main                 : 9. main dispatcher
  |-- CtoPHC               : A. interface from C to phc
         |-- Funky         : A.1 functional interface, C -> Ada -> C 
         |-- State         : A.2 state machine gateway, C <-> Ada

To create the executable version, do cd ../Objects and type make phc.

The heart of the package still resides in the libraries Homotopy and
Continuation, which gather the capabilities to set up polynomial homotopies
and perform path tracking.  Release 2 featured a new mathematical library,
rebuilt using Ada 95 concepts and offering multi-precision arithmetic.

Polynomial Homotopy Continuation is a symbolic-numeric method:
root counting is a symbolic action for the resolution of a start system,
whereas path-following has Newton's method as main computational engine.
