TermOrderOptimization
edu.jas.poly

## Class TermOrderOptimization

• public class TermOrderOptimizationextends Object
Term order optimization. See mas10/maspoly/DIPTOO.m{di}.
• ### Constructor Detail

• #### TermOrderOptimization

public TermOrderOptimization()
• ### Method Detail

• #### 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 coeficients.
• #### optimalPermutation

public static List<Integer> optimalPermutation(List<GenPolynomial<BigInteger>> D)
Optimal permutation for the Degree matrix.
Parameters:
D - degree matrix.
Returns:
optimal permutation for D.
• #### inversePermutation

public static List<Integer> inversePermutation(List<Integer> P)
Inverse of a permutation.
Parameters:
P - permutation.
Returns:
S with S*P = id.
• #### isIdentityPermutation

public static boolean isIdentityPermutation(List<Integer> P)
Test for identity permutation.
Parameters:
P - permutation.
Returns:
true , if P = id, else false.
• #### multiplyPermutation

public static List<Integer> multiplyPermutation(List<Integer> P,                                List<Integer> S)
Multiplication permutations.
Parameters:
P - permutation.
S - permutation.
Returns:
P*S.
• #### listPermutation

public static <T> List<T> listPermutation(List<Integer> P,                          List<T> L)
Permutation of a list.
Parameters:
L - list.
P - permutation.
Returns:
P(L).
• #### arrayPermutation

public static <T> T[] arrayPermutation(List<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).
• #### stringArrayPermutation

public static String[] stringArrayPermutation(List<Integer> P,                              String[] a)
Permutation of an array.
Parameters:
a - array.
P - permutation.
Returns:
P(a).
• #### longArrayPermutation

public static long[] longArrayPermutation(List<Integer> P,                          long[] a)
Permutation of a long array.
Parameters:
a - array of long.
P - permutation.
Returns:
P(a).
• #### permutation

public static ExpVector permutation(List<Integer> P,                    ExpVector e)
Permutation of an exponent vector.
Parameters:
e - exponent vector.
P - permutation.
Returns:
P(e).
• #### optimizeTermOrder

public static <C extends RingElem<C>> OptimizedPolynomialList<C> optimizeTermOrder(PolynomialList<C> P)
Optimize variable order.
Parameters:
P - polynomial list.
Returns:
optimized polynomial list.