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 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>>
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 coefficients.
-
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 coefficients.
-
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.
-
-