some interesting examples and families
======================================

PHCpack has been tested on many examples of polynomial systems
taken from the research literature.
The module examples exports some of those examples.
Running **python examples.py** at the command prompt
performs a regression test, solving all examples.

Polynomial systems often occur in families and are defined
for any number of equations and variables.

interactive regression testing
------------------------------

An interactive use of examples.py at the Python prompt can go as follows:

::

   >>> from phcpy.examples import noon3
   >>> f = noon3()
   >>> for p in f: print(p)
   ... 
   x1*x2^2 + x1*x3^2 - 1.1*x1 + 1;
   x2*x1^2 + x2*x3^2 - 1.1*x2 + 1;
   x3*x1^2 + x3*x2^2 - 1.1*x3 + 1;

The functions in examples.py returns the polynomials as lists of strings.
If we want to solve the system defined by f, we continue the above session as

::

   >>> from phcpy.solver import solve
   >>> s = solve(f,silent=True)
   >>> len(s)
   21
   >>> print(s[0])
   t :  1.00000000000000E+00   0.00000000000000E+00
   m : 1
   the solution for t :
    x1 : -1.65123467890611E-01  -7.61734168646636E-01
    x2 :  8.98653694263692E-01  -3.48820047576431E-01
    x3 :  8.98653694263692E-01  -3.48820047576431E-01
   == err :  3.034E-16 = rco :  2.761E-01 = res :  5.974E-16 =

The example session continues in the description of the module solutions.

the cyclic n-roots problem
--------------------------

One such noteworthy family is the cyclic n-roots problem:

::

   >>> from phcpy.families import cyclic
   >>> c4 = cyclic(4)
   >>> for p in c4: print(p)
   ... 
   x0 + x1 + x2 + x3;
   x0*x1 + x1*x2 + x2*x3 + x3*x0;
   x0*x1*x2 + x1*x2*x3 + x2*x3*x0 + x3*x0*x1;
   x0*x1*x2*x3 - 1;
