There are only four tutorials in the documentation to illustrate specified symmetries, and the API reference 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 behind the scenes, yet SymbolicWedderburn.jl does not even have its own documentation ….
There are only four tutorials in the documentation to illustrate specified symmetries, and the API reference provides no further (or clearer) information on how to properly construct a custom$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.
Symmetry.Pattern. How do I define additional symmetry-related invariances for my polynomials if they exist?For instance,
The documentation suggests that the
Symmetry.PatterninvokesSymbolicWedderburn.jlbehind the scenes, yetSymbolicWedderburn.jldoes not even have its own documentation ….