public abstract class ExpVector extends java.lang.Object implements AbelianGroupElem<ExpVector>
ExpVectorLong ExpVectorInteger,
ExpVectorShort and ExpVectorByte. The static
factory methods create() of ExpVector select the
respective storage unit. The selection of the desired storage unit is
internally done via the static variable storunit. This varaible
should not be changed dynamically.| Modifier and Type | Class and Description |
|---|---|
static class |
ExpVector.StorUnit
Storage representation of exponent arrays.
|
| Modifier and Type | Field and Description |
|---|---|
protected long |
blen
Stored bitLength.
|
protected int |
hash
Stored hash code.
|
static ExpVector.StorUnit |
storunit
Used storage representation of exponent arrays.
|
| Constructor and Description |
|---|
ExpVector()
Constructor for ExpVector.
|
| Modifier and Type | Method and 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(java.util.Collection<java.lang.Long> v)
Factory constructor for ExpVector.
|
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.
|
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>> |
evaluate(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.
|
static java.lang.String[] |
STDVARS(int n)
Standard variable names.
|
java.lang.String[] |
stdVars(java.lang.String prefix)
Generate 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.
|
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.
|
protected transient int hash
protected transient long blen
public static final ExpVector.StorUnit storunit
public ExpVector()
public static final ExpVector create(int n)
n - length of exponent vector.public static final ExpVector create(int n, int i, long e)
n - length of exponent vector.i - index of exponent to be set.e - exponent to be set.public static final ExpVector create(long[] v)
v - internal representation array.public static final ExpVector create(java.lang.String s)
s - String representation.public static final ExpVector create(java.util.Collection<java.lang.Long> v)
v - collection of exponents.public AbelianGroupFactory<ExpVector> factory()
factory in interface Element<ExpVector>Element.factory()public boolean isFinite()
Note: returns true
because of finite set of values in each index.public abstract long[] getVal()
public abstract long getVal(int i)
i - position.protected abstract long setVal(int i, long e)
i - e - public abstract int length()
public abstract ExpVector extend(int i, int j, long e)
i - number of elements to extend.j - index of element to be set.e - new exponent for val[j].public abstract ExpVector extendLower(int i, int j, long e)
i - number of elements to extend.j - index of element to be set.e - new exponent for val[j].public abstract ExpVector contract(int i, int len)
i - position of first element to be copied.len - new length.public abstract ExpVector reverse()
public abstract ExpVector reverse(int j)
j - index of first variable reversed.public abstract ExpVector combine(ExpVector V)
V - the other exponent vector.public abstract ExpVector permutation(java.util.List<java.lang.Integer> P)
P - permutation.public java.lang.String toString()
toString in class java.lang.ObjectObject.toString()public java.lang.String toString(java.lang.String[] vars)
vars - names of variables.Object.toString()public static final java.lang.String varsToString(java.lang.String[] vars)
vars - names of variables.Object.toString()public java.lang.String toScript()
toScript in interface Element<ExpVector>Element.toScript()public java.lang.String toScript(java.lang.String[] vars)
Element.toScript()public java.lang.String toScriptFactory()
toScriptFactory in interface Element<ExpVector>Element.toScriptFactory()public java.lang.String indexVarName(int idx, java.lang.String... vars)
idx - index of the variablevars - array of names of variablespublic int varIndex(int idx)
idx - index of the variablepublic int indexVar(java.lang.String x, java.lang.String... vars)
x - variable name to be searched.vars - array of names of variablespublic <C extends RingElem<C>> C evaluate(RingFactory<C> cf, java.util.List<C> a)
cf - ring factory for elements of a.a - list of values.public boolean equals(java.lang.Object B)
public int hashCode()
public long bitLength()
public boolean isZERO()
isZERO in interface AbelianGroupElem<ExpVector>public java.lang.String[] stdVars()
public java.lang.String[] stdVars(java.lang.String prefix)
prefix - name prefix.public static final java.lang.String[] STDVARS(int n)
n - size of names arraypublic static final java.lang.String[] STDVARS(java.lang.String prefix, int n)
n - size of names array.prefix - name prefix.public static final ExpVector EVABS(ExpVector U)
U - public abstract ExpVector abs()
abs in interface AbelianGroupElem<ExpVector>public static final ExpVector EVNEG(ExpVector U)
U - public abstract ExpVector negate()
negate in interface AbelianGroupElem<ExpVector>public static final ExpVector EVSUM(ExpVector U, ExpVector V)
U - V - public abstract ExpVector sum(ExpVector V)
sum in interface AbelianGroupElem<ExpVector>V - public static final ExpVector EVDIF(ExpVector U, ExpVector V)
U - V - public abstract ExpVector subtract(ExpVector V)
subtract in interface AbelianGroupElem<ExpVector>V - public abstract ExpVector scalarMultiply(long s)
s - scalarpublic static final ExpVector EVSU(ExpVector U, int i, long d)
U - i - position.d - new exponent.public ExpVector subst(int i, long d)
i - position.d - new exponent.public static final ExpVector EVRAND(int r, long k, float q)
r - length of new ExpVector.k - maximal degree in each exponent.q - density of nozero exponents.public static final ExpVector EVRAND(int r, long k, float q, java.util.Random rnd)
r - length of new ExpVector.k - maximal degree in each exponent.q - density of nozero exponents.rnd - is a source for random bits.public static final ExpVector random(int r, long k, float q)
r - length of new ExpVector.k - maximal degree in each exponent.q - density of nozero exponents.public static final ExpVector random(int r, long k, float q, java.util.Random rnd)
r - length of new ExpVector.k - maximal degree in each exponent.q - density of nozero exponents.rnd - is a source for random bits.public static final int EVSIGN(ExpVector U)
U - public abstract int signum()
signum in interface AbelianGroupElem<ExpVector>public static final long EVTDEG(ExpVector U)
U - public long degree()
public abstract long totalDeg()
public static final long EVMDEG(ExpVector U)
U - public abstract long maxDeg()
public static final long EVMINDEG(ExpVector U)
U - public abstract long minDeg()
public static final long EVWDEG(long[][] w, ExpVector U)
w - weights.U - public abstract long weightDeg(long[][] w)
w - weights.public abstract long weightDeg(long[] w)
w - weights.public static final ExpVector EVLCM(ExpVector U, ExpVector V)
U - V - public abstract ExpVector lcm(ExpVector V)
V - public static final ExpVector EVGCD(ExpVector U, ExpVector V)
U - V - public abstract ExpVector gcd(ExpVector V)
V - public static final int[] EVDOV(ExpVector U)
U - public abstract int dependentVariables()
public abstract int[] dependencyOnVariables()
public static final boolean EVMT(ExpVector U, ExpVector V)
U - V - public abstract boolean multipleOf(ExpVector V)
V - public boolean divides(ExpVector V)
V - public static final int EVILCP(ExpVector U, ExpVector V)
U - V - public abstract int invLexCompareTo(ExpVector V)
V - public static final int EVILCP(ExpVector U, ExpVector V, int begin, int end)
U - V - begin - end - public abstract int invLexCompareTo(ExpVector V, int begin, int end)
V - begin - end - public static final int EVIGLC(ExpVector U, ExpVector V)
U - V - public abstract int invGradCompareTo(ExpVector V)
V - public static final int EVIGLC(ExpVector U, ExpVector V, int begin, int end)
U - V - begin - end - public abstract int invGradCompareTo(ExpVector V, int begin, int end)
V - begin - end - public static final int EVRILCP(ExpVector U, ExpVector V)
U - V - public abstract int revInvLexCompareTo(ExpVector V)
V - public static final int EVRILCP(ExpVector U, ExpVector V, int begin, int end)
U - V - begin - end - public abstract int revInvLexCompareTo(ExpVector V, int begin, int end)
V - begin - end - public static final int EVRIGLC(ExpVector U, ExpVector V)
U - V - public abstract int revInvGradCompareTo(ExpVector V)
V - public static final int EVRIGLC(ExpVector U, ExpVector V, int begin, int end)
U - V - begin - end - public abstract int revInvGradCompareTo(ExpVector V, int begin, int end)
V - begin - end - public static final int EVITDEGLC(ExpVector U, ExpVector V)
U - V - public abstract int invTdegCompareTo(ExpVector V)
V - public static final int EVRLITDEGC(ExpVector U, ExpVector V)
U - V - public abstract int revLexInvTdegCompareTo(ExpVector V)
V - public static final int EVIWLC(long[][] w, ExpVector U, ExpVector V)
w - weight array.U - V - public abstract int invWeightCompareTo(long[][] w, ExpVector V)
w - weight array.V - public static final int EVIWLC(long[][] w, ExpVector U, ExpVector V, int begin, int end)
w - weight array.U - V - begin - end - public abstract int invWeightCompareTo(long[][] w, ExpVector V, int begin, int end)
w - weight array.V - begin - end -