public class DegreeVector extends Object implements Serializable
DegreeVector
methods are
prefixed with "dv" (which expands to "degree vector"), which means that they affect only exponents (not the
coefficients).AMonomial
,
Serialized FormModifier and Type | Field and Description |
---|---|
int[] |
exponents
exponents
|
int |
totalDegree
Sum of all exponents (total degree)
|
Constructor and Description |
---|
DegreeVector(int[] exponents) |
DegreeVector(int[] exponents,
int totalDegree) |
Modifier and Type | Method and Description |
---|---|
DegreeVector |
dv() |
DegreeVector |
dvDivideExact(DegreeVector divider)
Gives quotient
this / oth or throws ArithmeticException if exact division is not possible (e.g. |
DegreeVector |
dvDivideExact(int[] divider)
Gives quotient
this / oth or throws ArithmeticException if exact division is not possible (e.g. |
DegreeVector |
dvDivideOrNull(DegreeVector divider)
Gives quotient
this / oth or null if exact division is not possible (e.g. |
DegreeVector |
dvDivideOrNull(int[] divider)
Gives quotient
this / oth or null if exact division is not possible (e.g. |
DegreeVector |
dvDivideOrNull(int variable,
int exponent)
Divides this by variable^exponent
|
boolean |
dvDivisibleBy(DegreeVector oth)
Tests whether this can be divided by
oth degree vector |
boolean |
dvDivisibleBy(int[] oth)
Tests whether this can be divided by
oth degree vector |
DegreeVector |
dvDropSelect(int[] variables)
Picks only specified exponents
|
boolean |
dvEquals(DegreeVector dVector) |
DegreeVector |
dvInsert(int variable)
Inserts new variable
|
DegreeVector |
dvInsert(int variable,
int count)
Inserts new variables
|
DegreeVector |
dvJoinNewVariable()
Joins new variable (with zero exponent) to degree vector
|
DegreeVector |
dvJoinNewVariables(int n)
Joins new variables (with zero exponents) to degree vector
|
DegreeVector |
dvJoinNewVariables(int newNVariables,
int[] mapping)
internal API
|
DegreeVector |
dvMap(int nVariables,
int[] mapping)
Creates degree vector with old variables renamed to specified mapping variables
|
DegreeVector |
dvMultiply(DegreeVector oth)
Multiplies this by oth
|
DegreeVector |
dvMultiply(int[] oth)
Multiplies this by oth
|
DegreeVector |
dvMultiply(int variable,
int exponent)
Multiplies this by variable^exponent
|
DegreeVector |
dvRange(int from,
int to)
Selects range from this
|
DegreeVector |
dvSelect(int var)
Sets exponents of all variables except the specified variable to zero
|
DegreeVector |
dvSelect(int[] variables)
Set's exponents of all variables except specified variables to zero
|
DegreeVector |
dvSet(int variable,
int exponent)
Set's exponent of specified variable to specified value
|
DegreeVector |
dvSetNVariables(int n)
Sets the number of variables
|
DegreeVector |
dvSetZero(int var)
Set exponent of specified
var to zero |
DegreeVector |
dvSetZero(int[] variables)
Set exponents of specified variables to zero
|
int |
dvTotalDegree(int... variables)
Returns the total degree in specified variables
|
DegreeVector |
dvWithout(int variable)
Drops specified variable (number of variables will be reduced)
|
DegreeVector |
dvWithout(int[] variables)
Drops specified variables (number of variables will be reduced)
|
boolean |
equals(Object o) |
int |
hashCode() |
boolean |
isZeroVector()
Returns whether all exponents are zero
|
int |
nVariables()
Returns number of variables
|
String |
toString() |
String |
toString(String[] vars)
String representation of this monomial with specified string names for variables
|
String |
toStringArray() |
public final int[] exponents
public final int totalDegree
public DegreeVector(int[] exponents, int totalDegree)
exponents
- exponentstotalDegree
- total degree (sum of exponents)public DegreeVector(int[] exponents)
exponents
- exponentspublic final int nVariables()
public final boolean isZeroVector()
public DegreeVector dv()
public final int dvTotalDegree(int... variables)
public final DegreeVector dvMultiply(DegreeVector oth)
public final DegreeVector dvMultiply(int[] oth)
public final DegreeVector dvMultiply(int variable, int exponent)
public final DegreeVector dvDivideOrNull(int variable, int exponent)
public final DegreeVector dvDivideOrNull(DegreeVector divider)
this / oth
or null if exact division is not possible (e.g. a^2*b^3 / a^3*b^5)public final DegreeVector dvDivideOrNull(int[] divider)
this / oth
or null if exact division is not possible (e.g. a^2*b^3 / a^3*b^5)public final DegreeVector dvDivideExact(DegreeVector divider)
this / oth
or throws ArithmeticException
if exact division is not possible (e.g.
a^2*b^3 / a^3*b^5)public final DegreeVector dvDivideExact(int[] divider)
this / oth
or throws ArithmeticException
if exact division is not possible (e.g.
a^2*b^3 / a^3*b^5)public final boolean dvDivisibleBy(int[] oth)
oth
degree vectorpublic final boolean dvDivisibleBy(DegreeVector oth)
oth
degree vectorpublic final DegreeVector dvJoinNewVariable()
public final DegreeVector dvJoinNewVariables(int n)
public final DegreeVector dvJoinNewVariables(int newNVariables, int[] mapping)
public final DegreeVector dvSetNVariables(int n)
public final DegreeVector dvSelect(int var)
public final DegreeVector dvSelect(int[] variables)
public final DegreeVector dvDropSelect(int[] variables)
public final DegreeVector dvRange(int from, int to)
from
- from inclusiveto
- to exclusivepublic final DegreeVector dvSetZero(int var)
var
to zeropublic final DegreeVector dvSetZero(int[] variables)
public final DegreeVector dvWithout(int variable)
public final DegreeVector dvWithout(int[] variables)
public final DegreeVector dvInsert(int variable)
public final DegreeVector dvInsert(int variable, int count)
public final DegreeVector dvSet(int variable, int exponent)
variable
- the variableexponent
- new exponentpublic final DegreeVector dvMap(int nVariables, int[] mapping)
nVariables
- new total number of variablesmapping
- mapping from old variables to new variablespublic final String toString(String[] vars)
vars
- string names of variablespublic final String toStringArray()
public final boolean dvEquals(DegreeVector dVector)
Copyright © 2018. All rights reserved.