public class TermOrderOptimization extends java.lang.Object
Constructor and Description |
---|
TermOrderOptimization() |
Modifier and Type | Method and Description |
---|---|
static <T> T[] |
arrayPermutation(java.util.List<java.lang.Integer> P,
T[] a)
Permutation of an array.
|
static <C extends RingElem<C>> |
degreeMatrix(java.util.Collection<GenPolynomial<C>> L)
Degree matrix.
|
static <C extends RingElem<C>> |
degreeMatrix(GenPolynomial<C> A)
Degree matrix.
|
static <C extends RingElem<C>> |
degreeMatrixOfCoefficients(java.util.Collection<GenPolynomial<GenPolynomial<C>>> L)
Degree matrix of coefficient polynomials.
|
static <C extends RingElem<C>> |
degreeMatrixOfCoefficients(GenPolynomial<GenPolynomial<C>> A)
Degree matrix of coefficient polynomials.
|
static java.util.List<GenPolynomial<BigInteger>> |
expVectorAdd(java.util.List<GenPolynomial<BigInteger>> dm,
ExpVector e)
Degree matrix exponent vector add.
|
static java.util.List<java.lang.Integer> |
inversePermutation(java.util.List<java.lang.Integer> P)
Inverse of a permutation.
|
static boolean |
isIdentityPermutation(java.util.List<java.lang.Integer> P)
Test for identity permutation.
|
static <T> java.util.List<T> |
listPermutation(java.util.List<java.lang.Integer> P,
java.util.List<T> L)
Permutation of a list.
|
static java.util.List<java.lang.Integer> |
multiplyPermutation(java.util.List<java.lang.Integer> P,
java.util.List<java.lang.Integer> S)
Multiplication permutations.
|
static java.util.List<java.lang.Integer> |
optimalPermutation(java.util.List<GenPolynomial<BigInteger>> D)
Optimal permutation for the Degree matrix.
|
static <C extends RingElem<C>> |
optimizeTermOrder(GenPolynomialRing<C> R,
java.util.List<GenPolynomial<C>> L)
Optimize variable order.
|
static <C extends RingElem<C>> |
optimizeTermOrder(ModuleList<C> P)
Optimize variable order.
|
static <C extends RingElem<C>> |
optimizeTermOrder(PolynomialList<C> P)
Optimize variable order.
|
static <C extends RingElem<C>> |
optimizeTermOrderModule(GenPolynomialRing<C> R,
java.util.List<java.util.List<GenPolynomial<C>>> L)
Optimize variable order.
|
static <C extends RingElem<C>> |
optimizeTermOrderOnCoefficients(GenPolynomialRing<GenPolynomial<C>> ring,
java.util.List<GenPolynomial<GenPolynomial<C>>> L)
Optimize variable order on coefficients.
|
static <C extends RingElem<C>> |
optimizeTermOrderOnCoefficients(ModuleList<GenPolynomial<C>> P)
Optimize variable order on coefficients.
|
static <C extends RingElem<C>> |
optimizeTermOrderOnCoefficients(PolynomialList<GenPolynomial<C>> P)
Optimize variable order on coefficients.
|
static <C extends RingElem<C>> |
permutation(java.util.List<java.lang.Integer> P,
GenPolynomialRing<C> R)
Permutation of polynomial ring variables.
|
static <C extends RingElem<C>> |
permutation(java.util.List<java.lang.Integer> P,
GenPolynomialRing<C> R,
GenPolynomial<C> A)
Permutation of polynomial exponent vectors.
|
static <C extends RingElem<C>> |
permutation(java.util.List<java.lang.Integer> P,
GenPolynomialRing<C> R,
java.util.List<GenPolynomial<C>> L)
Permutation of polynomial exponent vectors.
|
static <C extends RingElem<C>> |
permutation(java.util.List<java.lang.Integer> P,
GenSolvablePolynomialRing<C> R,
java.util.List<GenSolvablePolynomial<C>> L)
Permutation of solvable polynomial exponent vectors.
|
static <C extends RingElem<C>> |
permutationOnCoefficients(java.util.List<java.lang.Integer> P,
GenPolynomialRing<GenPolynomial<C>> R,
GenPolynomial<GenPolynomial<C>> A)
Permutation of polynomial exponent vectors of coefficient polynomials.
|
static <C extends RingElem<C>> |
permutationOnCoefficients(java.util.List<java.lang.Integer> P,
GenPolynomialRing<GenPolynomial<C>> R,
java.util.List<GenPolynomial<GenPolynomial<C>>> L)
Permutation of polynomial exponent vectors of coefficients.
|
public TermOrderOptimization()
public static <C extends RingElem<C>> java.util.List<GenPolynomial<BigInteger>> degreeMatrix(GenPolynomial<C> A)
A
- polynomial to be considered.public static java.util.List<GenPolynomial<BigInteger>> expVectorAdd(java.util.List<GenPolynomial<BigInteger>> dm, ExpVector e)
dm
- degree matrix.e
- exponent vector.public static <C extends RingElem<C>> java.util.List<GenPolynomial<BigInteger>> degreeMatrixOfCoefficients(GenPolynomial<GenPolynomial<C>> A)
A
- polynomial to be considered.public static <C extends RingElem<C>> java.util.List<GenPolynomial<BigInteger>> degreeMatrix(java.util.Collection<GenPolynomial<C>> L)
L
- list of polynomial to be considered.public static <C extends RingElem<C>> java.util.List<GenPolynomial<BigInteger>> degreeMatrixOfCoefficients(java.util.Collection<GenPolynomial<GenPolynomial<C>>> L)
L
- list of polynomial to be considered.public static java.util.List<java.lang.Integer> optimalPermutation(java.util.List<GenPolynomial<BigInteger>> D)
D
- degree matrix.public static java.util.List<java.lang.Integer> inversePermutation(java.util.List<java.lang.Integer> P)
P
- permutation.public static boolean isIdentityPermutation(java.util.List<java.lang.Integer> P)
P
- permutation.public static java.util.List<java.lang.Integer> multiplyPermutation(java.util.List<java.lang.Integer> P, java.util.List<java.lang.Integer> S)
P
- permutation.S
- permutation.public static <T> java.util.List<T> listPermutation(java.util.List<java.lang.Integer> P, java.util.List<T> L)
L
- list.P
- permutation.public static <T> T[] arrayPermutation(java.util.List<java.lang.Integer> P, T[] a)
a
- array.P
- permutation.public static <C extends RingElem<C>> GenPolynomial<C> permutation(java.util.List<java.lang.Integer> P, GenPolynomialRing<C> R, GenPolynomial<C> A)
A
- polynomial.R
- polynomial ring.P
- permutation.public static <C extends RingElem<C>> java.util.List<GenPolynomial<C>> permutation(java.util.List<java.lang.Integer> P, GenPolynomialRing<C> R, java.util.List<GenPolynomial<C>> L)
L
- list of polynomials.R
- polynomial ring.P
- permutation.public static <C extends RingElem<C>> java.util.List<GenSolvablePolynomial<C>> permutation(java.util.List<java.lang.Integer> P, GenSolvablePolynomialRing<C> R, java.util.List<GenSolvablePolynomial<C>> L)
L
- list of solvable polynomials.R
- solvable polynomial ring.P
- permutation, must be compatible with the commutator relations.public static <C extends RingElem<C>> GenPolynomial<GenPolynomial<C>> permutationOnCoefficients(java.util.List<java.lang.Integer> P, GenPolynomialRing<GenPolynomial<C>> R, GenPolynomial<GenPolynomial<C>> A)
A
- polynomial.R
- polynomial ring.P
- permutation.public static <C extends RingElem<C>> java.util.List<GenPolynomial<GenPolynomial<C>>> permutationOnCoefficients(java.util.List<java.lang.Integer> P, GenPolynomialRing<GenPolynomial<C>> R, java.util.List<GenPolynomial<GenPolynomial<C>>> L)
L
- list of polynomials.R
- polynomial ring.P
- permutation.public static <C extends RingElem<C>> GenPolynomialRing<C> permutation(java.util.List<java.lang.Integer> P, GenPolynomialRing<C> R)
R
- polynomial ring.P
- permutation.public static <C extends RingElem<C>> OptimizedPolynomialList<C> optimizeTermOrder(GenPolynomialRing<C> R, java.util.List<GenPolynomial<C>> L)
R
- polynomial ring.L
- list of polynomials.public static <C extends RingElem<C>> OptimizedPolynomialList<C> optimizeTermOrder(PolynomialList<C> P)
P
- polynomial list.public static <C extends RingElem<C>> OptimizedPolynomialList<GenPolynomial<C>> optimizeTermOrderOnCoefficients(PolynomialList<GenPolynomial<C>> P)
P
- polynomial list.public static <C extends RingElem<C>> OptimizedPolynomialList<GenPolynomial<C>> optimizeTermOrderOnCoefficients(GenPolynomialRing<GenPolynomial<C>> ring, java.util.List<GenPolynomial<GenPolynomial<C>>> L)
ring
- polynomial ring.L
- list of polynomials.public static <C extends RingElem<C>> OptimizedModuleList<C> optimizeTermOrder(ModuleList<C> P)
P
- module list.public static <C extends RingElem<C>> OptimizedModuleList<C> optimizeTermOrderModule(GenPolynomialRing<C> R, java.util.List<java.util.List<GenPolynomial<C>>> L)
R
- polynomial ring.L
- list of lists of polynomials.public static <C extends RingElem<C>> OptimizedModuleList<GenPolynomial<C>> optimizeTermOrderOnCoefficients(ModuleList<GenPolynomial<C>> P)
P
- module list.