jump-dev / jump-dev/SumOfSquares.jl

Where is the documentation for customizing the symmetry?

Open
#413 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Julia
Stars
131
Forks
26
PR merge metrics
No merged PRs in 30d

Description

There are only [four tutorials](https://github.com/jump-dev/SumOfSquares.jl/tree/master/docs/src/tutorials/Symmetry) in the documentation to illustrate _specified_ symmetries, and the [API reference](https://jump.dev/SumOfSquares.jl/dev/reference/certificate/#SumOfSquares.Certificate.Symmetry.Ideal) provides no further (or clearer) information on how to properly construct a custom `Symmetry.Pattern`. How do I define additional symmetry-related invariances for my polynomials if they exist?
For instance, $a^4b^2+b^4c^2+c^4d^2+d^4e^2+e^4a^2$ remains unchanged under both cyclic shifts and the negation of any single variable, but is it possible to *combine* the “cyclic symmetry” and the “even reduction”? As another instance, ${\left(a^2-b^2\right)}^2{\left(c^2-d^2\right)}^2+{\left({\left(a^2+c^2\right)}{\left(b^2+d^2\right)}-2{\left(a^2 c^2+b^2 d^2\right)}\right)}^2$ is invariant under both the action of the Klein four-group and independent sign changes of each variable. Unfortunately, there is no documentation explaining how to *combine* two (or more) symmetries.
The documentation suggests that the `Symmetry.Pattern` invokes [`SymbolicWedderburn.jl`](https://github.com/kalmarek/SymbolicWedderburn.jl) behind the scenes, yet [`SymbolicWedderburn.jl`](https://github.com/kalmarek/SymbolicWedderburn.jl) does not even have its own documentation ….

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.