Class TermOrderOptimization
java.lang.Object
edu.jas.poly.TermOrderOptimization
Term order optimization. See mas10/maspoly/DIPTOO.m{di}.
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic <T> T[]arrayPermutation(List<Integer> P, T[] a) Permutation of an array.static <C extends RingElem<C>>
List<GenPolynomial<BigInteger>> degreeMatrix(GenPolynomial<C> A) Degree matrix.static <C extends RingElem<C>>
List<GenPolynomial<BigInteger>> degreeMatrix(Collection<GenPolynomial<C>> L) Degree matrix.static <C extends RingElem<C>>
List<GenPolynomial<BigInteger>> Degree matrix of coefficient polynomials.static <C extends RingElem<C>>
List<GenPolynomial<BigInteger>> Degree matrix of coefficient polynomials.static List<GenPolynomial<BigInteger>> expVectorAdd(List<GenPolynomial<BigInteger>> dm, ExpVector e) Degree matrix exponent vector add.Inverse of a permutation.static booleanTest for identity permutation.static <T> List<T> listPermutation(List<Integer> P, List<T> L) Permutation of a list.multiplyPermutation(List<Integer> P, List<Integer> S) Multiplication permutations.Optimal permutation for the Degree matrix.static <C extends RingElem<C>>
OptimizedPolynomialList<C> optimizeTermOrder(GenPolynomialRing<C> R, 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> Optimize variable order.static <C extends RingElem<C>>
OptimizedModuleList<C> optimizeTermOrderModule(GenPolynomialRing<C> R, List<List<GenPolynomial<C>>> L) Optimize variable order.static <C extends RingElem<C>>
OptimizedPolynomialList<GenPolynomial<C>> optimizeTermOrderOnCoefficients(GenPolynomialRing<GenPolynomial<C>> ring, List<GenPolynomial<GenPolynomial<C>>> L) Optimize variable order on coefficients.static <C extends RingElem<C>>
OptimizedModuleList<GenPolynomial<C>> Optimize variable order on coefficients.static <C extends RingElem<C>>
OptimizedPolynomialList<GenPolynomial<C>> Optimize variable order on coefficients.static <C extends RingElem<C>>
GenPolynomialRing<C> permutation(List<Integer> P, GenPolynomialRing<C> R) Permutation of polynomial ring variables.static <C extends RingElem<C>>
GenPolynomial<C> permutation(List<Integer> P, GenPolynomialRing<C> R, GenPolynomial<C> A) Permutation of polynomial exponent vectors.static <C extends RingElem<C>>
List<GenPolynomial<C>> permutation(List<Integer> P, GenPolynomialRing<C> R, List<GenPolynomial<C>> L) Permutation of polynomial exponent vectors.static <C extends RingElem<C>>
List<GenSolvablePolynomial<C>> permutation(List<Integer> P, GenSolvablePolynomialRing<C> R, List<GenSolvablePolynomial<C>> L) Permutation of solvable polynomial exponent vectors.static <C extends RingElem<C>>
GenPolynomial<GenPolynomial<C>> permutationOnCoefficients(List<Integer> P, GenPolynomialRing<GenPolynomial<C>> R, GenPolynomial<GenPolynomial<C>> A) Permutation of polynomial exponent vectors of coefficient polynomials.static <C extends RingElem<C>>
List<GenPolynomial<GenPolynomial<C>>> permutationOnCoefficients(List<Integer> P, GenPolynomialRing<GenPolynomial<C>> R, List<GenPolynomial<GenPolynomial<C>>> L) Permutation of polynomial exponent vectors of coefficients.
-
Field Details
-
logger
private static final org.apache.logging.log4j.Logger logger -
debug
private static final boolean debug
-
-
Constructor Details
-
TermOrderOptimization
public TermOrderOptimization()
-
-
Method Details
-
degreeMatrix
public static <C extends RingElem<C>> List<GenPolynomial<BigInteger>> degreeMatrix(GenPolynomial<C> A) Degree matrix.- Parameters:
A- polynomial to be considered.- Returns:
- degree matrix.
-
expVectorAdd
public static List<GenPolynomial<BigInteger>> expVectorAdd(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>> 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>> List<GenPolynomial<BigInteger>> degreeMatrix(Collection<GenPolynomial<C>> L) Degree matrix.- Parameters:
L- list of polynomial to be considered.- Returns:
- degree matrix.
-
degreeMatrixOfCoefficients
public static <C extends RingElem<C>> List<GenPolynomial<BigInteger>> degreeMatrixOfCoefficients(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
Optimal permutation for the Degree matrix.- Parameters:
D- degree matrix.- Returns:
- optimal permutation for D.
-
inversePermutation
-
isIdentityPermutation
-
multiplyPermutation
-
listPermutation
-
arrayPermutation
-
permutation
public static <C extends RingElem<C>> GenPolynomial<C> permutation(List<Integer> P, GenPolynomialRing<C> R, GenPolynomial<C> A) Permutation of polynomial exponent vectors.- Parameters:
P- permutation.R- polynomial ring.A- polynomial.- Returns:
- P(A).
-
permutation
public static <C extends RingElem<C>> List<GenPolynomial<C>> permutation(List<Integer> P, GenPolynomialRing<C> R, List<GenPolynomial<C>> L) Permutation of polynomial exponent vectors.- Parameters:
P- permutation.R- polynomial ring.L- list of polynomials.- Returns:
- P(L).
-
permutation
public static <C extends RingElem<C>> List<GenSolvablePolynomial<C>> permutation(List<Integer> P, GenSolvablePolynomialRing<C> R, List<GenSolvablePolynomial<C>> L) Permutation of solvable polynomial exponent vectors.- Parameters:
P- permutation, must be compatible with the commutator relations.R- solvable polynomial ring.L- list of solvable polynomials.- Returns:
- P(L).
-
permutationOnCoefficients
public static <C extends RingElem<C>> GenPolynomial<GenPolynomial<C>> permutationOnCoefficients(List<Integer> P, GenPolynomialRing<GenPolynomial<C>> R, GenPolynomial<GenPolynomial<C>> A) Permutation of polynomial exponent vectors of coefficient polynomials.- Parameters:
P- permutation.R- polynomial ring.A- polynomial.- Returns:
- P(A).
-
permutationOnCoefficients
public static <C extends RingElem<C>> List<GenPolynomial<GenPolynomial<C>>> permutationOnCoefficients(List<Integer> P, GenPolynomialRing<GenPolynomial<C>> R, List<GenPolynomial<GenPolynomial<C>>> L) Permutation of polynomial exponent vectors of coefficients.- Parameters:
P- permutation.R- polynomial ring.L- list of polynomials.- Returns:
- P(L).
-
permutation
public static <C extends RingElem<C>> GenPolynomialRing<C> permutation(List<Integer> P, GenPolynomialRing<C> R) Permutation of polynomial ring variables.- Parameters:
P- permutation.R- polynomial ring.- Returns:
- P(R).
-
optimizeTermOrder
public static <C extends RingElem<C>> OptimizedPolynomialList<C> optimizeTermOrder(GenPolynomialRing<C> R, 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, List<GenPolynomial<GenPolynomial<C>>> L) Optimize variable order on coefficients.- Parameters:
ring- polynomial ring.L- list of polynomials.- Returns:
- optimized polynomial list.
-
optimizeTermOrder
Optimize variable order.- Parameters:
P- module list.- Returns:
- optimized module list.
-
optimizeTermOrderModule
public static <C extends RingElem<C>> OptimizedModuleList<C> optimizeTermOrderModule(GenPolynomialRing<C> R, List<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.
-