# 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;
```