DecomposingPolynomialSystems.nsamplesMethod
nsamples(F::SampledSystem) -> Int

Returns the number of samples of F. Notice that ninstances(F)*nsolutions(F) doesn't have to be equal to nsamples(F).

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
DecomposingPolynomialSystems.sample!Method
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.

DecomposingPolynomialSystems.scaling_symmetriesMethod
scaling_symmetries(F::System)

Given a polynomial system F returns the group of scaling symmetries of F. The scalings that change the parameters are considered as well.

julia> @var x y a b c;

julia> F = System([x^4+a^2+1, y^2+b+c]; variables=[x, y], parameters=[a,b,c]);

julia> scaling_symmetries(F)
ScalingGroup isomorphic to ℤ × ℤ₄ × ℤ₂
1 free scaling:
y ↦ y*λ, b ↦ b*λ^2, c ↦ c*λ^2

modular scalings:
1 of order 4:
x ↦ -im*x, y ↦ im*y, b ↦ -b, c ↦ -c
1 of order 2:
x ↦ -x, y ↦ -y, a ↦ -a
DecomposingPolynomialSystems.symmetries_fixing_parametersMethod
symmetries_fixing_parameters(F::System; degree_bound=1, param_dep=true, kwargs...)

Given a polynomial system F returns the group of symmetries of F that fix the parameters. The keyword argument degree_bound is used to set the upper bound for the degrees of numerator and denominator polynomials in expressions for the symmetries. The param_dep keyword argument specifies whether to consider functions of the symmetries to be dependent on the parameters of F.

julia> @var x[1:2] p[1:2];

julia> F = System([x[1]^2 - x[2]^2 - p[1], 2*x[1]*x[2] - p[2]]; variables=x, parameters=p);

julia> symmetries_fixing_parameters(F; degree_bound=1, param_dep=false)
DeckTransformationGroup of order 4
structure: C2 x C2
action:
1st map:
x₁ ↦ x₁
x₂ ↦ x₂
2nd map:
x₁ ↦ -x₁
x₂ ↦ -x₂
3rd map:
x₁ ↦ im*x₂
x₂ ↦ -im*x₁
4th map:
x₁ ↦ -im*x₂
x₂ ↦ im*x₁