Computing critical points of polynomial systems using phcpack and python
Jan Verschelde, Katherine Piret
- Year
- 2008
- Citations
- 3
Abstract
Since PHCpack, a software package to solve polynomial systems, was written in Ada monolithically, it makes sense to add modular features to boost the package's usability. Unlike some other interfaces that only process data by parsing previously generated output files to create levels of complexity, we developed a new Python interface by building an extension to the existing C library, which serves as a gateway to the Ada code. This elegant method of reading and writing data directly is efficient because more CPU cycles are spent in the fast Ada/C code and fewer are spent spinning the Python's interpreter's wheels. Because any changes to the wrapped Ada/C code do not break the Python interface, the interface is also flexible. A client/server program, which serves as a model for coarse grained distributing tasks, was added to the interface to solve many polynomial systems concurrently. Our second focus was on finding the critical points for polynomial systems, which occur often in various fields of Science and Engineering, such as nontrivial problems in Pure Mathematics, neural network problems in Biochemistry, and robotic problems in Mechanical Engineering. We created a new algorithm to locate and detect critical points in those application domains by applying homotopy continuation methods.
Keywords
Related papers
Statistical Learning Theory
Yuhai Wu, Vladimir Vapnik
1999
Artificial intelligence: a modern approach
1995
Applied Nonlinear Control
Jean-Jacques Slotine, Weiping Li
1991
A new optimizer using particle swarm theory
R.C. Eberhart, James Kennedy
2002