public abstract class AMonomial<Term extends AMonomial<Term>> extends DegreeVector
MonomialZp64
and Monomial
.
Instances are immutable. Algebraic operations on monomials (multiplication and division) are specified in IMonomialAlgebra
.DegreeVector
,
IMonomialAlgebra
,
Serialized Formexponents, totalDegree
Modifier | Constructor and Description |
---|---|
protected |
AMonomial(DegreeVector degreeVector) |
protected |
AMonomial(int[] exponents) |
protected |
AMonomial(int[] exponents,
int totalDegree) |
Modifier and Type | Method and Description |
---|---|
Term |
divideOrNull(DegreeVector divider)
Gives quotient
this / oth or null if exact division is not possible (e.g. |
Term |
divideOrNull(int[] divider)
Gives quotient
this / oth or null if exact division is not possible (e.g. |
Term |
dropSelect(int[] variables)
Picks only specified exponents
|
DegreeVector |
dv()
Drop the coefficient
|
String |
dvToString() |
String |
dvToString(String[] vars) |
abstract Term |
forceSetDegreeVector(int[] exponents,
int totalDegree)
Sets the degree vector
|
Term |
insert(int variable)
Inserts new variable (with zero exponent)
|
Term |
insert(int variable,
int count)
Inserts new variables (with zero exponent)
|
Term |
joinNewVariable()
Joins new variable (with zero exponent) to degree vector
|
Term |
joinNewVariables(int n)
Joins new variables (with zero exponents) to degree vector
|
Term |
joinNewVariables(int newNVariables,
int[] mapping)
internal API
|
Term |
map(int nVariables,
int[] mapping)
Renames old variables to new according to mapping
|
Term |
multiply(DegreeVector oth)
Multiplies this by oth
|
Term |
multiply(int[] oth)
Multiplies this by oth
|
Term |
range(int from,
int to)
Selects range from this
|
Term |
select(int var)
Sets exponents of all variables except the specified variable to zero
|
Term |
select(int[] variables)
Set's exponents of all variables except specified variables to zero
|
Term |
set(int variable,
int exponent)
Set's exponent of specified variable to specified value
|
abstract Term |
setCoefficientFrom(Term oth)
Sets coefficient of this with coefficient of oth
|
abstract Term |
setDegreeVector(DegreeVector oth)
Sets the degree vector
|
Term |
setDegreeVector(int[] exponents)
Sets the degree vector
|
abstract Term |
setDegreeVector(int[] exponents,
int totalDegree)
Sets the degree vector
|
Term |
setNVariables(int n)
Sets the number of variables
|
Term |
setZero(int var)
Set exponent of specified
var to zero |
Term |
setZero(int[] variables)
Set exponents of specified variables to zero
|
Term |
toZero()
Set all exponents to zero
|
Term |
without(int variable)
Drops specified variable (number of variables will be reduced)
|
Term |
without(int[] variables)
Drops specified variables (number of variables will be reduced)
|
dvDivideExact, dvDivideExact, dvDivideOrNull, dvDivideOrNull, dvDivideOrNull, dvDivisibleBy, dvDivisibleBy, dvDropSelect, dvEquals, dvInsert, dvInsert, dvJoinNewVariable, dvJoinNewVariables, dvJoinNewVariables, dvMap, dvMultiply, dvMultiply, dvMultiply, dvRange, dvSelect, dvSelect, dvSet, dvSetNVariables, dvSetZero, dvSetZero, dvTotalDegree, dvWithout, dvWithout, equals, hashCode, isZeroVector, nVariables, toString, toString, toStringArray
protected AMonomial(int[] exponents, int totalDegree)
exponents
- exponentstotalDegree
- total degree (sum of exponents)protected AMonomial(int[] exponents)
exponents
- exponentsprotected AMonomial(DegreeVector degreeVector)
degreeVector
- DegreeVectorpublic final DegreeVector dv()
dv
in class DegreeVector
public abstract Term setCoefficientFrom(Term oth)
public abstract Term setDegreeVector(DegreeVector oth)
public abstract Term setDegreeVector(int[] exponents, int totalDegree)
public abstract Term forceSetDegreeVector(int[] exponents, int totalDegree)
public final Term setDegreeVector(int[] exponents)
public final Term multiply(DegreeVector oth)
public final Term multiply(int[] oth)
public final Term divideOrNull(DegreeVector divider)
this / oth
or null if exact division is not possible (e.g. a^2*b^3 / a^3*b^5)public final Term divideOrNull(int[] divider)
this / oth
or null if exact division is not possible (e.g. a^2*b^3 / a^3*b^5)public final Term joinNewVariable()
public final Term joinNewVariables(int n)
public final Term joinNewVariables(int newNVariables, int[] mapping)
public final Term setNVariables(int n)
public final Term select(int var)
public final Term select(int[] variables)
public final Term dropSelect(int[] variables)
public final Term range(int from, int to)
from
- from inclusiveto
- to exclusivepublic final Term setZero(int var)
var
to zeropublic final Term toZero()
public final Term setZero(int[] variables)
public final Term without(int variable)
public final Term without(int[] variables)
public final Term insert(int variable)
public final Term insert(int variable, int count)
public final Term map(int nVariables, int[] mapping)
nVariables
- new total number of variablesmapping
- mapping from old variables to new variablespublic final Term set(int variable, int exponent)
variable
- the variableexponent
- new exponentpublic final String dvToString()
Copyright © 2018. All rights reserved.