phcpy 1.1.4 offers a functional Python interface to PHCv2.4.90

This directory was added since release 2.3.41 of PHCpack,
in collaboration with Kathy Piret.

The current version of PHCpy is contained in the folder PHCpy, and
has been tested on Linux, Windows, macOS (Intel and ARM chips).

The folders PHCpy2 and PHCpy3 contain the older versions
respectively for python2 and python3, which needed the C extension module,
only available for Linux and Mac OS X (intel).

The folder Jupyter contains the code snippets for the use of phcpy on
a server hosted by JupyterHub, made in collaboration with Jasmine Otto,
and described in the paper by
Jasmine Otto, Angus Forbes, and Jan Verschelde:
"Solving Polynomial Systems with phcpy", in the Proceedings of the
18th Python in Science Conference (SciPy 2019), edited by Chris Calloway,
David Lippa, Dillon Niederhut, and David Shupe, pages 58-64, 2019.

To install phcpy, the file "libPHCpack" (with the proper extension,
.so for linux, for .dll for windows, and .dylib on mac) must be copied
into the folder phcpy.  Make the library file either with alire (alr),
or via the gprbuild of the gnu-ada compiler on the phclib.gpr file in
the Main folder of the Ada source code.

Release history:
1.1.4 : 2024-03-20 : function added for the predicted solution point
1.1.3 : 2024-02-20 : rewritten using ctypes
1.1.2 : 2022-05-30 : bugs fixed for the embed functions of the sets module
1.1.1 : 2021-02-26 : fixed type error in factor module
1.1.0 : 2020-12-15 : solve method of Polynomials retrieves gamma constant
1.0.9 : 2020-11-30 : support_sets() function, extended the Polynomials class
1.0.8 : 2020-10-31 : improved function support() checks on number of symbols
1.0.7 : 2020-09-30 : option to focus on polyhedral homotopies in solver
1.0.6 : 2020-07-30 : added verbose level parameter in the solver module
1.0.5 : 2020-07-01 : function in solver module for condition report 
1.0.4 : 2020-06-12 : condition tables in the solutions module
1.0.3 : 2020-04-29 : bug fix in sweepers module
1.0.2 : 2019-10-21 : improved documentation
1.0.1 : 2019-10-03 : class definitions for polynomials and solutions
1.0.0 : 2019-09-01 : support for m-homogenization in trackers of curves
0.9.9 : 2019-08-13 : step-by-step trackers in curves support 1-homogenization
0.9.8 : 2019-07-25 : support for the tableau format of a polynomial system
0.9.7 : 2019-07-05 : improved step-by-step Pade continuation
0.9.6 : 2019-06-21 : improved random_coefficient_system in the solver module
0.9.5 : 2019-05-17 : test in curves module for natural parameter homotopy
0.9.4 : 2019-03-29 : gamma added to step-by-step path tracker in trackers
0.9.3 : 2019-02-28 : fixed errors in documentation for path trackers
0.9.2 : 2019-01-19 : step-by-step Pade continuation for natural homotopies
0.9.1 : 2018-12-28 : improved module curves, step-by-step Pade continuation
0.9.0 : 2018-12-10 : new module curves to apply Pade approximants in trackers
0.8.9 : 2018-11-11 : removed fixed degree bound on the power series
0.8.8 : 2018-10-14 : fixed memory leak in algorithmic differentiation trackers
0.8.7 : 2018-09-27 : fixed regression tests in the examples module
0.8.6 : 2018-08-31 : wrapped phc -B function in solvers of the factor module
0.8.5 : 2018-08-14 : phcpy2c?.so is compiled with GNAT Community 2018
0.8.4 : 2018-06-02 : option stable added to mixed_volume_by_demics()
0.8.3 : 2018-05-18 : function mixed_volume_by_demics() in solver.py
0.8.2 : 2018-05-01 : multiplicity calculation added to the solver module
0.8.1 : 2018-04-10 : multitasked homotopy membership test in sets module
0.8.0 : 2018-03-26 : multitasked solve() applies pipelining
0.7.9 : 2018-03-13 : faster solve() in the factor module
0.7.8 : 2018-03-05 : checkin for newton_power_series() functions
0.7.7 : 2017-12-30 : checkin for mixed_volume(), init_cysignals() documented
0.7.6 : 2017-10-17 : bug fixes and other improvements
0.7.5 : 2017-09-28 : reduction of systems added to the solver module
0.7.4 : 2017-09-12 : phcpy prints the root counters output string
0.7.3 : 2017-09-05 : code snippets in Jupyter notebook for SageMath kernel
0.7.2 : 2017-08-20 : added sevenbar to examples, bug fix in store solutions
0.7.1 : 2017-08-13 : numerical irreducible decomposition in factor.solve()
0.7.0 : 2017-07-31 : witness sets defined by Laurent polynomials
0.6.9 : 2017-07-18 : new modules cascades, factor, and diagonal
0.6.8 : 2017-07-05 : improved support for Laurent polynomial systems
0.6.7 : 2017-06-07 : preliminary version of Pade approximant methods
0.6.6 : 2017-05-17 : added tangents to 4 spheres as a use case
0.6.5 : 2017-02-19 : tuned versions of the path trackers with AD 
0.6.4 : 2017-02-07 : algorithmic differentiation trackers in phcpy
0.6.3 : 2017-01-31 : source ready for better integration of ade trackers
0.6.2 : 2017-01-05 : bug fix in series and made ready for import in Sage
0.6.1 : 2016-12-30 : added Littlewood-Richardson tests in examples
0.6.0 : 2016-12-20 : better Newton on power series in the series module
0.5.9 : 2016-11-30 : reorganized chapters in the documentation
0.5.8 : 2016-11-20 : added an example of a power series solution computation
0.5.7 : 2016-10-31 : improved reference manual with restructured text
0.5.6 : 2016-10-16 : compute mixed cell configuration for integer lifting
0.5.5 : 2016-09-20 : checkin parameters for start system constructors
0.5.4 : 2016-08-31 : another use case and reference manual in documentation
0.5.3 : 2016-08-13 : added two use cases to the documentation
0.5.2 : 2016-07-31 : added use case on the circle problem of Appolonius
0.5.1 : 2016-07-22 : fixed makefile for .so files on Mac OS X
0.5.0 : 2016-07-01 : series module to run Newton's method on power series
0.4.9 : 2016-06-15 : improved documentation for the dashboard module
0.4.8 : 2016-06-03 : new module dashboard to prototype GUI with Tkinter
0.4.7 : 2016-05-26 : bug fix in cascade of homotopies
0.4.6 : 2016-05-21 : improved Littlewood-Richardson homotopy interface
0.4.5 : 2016-05-11 : bug fix for stable semi-mixed cells
0.4.4 : 2016-04-30 : function to filter real solutions, better documentation
0.4.3 : 2016-03-25 : improved root refinement for overdetermined systems
0.4.2 : 2016-03-18 : path tracking for overdetermined convex homotopies
0.4.1 : 2016-02-19 : bug fix in parsing ()**2, checkin for solver
0.4.0 : 2016-02-12 : new module tropisms, for output of polyhedral end game
0.3.9 : 2016-01-17 : new tuning module, to tune the settings of the trackers
0.3.8 : 2016-01-02 : version for Python 3.5, improved documentation
0.3.7 : 2015-12-29 : homotopy membership test in sets.py
0.3.6 : 2015-12-24 : monodromy breakup with double doubles and quad doubles
0.3.5 : 2015-12-11 : checkin/checkout functions in polytopes.py
0.3.4 : 2015-11-23 : diagonal homotopies and improved documentation
0.3.3 : 2015-11-06 : new module sweepers exports sweep homotopies
0.3.2 : 2015-10-22 : L-R homotopies with double double and quad doubles
0.3.1 : 2015-10-07 : blackbox solver with double doubles and quad doubles
0.3.0 : 2015-09-24 : bug fix in passing string representations of polynomials
0.2.9 : 2015-08-31 : interface to the path trackers accelerated by GPUs
0.2.8 : 2015-07-31 : added scaling and better documentation for py2c
0.2.7 : 2015-06-26 : faster retrieval of solutions, reproducible runs
0.2.6 : 2015-05-22 : improved documentation
0.2.5 : 2014-11-26 : variable precision Newton steps
0.2.4 : 2014-10-31 : more complete Littlewood-Richardson homotopies
0.2.3 : 2014-09-12 : new module polytopes with convex hulls and mixed volume
0.2.2 : 2014-08-31 : univariate root finders at various level of precision
0.2.1 : 2014-08-10 : deflation in double double and quad double precision
0.2.0 : 2014-07-30 : polyhedral homotopies with double double and quad doubles
0.1.9 : 2014-06-30 : examples directory and random system function
0.1.8 : 2014-06-06 : schubert.py exports Littlewood-Richardson homotopies
0.1.7 : 2014-03-28 : multicore path tracking
0.1.6 : 2013-12-20 : m-homogenization, trackers in separate module
0.1.5 : 2013-12-06 : arbitrary multiprecision Newton and path trackers
0.1.4 : 2013-09-25 : path trackers with generators, bug fix
0.1.3 : 2013-09-19 : references in families, puretopdim option in phcpmaps
0.1.2 : 2013-09-06 : added new module phcmaps
0.1.1 : 2013-08-30 : heeded warnings of pylint
0.1.0 : 2013-08-12 : modules bundled into a package
0.0.9 : 2013-04-25 : updated phcsets.py and new families.py
0.0.8 : 2013-02-15 : deflation and cascade_step
0.0.7 : 2013-02-08 : path trackers in double double and quad double precision
0.0.6 : 2013-01-31 : linear-product root counts & start systems
0.0.5 : 2012-12-30 : plain monodromy factorization in phcsets.py
0.0.4 : 2012-12-21 : first release of schubert.py
0.0.3 : 2012-12-06 : bug fixes and improvements
0.0.2 : 2012-12-02 : regression tests, the new examples.py
0.0.1 : 2012-11-30 : demonstration of Sphinx in MCS 507
