DecomposingPolynomialSystems.jl

DecomposingPolynomialSystems.jl is a Julia package that decomposes (simplifies) a given polynomial system using tools from numerical algebraic geometry.
Author MultivariatePolynomialSystems
Popularity
5 Stars
Updated Last
6 Months Ago
Started In
September 2023

DecomposingPolynomialSystems.jl

Dev

DecomposingPolynomialSystems.jl is a Julia package that computes the symmetries that fix the parameters (specifically, the group of deck transformations) of a parametric polynomial system with finitely many solutions with a view towards decomposing the given polynomial system.

Installation

Enter the Pkg REPL by pressing ] from the Julia REPL and then type

add https://github.com/MultivariatePolynomialSystems/DecomposingPolynomialSystems.jl.git

To get back to the Julia REPL, press backspace.

Usage

Computing symmetries

using DecomposingPolynomialSystems
@var x[1:2] p[1:2]
F = System([x[1]^2 - x[2]^2 - p[1], 2*x[1]*x[2] - p[2]]; variables=x, parameters=p)
symmetries_fixing_parameters(F; degree_bound=1, param_dep=false)

The result of the last command is the object of type DeckTransformationGroup that contains 4 deck transformations acting on the unknowns x₁, x₂ of the polynomial system F:

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₁

where im is the imaginary unit.

Computing invariants

TBW

Decomposition

TBW