Package edu.jas.poly
Class ExpVector
- java.lang.Object
-
- edu.jas.poly.ExpVector
-
- All Implemented Interfaces:
AbelianGroupElem<ExpVector>
,Element<ExpVector>
,java.io.Serializable
,java.lang.Comparable<ExpVector>
- Direct Known Subclasses:
ExpVectorByte
,ExpVectorInteger
,ExpVectorLong
,ExpVectorShort
public abstract class ExpVector extends java.lang.Object implements AbelianGroupElem<ExpVector>
ExpVector implements exponent vectors for polynomials. Exponent vectors are implemented as arrays of Java elementary types, like long, int, short and byte. ExpVector provides also the familiar MAS static method names. The implementation is only tested for nonnegative exponents but should work also for negative exponents. Objects of this class are intended to be immutable, but exponents can be set (during construction); also the hash code is only computed once, when needed. The different storage unit implementations areExpVectorLong
ExpVectorInteger
,ExpVectorShort
andExpVectorByte
. The static factory methodscreate()
ofExpVector
select the respective storage unit. The selection of the desired storage unit is internally done via the static variablestorunit
. This variable should not be changed dynamically.- Author:
- Heinz Kredel
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
ExpVector.StorUnit
Storage representation of exponent arrays.
-
Field Summary
Fields Modifier and Type Field Description protected long
blen
Stored bitLength.protected int
hash
Stored hash code.static ExpVector.StorUnit
storunit
Used storage representation of exponent arrays.
-
Constructor Summary
Constructors Constructor Description ExpVector()
Constructor for ExpVector.
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract ExpVector
abs()
ExpVector absolute value.long
bitLength()
Returns the number of bits in the representation of this exponent vector.abstract ExpVector
combine(ExpVector V)
Combine with ExpVector.int
compareTo(ExpVector V)
ExpVector compareTo.abstract ExpVector
contract(int i, int len)
Contract variables.abstract ExpVector
copy()
Clone this.static ExpVector
create(int n)
Factory constructor for ExpVector.static ExpVector
create(int n, int i, long e)
Factory constructor for ExpVector.static ExpVector
create(long[] v)
Internal factory constructor for ExpVector.static ExpVector
create(java.lang.String s)
Factory constructor for ExpVector.static ExpVector
create(java.util.Collection<java.lang.Long> v)
Factory constructor for ExpVector.long
degree()
ExpVector degree.abstract int[]
dependencyOnVariables()
ExpVector dependency on variables.abstract int
dependentVariables()
ExpVector dependent variables.boolean
divides(ExpVector V)
ExpVector divides test.boolean
equals(java.lang.Object B)
Comparison with any other object.static ExpVector
EVABS(ExpVector U)
ExpVector absolute value.<C extends RingElem<C>>
Cevaluate(RingFactory<C> cf, java.util.List<C> a)
Evaluate.static ExpVector
EVDIF(ExpVector U, ExpVector V)
ExpVector difference.static int[]
EVDOV(ExpVector U)
ExpVector dependency on variables.static ExpVector
EVGCD(ExpVector U, ExpVector V)
ExpVector greatest common divisor.static int
EVIGLC(ExpVector U, ExpVector V)
Inverse graded lexicographical compare.static int
EVIGLC(ExpVector U, ExpVector V, int begin, int end)
Inverse graded lexicographical compare part.static int
EVILCP(ExpVector U, ExpVector V)
Inverse lexicographical compare.static int
EVILCP(ExpVector U, ExpVector V, int begin, int end)
Inverse lexicographical compare part.static int
EVITDEGLC(ExpVector U, ExpVector V)
Inverse total degree lexicographical compare.static int
EVIWLC(long[][] w, ExpVector U, ExpVector V)
Inverse weighted lexicographical compare.static int
EVIWLC(long[][] w, ExpVector U, ExpVector V, int begin, int end)
Inverse weighted lexicographical compare part.static ExpVector
EVLCM(ExpVector U, ExpVector V)
ExpVector least common multiple.static long
EVMDEG(ExpVector U)
ExpVector maximal degree.static long
EVMINDEG(ExpVector U)
ExpVector minimal degree.static boolean
EVMT(ExpVector U, ExpVector V)
ExpVector multiple test.static ExpVector
EVNEG(ExpVector U)
ExpVector negate.static ExpVector
EVRAND(int r, long k, float q)
Generate a random ExpVector.static ExpVector
EVRAND(int r, long k, float q, java.util.Random rnd)
Generate a random ExpVector.static int
EVRIGLC(ExpVector U, ExpVector V)
Reverse inverse graded lexicographical compare.static int
EVRIGLC(ExpVector U, ExpVector V, int begin, int end)
Reverse inverse graded lexicographical compare part.static int
EVRILCP(ExpVector U, ExpVector V)
Reverse inverse lexicographical compare.static int
EVRILCP(ExpVector U, ExpVector V, int begin, int end)
Reverse inverse lexicographical compare part.static int
EVRLITDEGC(ExpVector U, ExpVector V)
Reverse lexicographical inverse total degree compare.static int
EVSIGN(ExpVector U)
ExpVector sign.static ExpVector
EVSU(ExpVector U, int i, long d)
ExpVector substitution.static ExpVector
EVSUM(ExpVector U, ExpVector V)
ExpVector summation.static long
EVTDEG(ExpVector U)
ExpVector total degree.static long
EVWDEG(long[][] w, ExpVector U)
ExpVector weighted degree.abstract ExpVector
extend(int i, int j, long e)
Extend variables.abstract ExpVector
extendLower(int i, int j, long e)
Extend lower variables.AbelianGroupFactory<ExpVector>
factory()
Get the corresponding element factory.abstract ExpVector
gcd(ExpVector V)
ExpVector greatest common divisor.abstract long[]
getVal()
Get the exponent vector.abstract long
getVal(int i)
Get the exponent at position i.int
hashCode()
hashCode.int
indexVar(java.lang.String x, java.lang.String... vars)
Get the index of a variable.java.lang.String
indexVarName(int idx, java.lang.String... vars)
Get the variable name at index.abstract int
invGradCompareTo(ExpVector V)
ExpVector inverse graded lexicographical compareTo.abstract int
invGradCompareTo(ExpVector V, int begin, int end)
ExpVector inverse graded lexicographical compareTo.abstract int
invLexCompareTo(ExpVector V)
ExpVector inverse lexicographical compareTo.abstract int
invLexCompareTo(ExpVector V, int begin, int end)
ExpVector inverse lexicographical compareTo.abstract int
invTdegCompareTo(ExpVector V)
ExpVector inverse total degree lexicographical compareTo.abstract int
invWeightCompareTo(long[][] w, ExpVector V)
ExpVector inverse weighted lexicographical compareTo.abstract int
invWeightCompareTo(long[][] w, ExpVector V, int begin, int end)
ExpVector inverse weighted lexicographical compareTo.boolean
isFinite()
Is this structure finite or infinite.boolean
isZERO()
Is ExpVector zero.abstract ExpVector
lcm(ExpVector V)
ExpVector least common multiple.abstract int
length()
Get the length of this exponent vector.abstract long
maxDeg()
ExpVector maximal degree.abstract long
minDeg()
ExpVector minimal degree.abstract boolean
multipleOf(ExpVector V)
ExpVector multiple test.abstract ExpVector
negate()
ExpVector negate.abstract ExpVector
permutation(java.util.List<java.lang.Integer> P)
Permutation of exponent vector.static ExpVector
random(int r, long k, float q)
Generate a random ExpVector.static ExpVector
random(int r, long k, float q, java.util.Random rnd)
Generate a random ExpVector.abstract ExpVector
reverse()
Reverse variables.abstract ExpVector
reverse(int j)
Reverse lower j variables.abstract int
revInvGradCompareTo(ExpVector V)
ExpVector reverse inverse graded compareTo.abstract int
revInvGradCompareTo(ExpVector V, int begin, int end)
ExpVector reverse inverse graded compareTo.abstract int
revInvLexCompareTo(ExpVector V)
ExpVector reverse inverse lexicographical compareTo.abstract int
revInvLexCompareTo(ExpVector V, int begin, int end)
ExpVector reverse inverse lexicographical compareTo.abstract int
revLexInvTdegCompareTo(ExpVector V)
ExpVector reverse lexicographical inverse total degree compareTo.abstract ExpVector
scalarMultiply(long s)
ExpVector multiply by scalar.protected abstract long
setVal(int i, long e)
Set the exponent at position i to e.abstract int
signum()
ExpVector signum.java.lang.String[]
stdVars()
Standard variable names.java.lang.String[]
stdVars(java.lang.String prefix)
Generate variable names.static java.lang.String[]
STDVARS(int n)
Standard variable names.static java.lang.String[]
STDVARS(java.lang.String prefix, int n)
Generate variable names.ExpVector
subst(int i, long d)
ExpVector substitution.abstract ExpVector
subtract(ExpVector V)
ExpVector subtract.abstract ExpVector
sum(ExpVector V)
ExpVector summation.java.lang.String
toScript()
Get a scripting compatible string representation.java.lang.String
toScript(java.lang.String[] vars)
Get a scripting compatible string representation.java.lang.String
toScriptFactory()
Get a scripting compatible string representation of the factory.java.lang.String
toString()
Get the string representation.java.lang.String
toString(java.lang.String[] vars)
Get the string representation with variable names.abstract long
totalDeg()
ExpVector total degree.static ExpVector
valueOf(ExpVector e)
Value of other.int
varIndex(int idx)
Get the array index of a variable at index.static java.lang.String
varsToString(java.lang.String[] vars)
Get the string representation of the variables.abstract long
weightDeg(long[] w)
ExpVector weighted degree.abstract long
weightDeg(long[][] w)
ExpVector weighted degree.
-
-
-
Field Detail
-
hash
protected transient int hash
Stored hash code.
-
blen
protected transient long blen
Stored bitLength.
-
storunit
public static final ExpVector.StorUnit storunit
Used storage representation of exponent arrays. Note: Set this only statically and not dynamically.
-
-
Constructor Detail
-
ExpVector
public ExpVector()
Constructor for ExpVector.
-
-
Method Detail
-
create
public static final ExpVector create(int n)
Factory constructor for ExpVector.- Parameters:
n
- length of exponent vector.
-
create
public static final ExpVector create(int n, int i, long e)
Factory constructor for ExpVector. Sets exponent i to e.- Parameters:
n
- length of exponent vector.i
- index of exponent to be set.e
- exponent to be set.
-
create
public static final ExpVector create(long[] v)
Internal factory constructor for ExpVector. Sets val.- Parameters:
v
- internal representation array.
-
create
public static final ExpVector create(java.lang.String s)
Factory constructor for ExpVector. Converts a String representation to an ExpVector. Accepted format = (1,2,3,4,5,6,7).- Parameters:
s
- String representation.
-
create
public static final ExpVector create(java.util.Collection<java.lang.Long> v)
Factory constructor for ExpVector. Sets val.- Parameters:
v
- collection of exponents.
-
factory
public AbelianGroupFactory<ExpVector> factory()
Get the corresponding element factory.- Specified by:
factory
in interfaceElement<ExpVector>
- Returns:
- factory for this Element.
- See Also:
Element.factory()
-
isFinite
public boolean isFinite()
Is this structure finite or infinite.- Returns:
- true if this structure is finite, else false.
- See Also:
Note: returns true because of finite set of values in each index.
-
valueOf
public static ExpVector valueOf(ExpVector e)
Value of other.- Parameters:
e
- other ExpVector.- Returns:
- value in sub class of ExpVector.
-
getVal
public abstract long[] getVal()
Get the exponent vector.- Returns:
- val.
-
getVal
public abstract long getVal(int i)
Get the exponent at position i.- Parameters:
i
- position.- Returns:
- val[i].
-
setVal
protected abstract long setVal(int i, long e)
Set the exponent at position i to e.- Parameters:
i
-e
-- Returns:
- old val[i].
-
length
public abstract int length()
Get the length of this exponent vector.- Returns:
- val.length.
-
extend
public abstract ExpVector extend(int i, int j, long e)
Extend variables. Used e.g. in module embedding. Extend this by i elements and set val[j] to e.- Parameters:
i
- number of elements to extend.j
- index of element to be set.e
- new exponent for val[j].- Returns:
- extended exponent vector.
-
extendLower
public abstract ExpVector extendLower(int i, int j, long e)
Extend lower variables. Extend this by i lower elements and set val[j] to e.- Parameters:
i
- number of elements to extend.j
- index of element to be set.e
- new exponent for val[j].- Returns:
- extended exponent vector.
-
contract
public abstract ExpVector contract(int i, int len)
Contract variables. Used e.g. in module embedding. Contract this to len elements.- Parameters:
i
- position of first element to be copied.len
- new length.- Returns:
- contracted exponent vector.
-
reverse
public abstract ExpVector reverse()
Reverse variables. Used e.g. in opposite rings.- Returns:
- reversed exponent vector.
-
reverse
public abstract ExpVector reverse(int j)
Reverse lower j variables. Used e.g. in opposite rings. Reverses the first j-1 variables, the rest is unchanged.- Parameters:
j
- index of first variable reversed.- Returns:
- reversed exponent vector.
-
combine
public abstract ExpVector combine(ExpVector V)
Combine with ExpVector. Combine this with the other ExpVector V.- Parameters:
V
- the other exponent vector.- Returns:
- combined exponent vector.
-
permutation
public abstract ExpVector permutation(java.util.List<java.lang.Integer> P)
Permutation of exponent vector.- Parameters:
P
- permutation.- Returns:
- P(e).
-
toString
public java.lang.String toString()
Get the string representation.- Overrides:
toString
in classjava.lang.Object
- See Also:
Object.toString()
-
toString
public java.lang.String toString(java.lang.String[] vars)
Get the string representation with variable names.- Parameters:
vars
- names of variables.- See Also:
Object.toString()
-
varsToString
public static final java.lang.String varsToString(java.lang.String[] vars)
Get the string representation of the variables.- Parameters:
vars
- names of variables.- Returns:
- string representation of the variables.
- See Also:
Object.toString()
-
toScript
public java.lang.String toScript()
Get a scripting compatible string representation.- Specified by:
toScript
in interfaceElement<ExpVector>
- Returns:
- script compatible representation for this Element.
- See Also:
Element.toScript()
-
toScript
public java.lang.String toScript(java.lang.String[] vars)
Get a scripting compatible string representation.- Returns:
- script compatible representation for this Element.
- See Also:
Element.toScript()
-
toScriptFactory
public java.lang.String toScriptFactory()
Get a scripting compatible string representation of the factory.- Specified by:
toScriptFactory
in interfaceElement<ExpVector>
- Returns:
- script compatible representation for this ElemFactory.
- See Also:
Element.toScriptFactory()
-
indexVarName
public java.lang.String indexVarName(int idx, java.lang.String... vars)
Get the variable name at index.- Parameters:
idx
- index of the variablevars
- array of names of variables- Returns:
- name of variable at the given index.
-
varIndex
public int varIndex(int idx)
Get the array index of a variable at index.- Parameters:
idx
- index of the variable- Returns:
- array index of the variable.
-
indexVar
public int indexVar(java.lang.String x, java.lang.String... vars)
Get the index of a variable.- Parameters:
x
- variable name to be searched.vars
- array of names of variables- Returns:
- index of x in vars.
-
evaluate
public <C extends RingElem<C>> C evaluate(RingFactory<C> cf, java.util.List<C> a)
Evaluate.- Parameters:
cf
- ring factory for elements of a.a
- list of values.- Returns:
- a_1^{e_1} * ... * a_n^{e_n}.
-
equals
public boolean equals(java.lang.Object B)
Comparison with any other object.
-
hashCode
public int hashCode()
hashCode. Optimized for small exponents, i.e. ≤ 24 and small number of variables, i.e. ≤ 8.
-
bitLength
public long bitLength()
Returns the number of bits in the representation of this exponent vector.- Returns:
- number of bits in the representation of this ExpVector, including sign bits.
-
isZERO
public boolean isZERO()
Is ExpVector zero.- Specified by:
isZERO
in interfaceAbelianGroupElem<ExpVector>
- Returns:
- If this has all elements 0 then true is returned, else false.
-
stdVars
public java.lang.String[] stdVars()
Standard variable names. Generate standard names for variables, i.e. x0 to x(n-1).- Returns:
- standard names.
-
stdVars
public java.lang.String[] stdVars(java.lang.String prefix)
Generate variable names. Generate names for variables, i.e. prefix0 to prefix(n-1).- Parameters:
prefix
- name prefix.- Returns:
- standard names.
-
STDVARS
public static final java.lang.String[] STDVARS(int n)
Standard variable names. Generate standard names for variables, i.e. x0 to x(n-1).- Parameters:
n
- size of names array- Returns:
- standard names.
-
STDVARS
public static final java.lang.String[] STDVARS(java.lang.String prefix, int n)
Generate variable names. Generate names for variables from given prefix. i.e. prefix0 to prefix(n-1).- Parameters:
n
- size of names array.prefix
- name prefix.- Returns:
- vatiable names.
-
EVABS
public static final ExpVector EVABS(ExpVector U)
ExpVector absolute value.- Parameters:
U
-- Returns:
- abs(U).
-
abs
public abstract ExpVector abs()
ExpVector absolute value.- Specified by:
abs
in interfaceAbelianGroupElem<ExpVector>
- Returns:
- abs(this).
-
EVNEG
public static final ExpVector EVNEG(ExpVector U)
ExpVector negate.- Parameters:
U
-- Returns:
- -U.
-
negate
public abstract ExpVector negate()
ExpVector negate.- Specified by:
negate
in interfaceAbelianGroupElem<ExpVector>
- Returns:
- -this.
-
EVSUM
public static final ExpVector EVSUM(ExpVector U, ExpVector V)
ExpVector summation.- Parameters:
U
-V
-- Returns:
- U+V.
-
sum
public abstract ExpVector sum(ExpVector V)
ExpVector summation.- Specified by:
sum
in interfaceAbelianGroupElem<ExpVector>
- Parameters:
V
-- Returns:
- this+V.
-
EVDIF
public static final ExpVector EVDIF(ExpVector U, ExpVector V)
ExpVector difference. Result may have negative entries.- Parameters:
U
-V
-- Returns:
- U-V.
-
subtract
public abstract ExpVector subtract(ExpVector V)
ExpVector subtract. Result may have negative entries.- Specified by:
subtract
in interfaceAbelianGroupElem<ExpVector>
- Parameters:
V
-- Returns:
- this-V.
-
scalarMultiply
public abstract ExpVector scalarMultiply(long s)
ExpVector multiply by scalar.- Parameters:
s
- scalar- Returns:
- s*this.
-
EVSU
public static final ExpVector EVSU(ExpVector U, int i, long d)
ExpVector substitution. Clone and set exponent to d at position i.- Parameters:
U
-i
- position.d
- new exponent.- Returns:
- substituted ExpVector.
-
subst
public ExpVector subst(int i, long d)
ExpVector substitution. Clone and set exponent to d at position i.- Parameters:
i
- position.d
- new exponent.- Returns:
- substituted ExpVector.
-
EVRAND
public static final ExpVector EVRAND(int r, long k, float q)
Generate a random ExpVector.- Parameters:
r
- length of new ExpVector.k
- maximal degree in each exponent.q
- density of nozero exponents.- Returns:
- random ExpVector.
-
EVRAND
public static final ExpVector EVRAND(int r, long k, float q, java.util.Random rnd)
Generate a random ExpVector.- Parameters:
r
- length of new ExpVector.k
- maximal degree in each exponent.q
- density of nozero exponents.rnd
- is a source for random bits.- Returns:
- random ExpVector.
-
random
public static final ExpVector random(int r, long k, float q)
Generate a random ExpVector.- Parameters:
r
- length of new ExpVector.k
- maximal degree in each exponent.q
- density of nozero exponents.- Returns:
- random ExpVector.
-
random
public static final ExpVector random(int r, long k, float q, java.util.Random rnd)
Generate a random ExpVector.- Parameters:
r
- length of new ExpVector.k
- maximal degree in each exponent.q
- density of nozero exponents.rnd
- is a source for random bits.- Returns:
- random ExpVector.
-
EVSIGN
public static final int EVSIGN(ExpVector U)
ExpVector sign.- Parameters:
U
-- Returns:
- 0 if U is zero, -1 if some entry is negative, 1 if no entry is negative and at least one entry is positive.
-
signum
public abstract int signum()
ExpVector signum.- Specified by:
signum
in interfaceAbelianGroupElem<ExpVector>
- Returns:
- 0 if this is zero, -1 if some entry is negative, 1 if no entry is negative and at least one entry is positive.
-
EVTDEG
public static final long EVTDEG(ExpVector U)
ExpVector total degree.- Parameters:
U
-- Returns:
- sum of all exponents.
-
degree
public long degree()
ExpVector degree.- Returns:
- total degree of all exponents.
-
totalDeg
public abstract long totalDeg()
ExpVector total degree.- Returns:
- sum of all exponents.
-
EVMDEG
public static final long EVMDEG(ExpVector U)
ExpVector maximal degree.- Parameters:
U
-- Returns:
- maximal exponent.
-
maxDeg
public abstract long maxDeg()
ExpVector maximal degree.- Returns:
- maximal exponent.
-
EVMINDEG
public static final long EVMINDEG(ExpVector U)
ExpVector minimal degree.- Parameters:
U
-- Returns:
- minimal exponent.
-
minDeg
public abstract long minDeg()
ExpVector minimal degree.- Returns:
- minimal exponent.
-
EVWDEG
public static final long EVWDEG(long[][] w, ExpVector U)
ExpVector weighted degree.- Parameters:
w
- weights.U
-- Returns:
- weighted sum of all exponents.
-
weightDeg
public abstract long weightDeg(long[][] w)
ExpVector weighted degree.- Parameters:
w
- weights.- Returns:
- weighted sum of all exponents.
-
weightDeg
public abstract long weightDeg(long[] w)
ExpVector weighted degree.- Parameters:
w
- weights.- Returns:
- weighted sum of all exponents.
-
EVLCM
public static final ExpVector EVLCM(ExpVector U, ExpVector V)
ExpVector least common multiple.- Parameters:
U
-V
-- Returns:
- component wise maximum of U and V.
-
lcm
public abstract ExpVector lcm(ExpVector V)
ExpVector least common multiple.- Parameters:
V
-- Returns:
- component wise maximum of this and V.
-
EVGCD
public static final ExpVector EVGCD(ExpVector U, ExpVector V)
ExpVector greatest common divisor.- Parameters:
U
-V
-- Returns:
- component wise minimum of U and V.
-
gcd
public abstract ExpVector gcd(ExpVector V)
ExpVector greatest common divisor.- Parameters:
V
-- Returns:
- component wise minimum of this and V.
-
EVDOV
public static final int[] EVDOV(ExpVector U)
ExpVector dependency on variables.- Parameters:
U
-- Returns:
- array of indices where U has positive exponents.
-
dependentVariables
public abstract int dependentVariables()
ExpVector dependent variables.- Returns:
- number of indices where val has positive exponents.
-
dependencyOnVariables
public abstract int[] dependencyOnVariables()
ExpVector dependency on variables.- Returns:
- array of indices where val has positive exponents.
-
EVMT
public static final boolean EVMT(ExpVector U, ExpVector V)
ExpVector multiple test. Test if U is component wise greater or equal to V.- Parameters:
U
-V
-- Returns:
- true if U is a multiple of V, else false.
-
multipleOf
public abstract boolean multipleOf(ExpVector V)
ExpVector multiple test. Test if this is component wise greater or equal to V.- Parameters:
V
-- Returns:
- true if this is a multiple of V, else false.
-
divides
public boolean divides(ExpVector V)
ExpVector divides test. Test if V is component wise greater or equal to this.- Parameters:
V
-- Returns:
- true if this divides V, else false.
-
EVILCP
public static final int EVILCP(ExpVector U, ExpVector V)
Inverse lexicographical compare.- Parameters:
U
-V
-- Returns:
- 0 if U == V, -1 if U < V, 1 if U > V.
-
invLexCompareTo
public abstract int invLexCompareTo(ExpVector V)
ExpVector inverse lexicographical compareTo.- Parameters:
V
-- Returns:
- 0 if U == V, -1 if U < V, 1 if U > V.
-
EVILCP
public static final int EVILCP(ExpVector U, ExpVector V, int begin, int end)
Inverse lexicographical compare part. Compare entries between begin and end (-1).- Parameters:
U
-V
-begin
-end
-- Returns:
- 0 if U == V, -1 if U < V, 1 if U > V.
-
invLexCompareTo
public abstract int invLexCompareTo(ExpVector V, int begin, int end)
ExpVector inverse lexicographical compareTo.- Parameters:
V
-begin
-end
-- Returns:
- 0 if U == V, -1 if U < V, 1 if U > V.
-
EVIGLC
public static final int EVIGLC(ExpVector U, ExpVector V)
Inverse graded lexicographical compare.- Parameters:
U
-V
-- Returns:
- 0 if U == V, -1 if U < V, 1 if U > V.
-
invGradCompareTo
public abstract int invGradCompareTo(ExpVector V)
ExpVector inverse graded lexicographical compareTo.- Parameters:
V
-- Returns:
- 0 if U == V, -1 if U < V, 1 if U > V.
-
EVIGLC
public static final int EVIGLC(ExpVector U, ExpVector V, int begin, int end)
Inverse graded lexicographical compare part. Compare entries between begin and end (-1).- Parameters:
U
-V
-begin
-end
-- Returns:
- 0 if U == V, -1 if U < V, 1 if U > V.
-
invGradCompareTo
public abstract int invGradCompareTo(ExpVector V, int begin, int end)
ExpVector inverse graded lexicographical compareTo.- Parameters:
V
-begin
-end
-- Returns:
- 0 if U == V, -1 if U < V, 1 if U > V.
-
EVRILCP
public static final int EVRILCP(ExpVector U, ExpVector V)
Reverse inverse lexicographical compare.- Parameters:
U
-V
-- Returns:
- 0 if U == V, -1 if U < V, 1 if U > V.
-
revInvLexCompareTo
public abstract int revInvLexCompareTo(ExpVector V)
ExpVector reverse inverse lexicographical compareTo.- Parameters:
V
-- Returns:
- 0 if U == V, -1 if U < V, 1 if U > V.
-
EVRILCP
public static final int EVRILCP(ExpVector U, ExpVector V, int begin, int end)
Reverse inverse lexicographical compare part. Compare entries between begin and end (-1).- Parameters:
U
-V
-begin
-end
-- Returns:
- 0 if U == V, -1 if U < V, 1 if U > V.
-
revInvLexCompareTo
public abstract int revInvLexCompareTo(ExpVector V, int begin, int end)
ExpVector reverse inverse lexicographical compareTo.- Parameters:
V
-begin
-end
-- Returns:
- 0 if U == V, -1 if U < V, 1 if U > V.
-
EVRIGLC
public static final int EVRIGLC(ExpVector U, ExpVector V)
Reverse inverse graded lexicographical compare.- Parameters:
U
-V
-- Returns:
- 0 if U == V, -1 if U < V, 1 if U > V.
-
revInvGradCompareTo
public abstract int revInvGradCompareTo(ExpVector V)
ExpVector reverse inverse graded compareTo.- Parameters:
V
-- Returns:
- 0 if U == V, -1 if U < V, 1 if U > V.
-
EVRIGLC
public static final int EVRIGLC(ExpVector U, ExpVector V, int begin, int end)
Reverse inverse graded lexicographical compare part. Compare entries between begin and end (-1).- Parameters:
U
-V
-begin
-end
-- Returns:
- 0 if U == V, -1 if U < V, 1 if U > V.
-
revInvGradCompareTo
public abstract int revInvGradCompareTo(ExpVector V, int begin, int end)
ExpVector reverse inverse graded compareTo.- Parameters:
V
-begin
-end
-- Returns:
- 0 if U == V, -1 if U < V, 1 if U > V.
-
EVITDEGLC
public static final int EVITDEGLC(ExpVector U, ExpVector V)
Inverse total degree lexicographical compare.- Parameters:
U
-V
-- Returns:
- 0 if U == V, -1 if U < V, 1 if U > V.
-
invTdegCompareTo
public abstract int invTdegCompareTo(ExpVector V)
ExpVector inverse total degree lexicographical compareTo.- Parameters:
V
-- Returns:
- 0 if U == V, -1 if U < V, 1 if U > V.
-
EVRLITDEGC
public static final int EVRLITDEGC(ExpVector U, ExpVector V)
Reverse lexicographical inverse total degree compare.- Parameters:
U
-V
-- Returns:
- 0 if U == V, -1 if U < V, 1 if U > V.
-
revLexInvTdegCompareTo
public abstract int revLexInvTdegCompareTo(ExpVector V)
ExpVector reverse lexicographical inverse total degree compareTo.- Parameters:
V
-- Returns:
- 0 if U == V, -1 if U < V, 1 if U > V.
-
EVIWLC
public static final int EVIWLC(long[][] w, ExpVector U, ExpVector V)
Inverse weighted lexicographical compare.- Parameters:
w
- weight array.U
-V
-- Returns:
- 0 if U == V, -1 if U < V, 1 if U > V.
-
invWeightCompareTo
public abstract int invWeightCompareTo(long[][] w, ExpVector V)
ExpVector inverse weighted lexicographical compareTo.- Parameters:
w
- weight array.V
-- Returns:
- 0 if U == V, -1 if U < V, 1 if U > V.
-
EVIWLC
public static final int EVIWLC(long[][] w, ExpVector U, ExpVector V, int begin, int end)
Inverse weighted lexicographical compare part. Compare entries between begin and end (-1).- Parameters:
w
- weight array.U
-V
-begin
-end
-- Returns:
- 0 if U == V, -1 if U < V, 1 if U > V.
-
invWeightCompareTo
public abstract int invWeightCompareTo(long[][] w, ExpVector V, int begin, int end)
ExpVector inverse weighted lexicographical compareTo.- Parameters:
w
- weight array.V
-begin
-end
-- Returns:
- 0 if U == V, -1 if U < V, 1 if U > V.
-
-