# DecomposingPolynomialSystems.jl

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