Package edu.jas.poly
Class TermOrderOptimization
- java.lang.Object
-
- edu.jas.poly.TermOrderOptimization
-
public class TermOrderOptimization extends java.lang.Object
Term order optimization. See mas10/maspoly/DIPTOO.m{di}.- Author:
- Heinz Kredel
-
-
Constructor Summary
Constructors Constructor Description TermOrderOptimization()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static <T> T[]arrayPermutation(java.util.List<java.lang.Integer> P, T[] a)Permutation of an array.static <C extends RingElem<C>>
java.util.List<GenPolynomial<BigInteger>>degreeMatrix(GenPolynomial<C> A)Degree matrix.static <C extends RingElem<C>>
java.util.List<GenPolynomial<BigInteger>>degreeMatrix(java.util.Collection<GenPolynomial<C>> L)Degree matrix.static <C extends RingElem<C>>
java.util.List<GenPolynomial<BigInteger>>degreeMatrixOfCoefficients(GenPolynomial<GenPolynomial<C>> A)Degree matrix of coefficient polynomials.static <C extends RingElem<C>>
java.util.List<GenPolynomial<BigInteger>>degreeMatrixOfCoefficients(java.util.Collection<GenPolynomial<GenPolynomial<C>>> L)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 booleanisIdentityPermutation(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>>
OptimizedPolynomialList<C>optimizeTermOrder(GenPolynomialRing<C> R, java.util.List<GenPolynomial<C>> L)Optimize variable order.static <C extends RingElem<C>>
OptimizedModuleList<C>optimizeTermOrder(ModuleList<C> P)Optimize variable order.static <C extends RingElem<C>>
OptimizedPolynomialList<C>optimizeTermOrder(PolynomialList<C> P)Optimize variable order.static <C extends RingElem<C>>
OptimizedModuleList<C>optimizeTermOrderModule(GenPolynomialRing<C> R, java.util.List<java.util.List<GenPolynomial<C>>> L)Optimize variable order.static <C extends RingElem<C>>
OptimizedPolynomialList<GenPolynomial<C>>optimizeTermOrderOnCoefficients(GenPolynomialRing<GenPolynomial<C>> ring, java.util.List<GenPolynomial<GenPolynomial<C>>> L)Optimize variable order on coefficients.static <C extends RingElem<C>>
OptimizedModuleList<GenPolynomial<C>>optimizeTermOrderOnCoefficients(ModuleList<GenPolynomial<C>> P)Optimize variable order on coefficients.static <C extends RingElem<C>>
OptimizedPolynomialList<GenPolynomial<C>>optimizeTermOrderOnCoefficients(PolynomialList<GenPolynomial<C>> P)Optimize variable order on coefficients.static <C extends RingElem<C>>
GenPolynomialRing<C>permutation(java.util.List<java.lang.Integer> P, GenPolynomialRing<C> R)Permutation of polynomial ring variables.static <C extends RingElem<C>>
GenPolynomial<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>>
java.util.List<GenPolynomial<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>>
java.util.List<GenSolvablePolynomial<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>>
GenPolynomial<GenPolynomial<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>>
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)Permutation of polynomial exponent vectors of coefficients.
-
-
-
Constructor Detail
-
TermOrderOptimization
public TermOrderOptimization()
-
-
Method Detail
-
degreeMatrix
public static <C extends RingElem<C>> java.util.List<GenPolynomial<BigInteger>> degreeMatrix(GenPolynomial<C> A)
Degree matrix.- Parameters:
A- polynomial to be considered.- Returns:
- degree matrix.
-
expVectorAdd
public static java.util.List<GenPolynomial<BigInteger>> expVectorAdd(java.util.List<GenPolynomial<BigInteger>> dm, ExpVector e)
Degree matrix exponent vector add.- Parameters:
dm- degree matrix.e- exponent vector.- Returns:
- degree matrix + e.
-
degreeMatrixOfCoefficients
public static <C extends RingElem<C>> java.util.List<GenPolynomial<BigInteger>> degreeMatrixOfCoefficients(GenPolynomial<GenPolynomial<C>> A)
Degree matrix of coefficient polynomials.- Parameters:
A- polynomial to be considered.- Returns:
- degree matrix for the coeficients.
-
degreeMatrix
public static <C extends RingElem<C>> java.util.List<GenPolynomial<BigInteger>> degreeMatrix(java.util.Collection<GenPolynomial<C>> L)
Degree matrix.- Parameters:
L- list of polynomial to be considered.- Returns:
- degree matrix.
-
degreeMatrixOfCoefficients
public static <C extends RingElem<C>> java.util.List<GenPolynomial<BigInteger>> degreeMatrixOfCoefficients(java.util.Collection<GenPolynomial<GenPolynomial<C>>> L)
Degree matrix of coefficient polynomials.- Parameters:
L- list of polynomial to be considered.- Returns:
- degree matrix for the coeficients.
-
optimalPermutation
public static java.util.List<java.lang.Integer> optimalPermutation(java.util.List<GenPolynomial<BigInteger>> D)
Optimal permutation for the Degree matrix.- Parameters:
D- degree matrix.- Returns:
- optimal permutation for D.
-
inversePermutation
public static java.util.List<java.lang.Integer> inversePermutation(java.util.List<java.lang.Integer> P)
Inverse of a permutation.- Parameters:
P- permutation.- Returns:
- S with S*P = id.
-
isIdentityPermutation
public static boolean isIdentityPermutation(java.util.List<java.lang.Integer> P)
Test for identity permutation.- Parameters:
P- permutation.- Returns:
- true , if P = id, else false.
-
multiplyPermutation
public static java.util.List<java.lang.Integer> multiplyPermutation(java.util.List<java.lang.Integer> P, java.util.List<java.lang.Integer> S)
Multiplication permutations.- Parameters:
P- permutation.S- permutation.- Returns:
- P*S.
-
listPermutation
public static <T> java.util.List<T> listPermutation(java.util.List<java.lang.Integer> P, java.util.List<T> L)
Permutation of a list.- Parameters:
L- list.P- permutation.- Returns:
- P(L).
-
arrayPermutation
public static <T> T[] arrayPermutation(java.util.List<java.lang.Integer> P, T[] a)
Permutation of an array. Compiles, but does not work, requires JDK 1.6 to work.- Parameters:
a- array.P- permutation.- Returns:
- P(a).
-
permutation
public static <C extends RingElem<C>> GenPolynomial<C> permutation(java.util.List<java.lang.Integer> P, GenPolynomialRing<C> R, GenPolynomial<C> A)
Permutation of polynomial exponent vectors.- Parameters:
A- polynomial.R- polynomial ring.P- permutation.- Returns:
- P(A).
-
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)
Permutation of polynomial exponent vectors.- Parameters:
L- list of polynomials.R- polynomial ring.P- permutation.- Returns:
- P(L).
-
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)
Permutation of solvable polynomial exponent vectors.- Parameters:
L- list of solvable polynomials.R- solvable polynomial ring.P- permutation, must be compatible with the commutator relations.- Returns:
- P(L).
-
permutationOnCoefficients
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)
Permutation of polynomial exponent vectors of coefficient polynomials.- Parameters:
A- polynomial.R- polynomial ring.P- permutation.- Returns:
- P(A).
-
permutationOnCoefficients
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)
Permutation of polynomial exponent vectors of coefficients.- Parameters:
L- list of polynomials.R- polynomial ring.P- permutation.- Returns:
- P(L).
-
permutation
public static <C extends RingElem<C>> GenPolynomialRing<C> permutation(java.util.List<java.lang.Integer> P, GenPolynomialRing<C> R)
Permutation of polynomial ring variables.- Parameters:
R- polynomial ring.P- permutation.- Returns:
- P(R).
-
optimizeTermOrder
public static <C extends RingElem<C>> OptimizedPolynomialList<C> optimizeTermOrder(GenPolynomialRing<C> R, java.util.List<GenPolynomial<C>> L)
Optimize variable order.- Parameters:
R- polynomial ring.L- list of polynomials.- Returns:
- optimized polynomial list.
-
optimizeTermOrder
public static <C extends RingElem<C>> OptimizedPolynomialList<C> optimizeTermOrder(PolynomialList<C> P)
Optimize variable order.- Parameters:
P- polynomial list.- Returns:
- optimized polynomial list.
-
optimizeTermOrderOnCoefficients
public static <C extends RingElem<C>> OptimizedPolynomialList<GenPolynomial<C>> optimizeTermOrderOnCoefficients(PolynomialList<GenPolynomial<C>> P)
Optimize variable order on coefficients.- Parameters:
P- polynomial list.- Returns:
- optimized polynomial list.
-
optimizeTermOrderOnCoefficients
public static <C extends RingElem<C>> OptimizedPolynomialList<GenPolynomial<C>> optimizeTermOrderOnCoefficients(GenPolynomialRing<GenPolynomial<C>> ring, java.util.List<GenPolynomial<GenPolynomial<C>>> L)
Optimize variable order on coefficients.- Parameters:
ring- polynomial ring.L- list of polynomials.- Returns:
- optimized polynomial list.
-
optimizeTermOrder
public static <C extends RingElem<C>> OptimizedModuleList<C> optimizeTermOrder(ModuleList<C> P)
Optimize variable order.- Parameters:
P- module list.- Returns:
- optimized module list.
-
optimizeTermOrderModule
public static <C extends RingElem<C>> OptimizedModuleList<C> optimizeTermOrderModule(GenPolynomialRing<C> R, java.util.List<java.util.List<GenPolynomial<C>>> L)
Optimize variable order.- Parameters:
R- polynomial ring.L- list of lists of polynomials.- Returns:
- optimized module list.
-
optimizeTermOrderOnCoefficients
public static <C extends RingElem<C>> OptimizedModuleList<GenPolynomial<C>> optimizeTermOrderOnCoefficients(ModuleList<GenPolynomial<C>> P)
Optimize variable order on coefficients.- Parameters:
P- module list.- Returns:
- optimized module list.
-
-