Sampling Polynomial Systems

In this Julia package we deal with parametric polynomial systems with finitely many solutions for generic parameters. We use HomotopyContinuation.jl to sample such polynomial systems.

Run monodromy

DecomposingPolynomialSystems.run_monodromyFunction
run_monodromy(F::Union{System, AbstractSystem}, xp₀=nothing; options...) -> SampledSystem

Runs monodromy_solve on a given polynomial system F with starting solutions xp₀[1] and parameters xp₀[2] (if given).

julia> @var x a b;

julia> F = System([x^3+a*x+b]; variables=[x], parameters=[a,b]);

julia> F = run_monodromy(F, ([[1]], [1,-2]); max_loops_no_progress = 10)
SampledSystem with 3 samples
 1 unknown: x
 2 parameters: a, b

 number of solutions: 3
 sampled instances: 1
source
run_monodromy(F::SampledSystem, xp₀=nothing; options...) -> SampledSystem

Reruns monodromy_solve on a given sampled polynomial system F.

source

SampledSystem

SampledSystem is a struct type that initially contains a polynomial system, the result of monodromy computations, and the solutions-parameters samples obtained with run_monodromy or sample!.

Sample system

DecomposingPolynomialSystems.sample!Function
sample!(F::SampledSystem; path_ids=Vector(1:nsolutions(F)), n_instances=1) -> SampledSystem

Uses solve method to track the solutions of a poynomial system F with ids defined by path_ids to n_instances random parameters.

source