PolynomialTestSystems

Introduction

PolynomialTestSystems.jl is a collection of systems of polynomials for benchmarking, testing etc. Most of the polynomial systems are obtained from the database of polynomial systems created by Jan Verschelde and available under http://homepages.math.uic.edu/~jan/.

Format

TestSystem(equations;
    multi_bezout_number=nothing,
    mixed_volume=nothing,
    nsolutions=nothing,
    nreal_solutions=nothing)

Create a TestSystem.

equations(::TestSystem)

Get the the polynomial system.

nvariables(::TestSystem)

Obtain the number of variables of the test system.

mixed_volume(system)::Union{Nothing, Int}

Returns the number mixed volume of the system if known.

nsolutions(system)::Union{Nothing, Int}

Returns the number of (complex) solutions of the system if known.

nreal_solutions(system)::Union{Nothing, Int}

Returns the number of real solutions of the system if known.

bezout_number(system)

Returns the bezout number of the system.

multi_bezout_number(system)::Union{Nothing, Tuple{Int, Vector{Vector{PolyVar{true}}}}}

Returns a tuple containing the multi-homogeneous bezout number as well as the corresponding grouping of the variables if known.

Systems

chandra(n)

The Chandrasekhar H-Equation for n.

References

Laureano Gonzalez-Vega: "Some examples on problem solving by using the symbolic viewpoint when dealing with polynomial systems of equations". in: "Computer Algebra in Science and Engineering", Editors: J. Fleischer, J. Grabmeier, F.W. Hehl and W. Kuechlin. Pages 102-116 World Scientific Publishing, 1995.

S. Chandrasekhar: "Radiative Transfer", Dover, NY, 1960.

C.T. Kelley: "Solution of the Chandrasekhar H-equation by Newton's method". J. Math. Phys., 21 (1980), pp. 1625-1628.

Jorge J. More': "A collection of nonlinear model problems" in: "Computational Solution of Nonlinear Systems of Equations", Editors: Eugene L. Allgower and Kurt Georg. Pages 723-762. Lectures in Applied Mathematics, Volume 26, AMS, 1990.

NOTE : the parameter c equals 0.51234. In general c can be any number in the interval (0,1]

cyclic(n)

The cyclic n-roots problems.

References

Göran Björck and Ralf Fröberg: `A faster way to count the solutions of inhomogeneous systems of algebraic equations, with applications to cyclic n-roots', in J. Symbolic Computation (1991) 12, pp 329–336.

katsura(n)

A problem of magnetism in physics.

References

From the PoSSo test suite.

Shigetoshi Katsura: "Users posing problems to PoSSO", in the PoSSo Newsletter, no. 2, July 1994, edited by L. Gonzalez-Vega and T. Recio. Available at http://janet.dm.unipi.it/

S. Katsura, W. Fukuda, S. Inawashiro, N.M. Fujiki and R. Gebauer, Cell Biophysics, Vol 11, pages 309–319, 1987.

W. Boege, R. Gebauer, and H. Kredel: "Some examples for solving systems of algebraic equations by calculating Groebner bases", J. Symbolic Computation, 2:83-98, 1986.

Shigetoshi Katsura: "Spin Glass Problem by the Method of Integral Equation of the Effective Field". In "New Trends in Magnetism", edited by Mauricio D. Coutinho-Filho and Sergio M. Resende, pages 110-121, World Scientific, 1990.

fourbar()

A four-bar design problem, so-called 5-point problem.

References

See Morgan, A.P. and Wampler, C.W. : `Solving a planar four-bar design problem using continuation' in Transaction of the ASME, J. of Mechanical Design, Vol. 112 pages 544-550, 1990.

For the coefficients, see Table 2, a = (1,0). This is the start system, with five random precision points, that has been used to solve twenty other test systems.

rps10()

RPS Serial Chains for 10 positions on a circular hyperboloid

References

Hai-Jun Su and J. Micheal McCarthy: "Kinematics Synthesis of RPS Serial Chains", In Proceedings of the ASME Design Engineering Technical Conferences (CDROM). Paper DETC03/DAC-48813. Chicago, IL, Sept.02-06, 2003.

ipp()

The six-revolute-joint problem of mechanics.

References

A. Morgan and A. Sommese `Computing all solutions to polynomial systems using homotopy continuation', Appl. Math. Comput., Vol. 24, pp 115-138, 1987.

ipp2()

The 6R inverse position problem.

References

This system occurs as Example 3.3 in a paper by Charles Wampler: `Bezout Number Calculations for Multi-Homogeneous Polynomial Systems', Appl. Math. Comput. vol. 51 No. 2–3, pp. 143–157.

For the original formulation of the problem, see Charles Wampler and Alexander Morgan: `Solving the 6R inverse position problem using a generic-case solution methodology', Mech. Mach. Theory, Vol. 26, No. 1, pp. 91-106, 1991.

boon()

Neurofysiology, posted by Sjirk Boon. Note that the system

References

The system has been posted to the newsgroup sci.math.num-analysis by Sjirk Boon.

P. Van Hentenryck, D. McAllester and D. Kapur: `Solving Polynomial Systems Using a Branch and Prune Approach' SIAM J. Numerical Analysis, Vol. 34, No. 2, pp 797-827, 1997.

heart()

The heart-dipole problem.

References

Nelsen, C.V. and Hodgkin, B.C.: `Determination of magnitudes, directions, and locations of two independent dipoles in a circular conducting region from boundary potential measurements' IEEE Trans. Biomed. Engrg. Vol. BME-28, No. 12, pages 817-823, 1981.

Morgan, A.P. and Sommese, A.J.: `Coefficient-Parameter Polynomial Continuation' Appl. Math. Comput. Vol. 29, No. 2, pages 123-160, 1989. Errata: Appl. Math. Comput. 51:207 (1992)

Morgan, A.P. and Sommese, A. and Watson, L.T.: `Mathematical reduction of a heart dipole model' J. Comput. Appl. Math. Vol. 27, pages 407-410, 1989.

d1()

A a sparse system, known as benchmark D1.

References

H. Hong and V. Stahl: `Safe Starting Regions by Fixed Points and Tightening', Computing 53(3-4): 322-335, 1995.

bacillus_subtilis()

The system comes from biochemical reactions (Published here https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1005267). Basically it models how the bacteris B. subtilis produces a stress response protein, sigmaB, in response to some stress input. This input to the system is the concentration of a phosphatase (a kind of protein). In this system I call that variable phos

griewank_osborne()

This is an illustration of a system for which Newton's method fails near an isolated root. No matter how close one starts to the multiplicity-three isolated root at the origin, (x,y) = (0,0), Newton's method diverges.

Reference: Griewank & Osborne, 1983

tritangents()

See https://www.juliahomotopycontinuation.org/examples/tritangents/.

cyclooctane(c::Float64=2.0)

This is a system that describes the confirmation space of cyclooctane, where the squared distance between neighboring carbon atoms is c. See

juliahomotopycontinuation.org/examples/cyclooctane/

for a detailed description.