Package cc.redberry.rings.poly.multivar
Class MultivariatePolynomialZp64
- java.lang.Object
-
- cc.redberry.rings.poly.multivar.AMultivariatePolynomial<MonomialZp64,MultivariatePolynomialZp64>
-
- cc.redberry.rings.poly.multivar.MultivariatePolynomialZp64
-
- All Implemented Interfaces:
Stringifiable<MultivariatePolynomialZp64>,IPolynomial<MultivariatePolynomialZp64>,Serializable,Comparable<MultivariatePolynomialZp64>,Iterable<MonomialZp64>
public final class MultivariatePolynomialZp64 extends AMultivariatePolynomial<MonomialZp64,MultivariatePolynomialZp64>
Multivariate polynomial over Zp ring with the modulus in the range (0, 2^62) (seeMachineArithmetic.MAX_SUPPORTED_MODULUS). For details on polynomial data structure and properties seeAMultivariatePolynomial.- Since:
- 1.0
- See Also:
AMultivariatePolynomial, Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classMultivariatePolynomialZp64.HornerFormZp64A representation of multivariate polynomial specifically optimized for fast evaluation of given variablesstatic classMultivariatePolynomialZp64.lPrecomputedPowerscached powers used to save some timestatic classMultivariatePolynomialZp64.lPrecomputedPowersHolderholds an array of precomputed powers-
Nested classes/interfaces inherited from class cc.redberry.rings.poly.multivar.AMultivariatePolynomial
AMultivariatePolynomial.PolynomialCollector<Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>>
-
-
Field Summary
Fields Modifier and Type Field Description IntegersZp64ringThe ring.-
Fields inherited from class cc.redberry.rings.poly.multivar.AMultivariatePolynomial
monomialAlgebra, nVariables, ordering
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description MultivariatePolynomialZp64add(long oth)Addsothto this polynomial and returns itstatic MultivariatePolynomialZp64asMultivariate(UnivariatePolynomialZp64 poly, int nVariables, int variable, Comparator<DegreeVector> ordering)Converts univariate polynomial to multivariate.static MultivariatePolynomialZp64asNormalMultivariate(MultivariatePolynomial<MultivariatePolynomialZp64> poly)Converts multivariate polynomial over multivariate polynomial ring to a multivariate polynomial over coefficient ringstatic MultivariatePolynomialZp64asNormalMultivariate(MultivariatePolynomial<MultivariatePolynomialZp64> poly, int[] coefficientVariables, int[] mainVariables)Converts multivariate polynomial over multivariate polynomial ring to a multivariate polynomial over coefficient ringstatic MultivariatePolynomialZp64asNormalMultivariate(MultivariatePolynomial<UnivariatePolynomialZp64> poly, int variable)Converts multivariate polynomial over univariate polynomial ring (Zp[variable][other_variables]) to a multivariate polynomial over coefficient ring (Zp[all_variables])MultivariatePolynomial<MultivariatePolynomialZp64>asOverMultivariate(int... variables)Converts this to a multivariate polynomial with coefficients being multivariate polynomials polynomials overvariablesthat is polynomial in R[variables][other_variables]MultivariatePolynomial<MultivariatePolynomialZp64>asOverMultivariateEliminate(int[] variables, Comparator<DegreeVector> ordering)Converts this to a multivariate polynomial with coefficients being multivariate polynomials polynomials overvariablesthat is polynomial in R[variables][other_variables]MultivariatePolynomial<UnivariatePolynomialZp64>asOverUnivariate(int variable)Converts this to a multivariate polynomial with coefficients being univariate polynomials overvariableMultivariatePolynomial<UnivariatePolynomialZp64>asOverUnivariateEliminate(int variable)Converts this to a multivariate polynomial with coefficients being univariate polynomials overvariable, the resulting polynomial have (nVariable - 1) multivariate variables (specifiedvariableis eliminated)MultivariatePolynomial<BigInteger>asPolyZ()Returns polynomial over Z formed from the coefficients of thisMultivariatePolynomial<BigInteger>asPolyZSymmetric()Returns polynomial over Z formed from the coefficients of this represented in symmetric modular form (-modulus/2 <= cfx <= modulus/2).UnivariatePolynomialZp64asUnivariate()Converts this to univariate polynomial or throws exception if conversion is impossible (more than one variable have non zero exponents)longcc()Returns the constant coefficient of this polynomial.MultivariatePolynomialZp64ccAsPoly()Returns the constant coefficient as a constant polyMultivariatePolynomialZp64clone()Deep copy of thisBigIntegercoefficientRingCardinality()Returns cardinality of the coefficient ring of this polyBigIntegercoefficientRingCharacteristic()Returns characteristic of the coefficient ring of this polyBigIntegercoefficientRingPerfectPowerBase()Returnsbaseso thatcoefficientRingCardinality() == base^exponentor null if cardinality is not finiteBigIntegercoefficientRingPerfectPowerExponent()Returnsexponentso thatcoefficientRingCardinality() == base^exponentor null if cardinality is not finiteStringcoefficientRingToString(IStringifier<MultivariatePolynomialZp64> stringifier)String representation of the coefficient ring of thislong[]coefficients()Returns array of polynomial coefficientsintcompareTo(MultivariatePolynomialZp64 oth)longcontent()Returns the content of this polynomial.MultivariatePolynomialZp64contentAsPoly()Returns the content of this (gcd of coefficients) as a constant polyUnivariatePolynomialZp64contentUnivariate(int variable)Gives the content of this considered as R[variable][other_variables]static MultivariatePolynomialZp64create(int nVariables, IntegersZp64 ring, Comparator<DegreeVector> ordering, MonomialSet<MonomialZp64> terms)Creates multivariate polynomial from a set of monomialsstatic MultivariatePolynomialZp64create(int nVariables, IntegersZp64 ring, Comparator<DegreeVector> ordering, MonomialZp64... terms)Creates multivariate polynomial from a list of monomial termsstatic MultivariatePolynomialZp64create(int nVariables, IntegersZp64 ring, Comparator<DegreeVector> ordering, Iterable<MonomialZp64> terms)Creates multivariate polynomial from a list of monomial termsMultivariatePolynomialZp64[]createArray(int length)overcome Java generics...MultivariatePolynomialZp64[][]createArray2d(int length)overcome Java generics...MultivariatePolynomialZp64[][]createArray2d(int length1, int length2)overcome Java generics...MultivariatePolynomialZp64createConstant(long val)Creates constant polynomial with specified valueMultivariatePolynomialZp64createConstantFromTerm(MonomialZp64 monomial)Creates multivariate polynomial over the same ring as this with the single constant element taken from given monomialMultivariatePolynomialZp64createLinear(int variable, long cc, long lc)Creates linear polynomial of the formcc + lc * variableMultivariatePolynomialZp64createOne()Returns the new instance of unit polynomial (with the same coefficient ring)MultivariatePolynomialZp64createZero()Returns the new instance of zero polynomial (with the same coefficient ring)MultivariatePolynomialZp64decrement()Subtracts 1 from thisMultivariatePolynomialZp64derivative(int variable, int order)Gives partial derivative of specifiedorderwith respect to specified variable (new instance created)MultivariatePolynomialZp64divide(long factor)Divides this polynomial by afactorMultivariatePolynomialZp64divideByLC(MultivariatePolynomialZp64 other)Divides this polynomial by the leading coefficient ofotheror returnsnull(causing loss of internal data) if some of the elements can't be exactly divided by theother.lc().MultivariatePolynomialZp64divideOrNull(MonomialZp64 monomial)Divides this polynomial by amonomialor returnsnull(causing loss of internal data) if some of the elements can't be exactly divided by themonomial.MultivariatePolynomialZp64eliminate(int[] variables, long[] values)Returns a copy of this withvaluessubstituted forvariablesMultivariatePolynomialZp64eliminate(int variable, long value)Substitutesvalueforvariableand eliminatesvariablefrom the list of variables so that the resulting polynomial hasresult.nVariables = this.nVariables - 1.MultivariatePolynomialZp64evaluate(int[] variables, long[] values)Returns a copy of this withvaluessubstituted forvariablesMultivariatePolynomialZp64evaluate(int variable, long value)Returns a copy of this withvaluesubstituted forvariableMultivariatePolynomialZp64[]evaluate(int variable, long... values)Evaluates this polynomial at specified pointslongevaluate(long... values)Evaluates this polynomial at specified pointsMultivariatePolynomialZp64evaluateAtRandom(int variable, org.apache.commons.math3.random.RandomGenerator rnd)Evaluatespolyat random pointMultivariatePolynomialZp64evaluateAtRandomPreservingSkeleton(int variable, org.apache.commons.math3.random.RandomGenerator rnd)Evaluatespolyat random point chosen in such way that the skeleton of evaluated version is the same as of the originalpolywith respect to all exceptvariablevariablesstatic longevaluateDenseRecursiveForm(IUnivariatePolynomial recForm, long[] values)Evaluates polynomial given in a dense recursive form at a given pointsstatic longevaluateSparseRecursiveForm(AMultivariatePolynomial recForm, long[] values)Evaluates polynomial given in a sparse recursive form at a given pointsstatic MultivariatePolynomialZp64fromDenseRecursiveForm(IUnivariatePolynomial recForm, int nVariables, Comparator<DegreeVector> ordering)Converts poly from a recursive univariate representation.static MultivariatePolynomialZp64fromDenseRecursiveForm(IUnivariatePolynomial recForm, Comparator<DegreeVector> ordering)Converts poly from a recursive univariate representation.static MultivariatePolynomialZp64fromSparseRecursiveForm(AMultivariatePolynomial recForm, int nVariables, Comparator<DegreeVector> ordering)Converts poly from a recursive univariate representation.static MultivariatePolynomialZp64fromSparseRecursiveForm(AMultivariatePolynomial recForm, Comparator<DegreeVector> ordering)Converts poly from a sparse recursive univariate representation.MultivariatePolynomialZp64.HornerFormZp64getHornerForm(int[] evaluationVariables)Gives data structure for fast Horner-like sparse evaluation of this multivariate polynomialMultivariatePolynomialZp64increment()Adds 1 to thisbooleanisConstant()Returnstrueif this polynomial has only constant termbooleanisMonic()Returnstrueif this polynomial is monicbooleanisOne()Returnstrueif this is onebooleanisOverField()Returns whether the coefficient ring of this polynomial is a fieldbooleanisOverFiniteField()Returns whether the coefficient ring of this polynomial is a finite fieldbooleanisOverPerfectPower()Returns whether thecoefficientRingCardinality()is a perfect powerbooleanisOverZ()Returns whether the coefficient ring of this polynomial is ZbooleanisUnitCC()Returns true if constant term is equal to onelonglc()Returns the leading coefficient of this polynomial that is coefficient of the largest term according to the ordering.longlc(Comparator<DegreeVector> ordering)Returns the leading coefficient of this polynomial with respect to specified orderingMultivariatePolynomialZp64lcAsPoly()Returns the leading coefficient as a constant polyMultivariatePolynomialZp64lcAsPoly(Comparator<DegreeVector> ordering)Returns the leading coefficient with respect to specified ordering as a constant poly<T> MultivariatePolynomial<T>mapCoefficients(Ring<T> newRing, LongFunction<T> mapper)Maps coefficients of this using specified mapping function<E> MultivariatePolynomial<E>mapCoefficientsAsPolys(Ring<E> ring, Function<MultivariatePolynomialZp64,E> mapper)MultivariatePolynomialZp64mapTerms(IntegersZp64 newRing, Function<MonomialZp64,MonomialZp64> mapper)Maps terms of this using specified mapping function<T> MultivariatePolynomial<T>mapTerms(Ring<T> newRing, Function<MonomialZp64,Monomial<T>> mapper)Maps terms of this using specified mapping functionMultivariatePolynomialZp64.lPrecomputedPowersHoldermkPrecomputedPowers(int[] variables, long[] values)MultivariatePolynomialZp64.lPrecomputedPowersHoldermkPrecomputedPowers(int variable, long value)static MultivariatePolynomialZp64.lPrecomputedPowersHoldermkPrecomputedPowers(int nVariables, IntegersZp64 ring, int[] variables, long[] values)MultivariatePolynomialZp64.lPrecomputedPowersHoldermkPrecomputedPowers(long[] values)MultivariatePolynomialZp64monic()Makes this polynomial monicMultivariatePolynomialZp64monic(long factor)Setsthisto its monic part (with respect to given ordering) multiplied by the given factor;MultivariatePolynomialZp64monic(Comparator<DegreeVector> ordering)Make this poly monic considering leading term with respect to given orderingMultivariatePolynomialZp64monic(Comparator<DegreeVector> ordering, long factor)Setsthisto its monic part (with respect to given ordering) multiplied by the given factor;MultivariatePolynomialZp64monicWithLC(MultivariatePolynomialZp64 other)Setsthisto its monic part multiplied by the leading coefficient ofother;MultivariatePolynomialZp64monicWithLC(Comparator<DegreeVector> ordering, MultivariatePolynomialZp64 other)Setsthisto its monic part multiplied by the leading coefficient ofotherwith respect to given orderingMultivariatePolynomialZp64multiply(long factor)Multiplies this byfactorMultivariatePolynomialZp64multiply(MonomialZp64 monomial)Multipliesthisby themonomialMultivariatePolynomialZp64multiply(MultivariatePolynomialZp64 oth)Multiplies this byothMultivariatePolynomialZp64multiplyByBigInteger(BigInteger factor)Multiplies this byfactorMultivariatePolynomialZp64multiplyByLC(MultivariatePolynomialZp64 other)Multiply this by the leading coefficient ofotherstatic MultivariatePolynomialZp64one(int nVariables, IntegersZp64 ring, Comparator<DegreeVector> ordering)Creates unit polynomial.static MultivariatePolynomialZp64parse(String string, IntegersZp64 ring)Deprecated.use #parse(string, ring, ordering, variables)static MultivariatePolynomialZp64parse(String string, IntegersZp64 ring, String... variables)Parse multivariate polynomial from string.static MultivariatePolynomialZp64parse(String string, IntegersZp64 ring, Comparator<DegreeVector> ordering)Deprecated.use #parse(string, ring, ordering, variables)static MultivariatePolynomialZp64parse(String string, IntegersZp64 ring, Comparator<DegreeVector> ordering, String... variables)Parse multivariate polynomial from string.MultivariatePolynomialZp64parsePoly(String string)Deprecated.MultivariatePolynomialZp64primitivePart()Reduces poly to its primitive part (primitive part will always have positive l.c.)MultivariatePolynomialZp64primitivePart(int variable)Gives primitive part of this considered as R[variable][other_variables]MultivariatePolynomialZp64primitivePartSameSign()Reduces poly to its primitive part, so that primitive part will have the same signum as the initial polyprotected voidrelease()release cachesbooleansameCoefficientRingWith(MultivariatePolynomialZp64 oth)Returns whetherothandthishave the same coefficient ringMultivariatePolynomialZp64seriesCoefficient(int variable, int order)Gives (unevaluated) coefficient of Taylor series expansion for specified variable that isderivative(poly, variable, order) / order!, where the derivative is formal derivative and calculated with arithmetic performed in Z ring (to overcome possible zeros in Zp).MultivariatePolynomialZp64setCoefficientRingFrom(MultivariatePolynomialZp64 lMonomialTerms)Set the coefficient ring from specified polyMultivariatePolynomialZp64setLC(long val)Sets the leading coefficient to the specified valueMultivariatePolynomialZp64setRing(long newModulus)Switches to another ring specified bynewModulusMultivariatePolynomialZp64setRing(IntegersZp64 newDomain)Switches to another ring specified bynewDomain<E> MultivariatePolynomial<E>setRing(Ring<E> newRing)Switches to another ring specified bynewRingMultivariatePolynomialZp64setRingUnsafe(IntegersZp64 newDomain)internal APIMultivariatePolynomialZp64shift(int[] variables, long[] shifts)Substitutesvariable -> variable + shiftfor each variable fromvariablesarrayMultivariatePolynomialZp64shift(int variable, long shift)Returns a copy of this withvariable -> variable + shiftintsignumOfLC()Gives signum of the leading coefficientMultivariatePolynomialZp64square()SquaresthisMultivariatePolynomialZp64substitute(int variable, MultivariatePolynomialZp64 poly)Returns a copy of this withpolysubstituted forvariableMultivariatePolynomialZp64subtract(long oth)Subtractsothfrom this polynomial and returns itMultivariatePolynomial<BigInteger>toBigPoly()Returns polynomial over Z formed from the coefficients of thisIUnivariatePolynomialtoDenseRecursiveForm()Gives a recursive univariate representation of this poly.AMultivariatePolynomialtoSparseRecursiveForm()Gives a recursive sparse univariate representation of this poly.StringtoString(IStringifier<MultivariatePolynomialZp64> stringifier)convert this to string with the use of stringifierstatic MultivariatePolynomialZp64zero(int nVariables, IntegersZp64 ring, Comparator<DegreeVector> ordering)Creates zero polynomial.-
Methods inherited from class cc.redberry.rings.poly.multivar.AMultivariatePolynomial
add, add, add, add, ascendingIterator, asMultivariate, asMultivariate, asMultivariate, asOverMultivariateEliminate, asOverPoly, asUnivariate, asUnivariateEliminate, coefficientOf, coefficientOf, collection, composition, composition, composition, composition, composition, composition, content, contentExcept, create, create, create, create, createMonomial, degree, degree, degree, degreeMax, degrees, degrees, degreesRef, degreeSum, derivative, derivative, descendingIterator, divideDegreeVectorOrNull, dropCoefficientOf, dropSelectVariables, dropVariable, dropVariables, ecart, equals, evaluateAtZero, evaluateAtZero, first, getSkeleton, getSkeleton, getSkeletonDrop, getSkeletonExcept, hashCode, homogenize, insertVariable, insertVariable, isEffectiveUnivariate, isHomogeneous, isLinearExactly, isLinearOrConstant, isMonomial, isVariable, isZero, isZeroCC, iterator, joinNewVariable, joinNewVariables, last, lc, lt, lt, ltAsPoly, mapVariables, monomialContent, mt, multidegree, multiplyByDegreeVector, multiplyByMonomial, negate, nUsedVariables, put, renameVariables, renameVariables, renameVariables, sameSkeletonExceptQ, sameSkeletonQ, sameSkeletonQ, set, setAllCoefficientsToUnit, setLC, setNVariables, setOrdering, size, skeletonHashCode, sparsity, sparsity2, subtract, subtract, subtract, subtractLt, swapVariables, toArray, toString, totalDegree, toZero, univariateVariable
-
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface cc.redberry.rings.poly.IPolynomial
add, assertSameCoefficientRingWith, canonical, coefficientRingToString, copy, createArray, createArray, createArray, monicExact, multiply, multiply, setCoefficientRingFromOptional, subtract, toPositiveLC, toString
-
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
-
-
-
Field Detail
-
ring
public final IntegersZp64 ring
The ring.
-
-
Method Detail
-
create
public static MultivariatePolynomialZp64 create(int nVariables, IntegersZp64 ring, Comparator<DegreeVector> ordering, MonomialSet<MonomialZp64> terms)
Creates multivariate polynomial from a set of monomials- Parameters:
nVariables- number of variablesring- the ringordering- term orderingterms- the monomials- Returns:
- multivariate polynomial
-
create
public static MultivariatePolynomialZp64 create(int nVariables, IntegersZp64 ring, Comparator<DegreeVector> ordering, Iterable<MonomialZp64> terms)
Creates multivariate polynomial from a list of monomial terms- Parameters:
ring- the ringordering- term orderingterms- the monomial terms- Returns:
- multivariate polynomial
-
create
public static MultivariatePolynomialZp64 create(int nVariables, IntegersZp64 ring, Comparator<DegreeVector> ordering, MonomialZp64... terms)
Creates multivariate polynomial from a list of monomial terms- Parameters:
ring- the ringordering- term orderingterms- the monomial terms- Returns:
- multivariate polynomial
-
zero
public static MultivariatePolynomialZp64 zero(int nVariables, IntegersZp64 ring, Comparator<DegreeVector> ordering)
Creates zero polynomial.- Parameters:
nVariables- number of variablesring- the ringordering- the ordering- Returns:
- zero
-
one
public static MultivariatePolynomialZp64 one(int nVariables, IntegersZp64 ring, Comparator<DegreeVector> ordering)
Creates unit polynomial.- Parameters:
nVariables- number of variablesring- the ringordering- the ordering- Returns:
- unit
-
parse
public static MultivariatePolynomialZp64 parse(String string, IntegersZp64 ring, String... variables)
Parse multivariate polynomial from string.- Parameters:
string- the stringring- the ringvariables- string variables that should be taken into account. For examples:parse("a", LEX)andparse("a", LEX, "a", "b")although give the same mathematical expressions are differ, since the first one is considered as Z[x], while the second as Z[x1,x2]- Returns:
- multivariate polynomial
-
parse
@Deprecated public static MultivariatePolynomialZp64 parse(String string, IntegersZp64 ring)
Deprecated.use #parse(string, ring, ordering, variables)Parse multivariate polynomial from string.- Parameters:
string- the stringring- the ring- Returns:
- multivariate polynomial
-
parse
public static MultivariatePolynomialZp64 parse(String string, IntegersZp64 ring, Comparator<DegreeVector> ordering, String... variables)
Parse multivariate polynomial from string.- Parameters:
string- the stringring- the ringordering- monomial ordervariables- string variables that should be taken into account. For examples:parse("a", LEX)andparse("a", LEX, "a", "b")although give the same mathematical expressions are differ, since the first one is considered as Z[x], while the second as Z[x1,x2]- Returns:
- multivariate polynomial
-
parse
@Deprecated public static MultivariatePolynomialZp64 parse(String string, IntegersZp64 ring, Comparator<DegreeVector> ordering)
Deprecated.use #parse(string, ring, ordering, variables)Parse multivariate polynomial from string.- Parameters:
string- the stringring- the ringordering- monomial order- Returns:
- multivariate polynomial
-
asMultivariate
public static MultivariatePolynomialZp64 asMultivariate(UnivariatePolynomialZp64 poly, int nVariables, int variable, Comparator<DegreeVector> ordering)
Converts univariate polynomial to multivariate.- Parameters:
poly- univariate polynomialnVariables- number of variables in the resultvariable- variable that will be used as a primary variableordering- the ordering- Returns:
- multivariate polynomial
-
asUnivariate
public UnivariatePolynomialZp64 asUnivariate()
Description copied from class:AMultivariatePolynomialConverts this to univariate polynomial or throws exception if conversion is impossible (more than one variable have non zero exponents)- Specified by:
asUnivariatein classAMultivariatePolynomial<MonomialZp64,MultivariatePolynomialZp64>- Returns:
- univariate polynomial
-
asOverUnivariate
public MultivariatePolynomial<UnivariatePolynomialZp64> asOverUnivariate(int variable)
Description copied from class:AMultivariatePolynomialConverts this to a multivariate polynomial with coefficients being univariate polynomials overvariable- Specified by:
asOverUnivariatein classAMultivariatePolynomial<MonomialZp64,MultivariatePolynomialZp64>- Parameters:
variable- variable- Returns:
- multivariate polynomial with coefficients being univariate polynomials over
variable
-
asOverUnivariateEliminate
public MultivariatePolynomial<UnivariatePolynomialZp64> asOverUnivariateEliminate(int variable)
Description copied from class:AMultivariatePolynomialConverts this to a multivariate polynomial with coefficients being univariate polynomials overvariable, the resulting polynomial have (nVariable - 1) multivariate variables (specifiedvariableis eliminated)- Specified by:
asOverUnivariateEliminatein classAMultivariatePolynomial<MonomialZp64,MultivariatePolynomialZp64>- Parameters:
variable- the variable- Returns:
- multivariate polynomial with coefficients being univariate polynomials over
variable, the resulting polynomial have (nVariable - 1) multivariate variables
-
asOverMultivariate
public MultivariatePolynomial<MultivariatePolynomialZp64> asOverMultivariate(int... variables)
Description copied from class:AMultivariatePolynomialConverts this to a multivariate polynomial with coefficients being multivariate polynomials polynomials overvariablesthat is polynomial in R[variables][other_variables]- Specified by:
asOverMultivariatein classAMultivariatePolynomial<MonomialZp64,MultivariatePolynomialZp64>- Parameters:
variables- the variables to separate- Returns:
- multivariate polynomial with coefficients being multivariate polynomials polynomials over
variablesthat is polynomial in R[variables][other_variables]
-
asOverMultivariateEliminate
public MultivariatePolynomial<MultivariatePolynomialZp64> asOverMultivariateEliminate(int[] variables, Comparator<DegreeVector> ordering)
Description copied from class:AMultivariatePolynomialConverts this to a multivariate polynomial with coefficients being multivariate polynomials polynomials overvariablesthat is polynomial in R[variables][other_variables]- Specified by:
asOverMultivariateEliminatein classAMultivariatePolynomial<MonomialZp64,MultivariatePolynomialZp64>- Parameters:
variables- the variables to separateordering- monomial order to use for result- Returns:
- multivariate polynomial with coefficients being multivariate polynomials polynomials over
variablesthat is polynomial in R[variables][other_variables]
-
asNormalMultivariate
public static MultivariatePolynomialZp64 asNormalMultivariate(MultivariatePolynomial<UnivariatePolynomialZp64> poly, int variable)
Converts multivariate polynomial over univariate polynomial ring (Zp[variable][other_variables]) to a multivariate polynomial over coefficient ring (Zp[all_variables])- Parameters:
poly- the polynomialvariable- the variable to insert- Returns:
- multivariate polynomial over normal coefficient ring
-
asNormalMultivariate
public static MultivariatePolynomialZp64 asNormalMultivariate(MultivariatePolynomial<MultivariatePolynomialZp64> poly)
Converts multivariate polynomial over multivariate polynomial ring to a multivariate polynomial over coefficient ring- Parameters:
poly- the polynomial- Returns:
- multivariate polynomial over normal coefficient ring
-
asNormalMultivariate
public static MultivariatePolynomialZp64 asNormalMultivariate(MultivariatePolynomial<MultivariatePolynomialZp64> poly, int[] coefficientVariables, int[] mainVariables)
Converts multivariate polynomial over multivariate polynomial ring to a multivariate polynomial over coefficient ring- Parameters:
poly- the polynomial- Returns:
- multivariate polynomial over normal coefficient ring
-
asPolyZSymmetric
public MultivariatePolynomial<BigInteger> asPolyZSymmetric()
Returns polynomial over Z formed from the coefficients of this represented in symmetric modular form (-modulus/2 <= cfx <= modulus/2).- Returns:
- Z[X] version of this with coefficients represented in symmetric modular form (
-modulus/2 <= cfx <= modulus/2).
-
asPolyZ
public MultivariatePolynomial<BigInteger> asPolyZ()
Returns polynomial over Z formed from the coefficients of this- Returns:
- Z[X] version of this
-
toBigPoly
public MultivariatePolynomial<BigInteger> toBigPoly()
Returns polynomial over Z formed from the coefficients of this- Returns:
- Z[X] version of this
-
contentAsPoly
public MultivariatePolynomialZp64 contentAsPoly()
Description copied from interface:IPolynomialReturns the content of this (gcd of coefficients) as a constant poly
-
lcAsPoly
public MultivariatePolynomialZp64 lcAsPoly()
Description copied from interface:IPolynomialReturns the leading coefficient as a constant poly
-
lcAsPoly
public MultivariatePolynomialZp64 lcAsPoly(Comparator<DegreeVector> ordering)
Description copied from class:AMultivariatePolynomialReturns the leading coefficient with respect to specified ordering as a constant poly- Specified by:
lcAsPolyin classAMultivariatePolynomial<MonomialZp64,MultivariatePolynomialZp64>
-
ccAsPoly
public MultivariatePolynomialZp64 ccAsPoly()
Description copied from interface:IPolynomialReturns the constant coefficient as a constant poly
-
isOverField
public boolean isOverField()
Description copied from interface:IPolynomialReturns whether the coefficient ring of this polynomial is a field- Returns:
- whether the coefficient ring of this polynomial is a field
-
isOverFiniteField
public boolean isOverFiniteField()
Description copied from interface:IPolynomialReturns whether the coefficient ring of this polynomial is a finite field- Returns:
- whether the coefficient ring of this polynomial is a finite field
-
isOverZ
public boolean isOverZ()
Description copied from interface:IPolynomialReturns whether the coefficient ring of this polynomial is Z- Returns:
- whether the coefficient ring of this polynomial is Z
-
coefficientRingCardinality
public BigInteger coefficientRingCardinality()
Description copied from interface:IPolynomialReturns cardinality of the coefficient ring of this poly- Returns:
- cardinality of the coefficient ring
-
coefficientRingCharacteristic
public BigInteger coefficientRingCharacteristic()
Description copied from interface:IPolynomialReturns characteristic of the coefficient ring of this poly- Returns:
- characteristic of the coefficient ring
-
isOverPerfectPower
public boolean isOverPerfectPower()
Description copied from interface:IPolynomialReturns whether thecoefficientRingCardinality()is a perfect power- Returns:
- whether the
coefficientRingCardinality()is a perfect power
-
coefficientRingPerfectPowerBase
public BigInteger coefficientRingPerfectPowerBase()
Description copied from interface:IPolynomialReturnsbaseso thatcoefficientRingCardinality() == base^exponentor null if cardinality is not finite- Returns:
baseso thatcoefficientRingCardinality() == base^exponentor null if cardinality is not finite
-
coefficientRingPerfectPowerExponent
public BigInteger coefficientRingPerfectPowerExponent()
Description copied from interface:IPolynomialReturnsexponentso thatcoefficientRingCardinality() == base^exponentor null if cardinality is not finite- Returns:
exponentso thatcoefficientRingCardinality() == base^exponentor null if cardinality is not finite
-
createArray
public MultivariatePolynomialZp64[] createArray(int length)
Description copied from interface:IPolynomialovercome Java generics...
-
createArray2d
public MultivariatePolynomialZp64[][] createArray2d(int length)
Description copied from interface:IPolynomialovercome Java generics...
-
createArray2d
public MultivariatePolynomialZp64[][] createArray2d(int length1, int length2)
Description copied from interface:IPolynomialovercome Java generics...
-
sameCoefficientRingWith
public boolean sameCoefficientRingWith(MultivariatePolynomialZp64 oth)
Description copied from interface:IPolynomialReturns whetherothandthishave the same coefficient ring- Parameters:
oth- other polynomial- Returns:
- whether this and oth are over the same coefficient ring
-
setCoefficientRingFrom
public MultivariatePolynomialZp64 setCoefficientRingFrom(MultivariatePolynomialZp64 lMonomialTerms)
Description copied from interface:IPolynomialSet the coefficient ring from specified poly- Parameters:
lMonomialTerms- the polynomial- Returns:
- a copy of this with the coefficient ring taken from
poly
-
release
protected void release()
release caches- Overrides:
releasein classAMultivariatePolynomial<MonomialZp64,MultivariatePolynomialZp64>
-
setRing
public MultivariatePolynomialZp64 setRing(long newModulus)
Switches to another ring specified bynewModulus- Parameters:
newModulus- the new modulus- Returns:
- a copy of this reduced to the ring specified by
newModulus
-
setRing
public MultivariatePolynomialZp64 setRing(IntegersZp64 newDomain)
Switches to another ring specified bynewDomain- Parameters:
newDomain- the new ring- Returns:
- a copy of this reduced to the ring specified by
newDomain
-
setRing
public <E> MultivariatePolynomial<E> setRing(Ring<E> newRing)
Switches to another ring specified bynewRing- Parameters:
newRing- the new ring- Returns:
- a copy of this reduced to the ring specified by
newRing
-
setRingUnsafe
public MultivariatePolynomialZp64 setRingUnsafe(IntegersZp64 newDomain)
internal API
-
createConstant
public MultivariatePolynomialZp64 createConstant(long val)
Creates constant polynomial with specified value- Parameters:
val- value- Returns:
- constant polynomial with specified value
-
createConstantFromTerm
public MultivariatePolynomialZp64 createConstantFromTerm(MonomialZp64 monomial)
Description copied from class:AMultivariatePolynomialCreates multivariate polynomial over the same ring as this with the single constant element taken from given monomial- Specified by:
createConstantFromTermin classAMultivariatePolynomial<MonomialZp64,MultivariatePolynomialZp64>- Parameters:
monomial- the monomial- Returns:
- multivariate polynomial
-
createZero
public MultivariatePolynomialZp64 createZero()
Description copied from interface:IPolynomialReturns the new instance of zero polynomial (with the same coefficient ring)- Returns:
- new instance of 0
-
createOne
public MultivariatePolynomialZp64 createOne()
Description copied from interface:IPolynomialReturns the new instance of unit polynomial (with the same coefficient ring)- Returns:
- new instance of 1
-
createLinear
public MultivariatePolynomialZp64 createLinear(int variable, long cc, long lc)
Creates linear polynomial of the formcc + lc * variable- Parameters:
variable- the variablecc- the constant coefficientlc- the leading coefficient- Returns:
- linear polynomial
cc + lc * variable
-
isMonic
public boolean isMonic()
Description copied from interface:IPolynomialReturnstrueif this polynomial is monic- Returns:
- whether
thisis monic
-
signumOfLC
public int signumOfLC()
Description copied from interface:IPolynomialGives signum of the leading coefficient- Returns:
- signum of the leading coefficient
-
isOne
public boolean isOne()
Description copied from interface:IPolynomialReturnstrueif this is one- Returns:
- whether
thisis one
-
isUnitCC
public boolean isUnitCC()
Description copied from interface:IPolynomialReturns true if constant term is equal to one- Returns:
- whether constant term is 1
-
isConstant
public boolean isConstant()
Description copied from interface:IPolynomialReturnstrueif this polynomial has only constant term- Returns:
- whether
thisis constant
-
lc
public long lc()
Returns the leading coefficient of this polynomial that is coefficient of the largest term according to the ordering.- Returns:
- leading coefficient of this polynomial
-
lc
public long lc(Comparator<DegreeVector> ordering)
Returns the leading coefficient of this polynomial with respect to specified ordering- Returns:
- leading coefficient of this polynomial with respect to specified ordering
-
setLC
public MultivariatePolynomialZp64 setLC(long val)
Sets the leading coefficient to the specified value- Parameters:
val- new value for the lc- Returns:
- the leading coefficient to the specified value
-
cc
public long cc()
Returns the constant coefficient of this polynomial.- Returns:
- constant coefficient of this polynomial
-
content
public long content()
Returns the content of this polynomial.- Returns:
- content of this polynomial
-
coefficients
public long[] coefficients()
Returns array of polynomial coefficients- Returns:
- array of polynomial coefficients
-
primitivePart
public MultivariatePolynomialZp64 primitivePart(int variable)
Description copied from class:AMultivariatePolynomialGives primitive part of this considered as R[variable][other_variables]- Specified by:
primitivePartin classAMultivariatePolynomial<MonomialZp64,MultivariatePolynomialZp64>- Parameters:
variable- the variable- Returns:
- primitive part of this considered as R[variable][other_variables]
-
contentUnivariate
public UnivariatePolynomialZp64 contentUnivariate(int variable)
Description copied from class:AMultivariatePolynomialGives the content of this considered as R[variable][other_variables]- Specified by:
contentUnivariatein classAMultivariatePolynomial<MonomialZp64,MultivariatePolynomialZp64>- Parameters:
variable- the variable- Returns:
- the content of this considered as R[variable][other_variables]
-
primitivePart
public MultivariatePolynomialZp64 primitivePart()
Description copied from interface:IPolynomialReduces poly to its primitive part (primitive part will always have positive l.c.)- Returns:
- primitive part (poly will be modified)
-
primitivePartSameSign
public MultivariatePolynomialZp64 primitivePartSameSign()
Description copied from interface:IPolynomialReduces poly to its primitive part, so that primitive part will have the same signum as the initial poly- Returns:
- primitive part (poly will be modified)
-
divideByLC
public MultivariatePolynomialZp64 divideByLC(MultivariatePolynomialZp64 other)
Description copied from interface:IPolynomialDivides this polynomial by the leading coefficient ofotheror returnsnull(causing loss of internal data) if some of the elements can't be exactly divided by theother.lc(). NOTE: ifnullis returned, the content ofthisis destroyed.- Parameters:
other- the polynomial- Returns:
thisdivided by theother.lc()ornullif exact division is not possible
-
divide
public MultivariatePolynomialZp64 divide(long factor)
Divides this polynomial by afactor- Parameters:
factor- the factor- Returns:
this / factor
-
divideOrNull
public MultivariatePolynomialZp64 divideOrNull(MonomialZp64 monomial)
Description copied from class:AMultivariatePolynomialDivides this polynomial by amonomialor returnsnull(causing loss of internal data) if some of the elements can't be exactly divided by themonomial. NOTE: ifnullis returned, the content ofthisis destroyed.- Specified by:
divideOrNullin classAMultivariatePolynomial<MonomialZp64,MultivariatePolynomialZp64>- Parameters:
monomial- monomial degrees- Returns:
thisdivided by thefactor * monomialornull
-
monic
public MultivariatePolynomialZp64 monic()
Makes this polynomial monic- Returns:
- monic this
-
monic
public MultivariatePolynomialZp64 monic(Comparator<DegreeVector> ordering)
Description copied from class:AMultivariatePolynomialMake this poly monic considering leading term with respect to given ordering- Specified by:
monicin classAMultivariatePolynomial<MonomialZp64,MultivariatePolynomialZp64>
-
monic
public MultivariatePolynomialZp64 monic(long factor)
Setsthisto its monic part (with respect to given ordering) multiplied by the given factor;
-
monic
public MultivariatePolynomialZp64 monic(Comparator<DegreeVector> ordering, long factor)
Setsthisto its monic part (with respect to given ordering) multiplied by the given factor;
-
monicWithLC
public MultivariatePolynomialZp64 monicWithLC(MultivariatePolynomialZp64 other)
Description copied from interface:IPolynomialSetsthisto its monic part multiplied by the leading coefficient ofother;- Parameters:
other- other polynomial- Returns:
- monic part multiplied by the leading coefficient of
otheror null if exact division by the reduced leading coefficient is not possible
-
monicWithLC
public MultivariatePolynomialZp64 monicWithLC(Comparator<DegreeVector> ordering, MultivariatePolynomialZp64 other)
Description copied from class:AMultivariatePolynomialSetsthisto its monic part multiplied by the leading coefficient ofotherwith respect to given ordering- Specified by:
monicWithLCin classAMultivariatePolynomial<MonomialZp64,MultivariatePolynomialZp64>
-
toDenseRecursiveForm
public IUnivariatePolynomial toDenseRecursiveForm()
Gives a recursive univariate representation of this poly.
-
fromDenseRecursiveForm
public static MultivariatePolynomialZp64 fromDenseRecursiveForm(IUnivariatePolynomial recForm, Comparator<DegreeVector> ordering)
Converts poly from a recursive univariate representation.- Parameters:
recForm- recursive univariate representationordering- monomial order
-
fromDenseRecursiveForm
public static MultivariatePolynomialZp64 fromDenseRecursiveForm(IUnivariatePolynomial recForm, int nVariables, Comparator<DegreeVector> ordering)
Converts poly from a recursive univariate representation.- Parameters:
recForm- recursive univariate representationnVariables- number of variables in multivariate polynomialordering- monomial order
-
evaluateDenseRecursiveForm
public static long evaluateDenseRecursiveForm(IUnivariatePolynomial recForm, long[] values)
Evaluates polynomial given in a dense recursive form at a given points
-
toSparseRecursiveForm
public AMultivariatePolynomial toSparseRecursiveForm()
Gives a recursive sparse univariate representation of this poly.
-
fromSparseRecursiveForm
public static MultivariatePolynomialZp64 fromSparseRecursiveForm(AMultivariatePolynomial recForm, Comparator<DegreeVector> ordering)
Converts poly from a sparse recursive univariate representation.- Parameters:
recForm- recursive univariate representationordering- monomial order
-
fromSparseRecursiveForm
public static MultivariatePolynomialZp64 fromSparseRecursiveForm(AMultivariatePolynomial recForm, int nVariables, Comparator<DegreeVector> ordering)
Converts poly from a recursive univariate representation.- Parameters:
recForm- recursive univariate representationnVariables- number of variables in multivariate polynomialordering- monomial order
-
evaluateSparseRecursiveForm
public static long evaluateSparseRecursiveForm(AMultivariatePolynomial recForm, long[] values)
Evaluates polynomial given in a sparse recursive form at a given points
-
getHornerForm
public MultivariatePolynomialZp64.HornerFormZp64 getHornerForm(int[] evaluationVariables)
Gives data structure for fast Horner-like sparse evaluation of this multivariate polynomial- Parameters:
evaluationVariables- variables which will be substituted
-
evaluate
public MultivariatePolynomialZp64 evaluate(int variable, long value)
Returns a copy of this withvaluesubstituted forvariable- Parameters:
variable- the variablevalue- the value- Returns:
- a new multivariate polynomial with
valuesubstituted forvariablebut still with the sameAMultivariatePolynomial.nVariables(though the effective number of variables isnVariables - 1, compare toeliminate(int, long))
-
evaluate
public MultivariatePolynomialZp64 evaluate(int[] variables, long[] values)
Returns a copy of this withvaluessubstituted forvariables- Parameters:
variables- the variablesvalues- the values- Returns:
- a new multivariate polynomial with
valuesubstituted forvariablebut still with the sameAMultivariatePolynomial.nVariables(though the effective number of variables isnVariables - 1, compare toeliminate(int, long))
-
evaluate
public long evaluate(long... values)
Evaluates this polynomial at specified points
-
evaluate
public MultivariatePolynomialZp64[] evaluate(int variable, long... values)
Evaluates this polynomial at specified points
-
eliminate
public MultivariatePolynomialZp64 eliminate(int variable, long value)
Substitutesvalueforvariableand eliminatesvariablefrom the list of variables so that the resulting polynomial hasresult.nVariables = this.nVariables - 1.- Parameters:
variable- the variablevalue- the value- Returns:
- a new multivariate polynomial with
valuesubstituted forvariableandnVariables = nVariables - 1)
-
eliminate
public MultivariatePolynomialZp64 eliminate(int[] variables, long[] values)
Returns a copy of this withvaluessubstituted forvariables- Parameters:
variables- the variablesvalues- the values- Returns:
- a new multivariate polynomial with
valuesubstituted forvariablebut still with the sameAMultivariatePolynomial.nVariables(though the effective number of variables isnVariables - 1, compare toeliminate(int, long))
-
mkPrecomputedPowers
public MultivariatePolynomialZp64.lPrecomputedPowersHolder mkPrecomputedPowers(int variable, long value)
-
mkPrecomputedPowers
public MultivariatePolynomialZp64.lPrecomputedPowersHolder mkPrecomputedPowers(int[] variables, long[] values)
-
mkPrecomputedPowers
public static MultivariatePolynomialZp64.lPrecomputedPowersHolder mkPrecomputedPowers(int nVariables, IntegersZp64 ring, int[] variables, long[] values)
-
mkPrecomputedPowers
public MultivariatePolynomialZp64.lPrecomputedPowersHolder mkPrecomputedPowers(long[] values)
-
substitute
public MultivariatePolynomialZp64 substitute(int variable, MultivariatePolynomialZp64 poly)
Returns a copy of this withpolysubstituted forvariable- Parameters:
variable- the variablepoly- the replacement for the variable- Returns:
- a copy of this with
variable -> poly
-
shift
public MultivariatePolynomialZp64 shift(int variable, long shift)
Returns a copy of this withvariable -> variable + shift- Parameters:
variable- the variableshift- shift amount- Returns:
- a copy of this with
variable -> variable + shift
-
shift
public MultivariatePolynomialZp64 shift(int[] variables, long[] shifts)
Substitutesvariable -> variable + shiftfor each variable fromvariablesarray- Parameters:
variables- the variablesshifts- the corresponding shifts- Returns:
- a copy of this with
variable -> variable + shift
-
add
public MultivariatePolynomialZp64 add(long oth)
Addsothto this polynomial and returns it- Parameters:
oth- other polynomial- Returns:
this + oth
-
subtract
public MultivariatePolynomialZp64 subtract(long oth)
Subtractsothfrom this polynomial and returns it- Parameters:
oth- other polynomial- Returns:
this - oth
-
increment
public MultivariatePolynomialZp64 increment()
Description copied from interface:IPolynomialAdds 1 to this- Returns:
this + 1
-
decrement
public MultivariatePolynomialZp64 decrement()
Description copied from interface:IPolynomialSubtracts 1 from this- Returns:
this - 1
-
multiply
public MultivariatePolynomialZp64 multiply(long factor)
Description copied from interface:IPolynomialMultiplies this byfactor- Parameters:
factor- the factor- Returns:
this * factor
-
multiplyByLC
public MultivariatePolynomialZp64 multiplyByLC(MultivariatePolynomialZp64 other)
Description copied from interface:IPolynomialMultiply this by the leading coefficient ofother- Parameters:
other- polynomial- Returns:
- this * lc(other)
-
multiplyByBigInteger
public MultivariatePolynomialZp64 multiplyByBigInteger(BigInteger factor)
Description copied from interface:IPolynomialMultiplies this byfactor- Parameters:
factor- the factor- Returns:
this * factor
-
multiply
public MultivariatePolynomialZp64 multiply(MonomialZp64 monomial)
Description copied from class:AMultivariatePolynomialMultipliesthisby themonomial- Specified by:
multiplyin classAMultivariatePolynomial<MonomialZp64,MultivariatePolynomialZp64>- Parameters:
monomial- the monomial- Returns:
- this multiplied by the
monomial
-
multiply
public MultivariatePolynomialZp64 multiply(MultivariatePolynomialZp64 oth)
Description copied from interface:IPolynomialMultiplies this byoth- Parameters:
oth- the polynomial- Returns:
this * oth
-
square
public MultivariatePolynomialZp64 square()
Description copied from interface:IPolynomialSquaresthis- Returns:
this * this
-
evaluateAtRandom
public MultivariatePolynomialZp64 evaluateAtRandom(int variable, org.apache.commons.math3.random.RandomGenerator rnd)
Description copied from class:AMultivariatePolynomialEvaluatespolyat random point- Specified by:
evaluateAtRandomin classAMultivariatePolynomial<MonomialZp64,MultivariatePolynomialZp64>
-
evaluateAtRandomPreservingSkeleton
public MultivariatePolynomialZp64 evaluateAtRandomPreservingSkeleton(int variable, org.apache.commons.math3.random.RandomGenerator rnd)
Description copied from class:AMultivariatePolynomialEvaluatespolyat random point chosen in such way that the skeleton of evaluated version is the same as of the originalpolywith respect to all exceptvariablevariables- Specified by:
evaluateAtRandomPreservingSkeletonin classAMultivariatePolynomial<MonomialZp64,MultivariatePolynomialZp64>
-
derivative
public MultivariatePolynomialZp64 derivative(int variable, int order)
Description copied from class:AMultivariatePolynomialGives partial derivative of specifiedorderwith respect to specified variable (new instance created)- Specified by:
derivativein classAMultivariatePolynomial<MonomialZp64,MultivariatePolynomialZp64>- Parameters:
variable- the variableorder- derivative order- Returns:
- partial derivative of specified
orderwith respect to specified variable
-
seriesCoefficient
public MultivariatePolynomialZp64 seriesCoefficient(int variable, int order)
Description copied from class:AMultivariatePolynomialGives (unevaluated) coefficient of Taylor series expansion for specified variable that isderivative(poly, variable, order) / order!, where the derivative is formal derivative and calculated with arithmetic performed in Z ring (to overcome possible zeros in Zp).- Specified by:
seriesCoefficientin classAMultivariatePolynomial<MonomialZp64,MultivariatePolynomialZp64>- Parameters:
variable- the variableorder- derivative order- Returns:
derivative(poly, variable, order) / order!, where the derivative is formal derivative and calculated with arithmetic performed in Z ring (to overcome possible zeros in Zp)
-
mapTerms
public <T> MultivariatePolynomial<T> mapTerms(Ring<T> newRing, Function<MonomialZp64,Monomial<T>> mapper)
Maps terms of this using specified mapping function- Type Parameters:
T- new element type- Parameters:
newRing- the new ringmapper- mapping- Returns:
- a new polynomial with terms obtained by applying mapper to this terms
-
mapTerms
public MultivariatePolynomialZp64 mapTerms(IntegersZp64 newRing, Function<MonomialZp64,MonomialZp64> mapper)
Maps terms of this using specified mapping function- Parameters:
newRing- the new ringmapper- mapping- Returns:
- a new polynomial with terms obtained by applying mapper to this terms
-
mapCoefficients
public <T> MultivariatePolynomial<T> mapCoefficients(Ring<T> newRing, LongFunction<T> mapper)
Maps coefficients of this using specified mapping function- Type Parameters:
T- new element type- Parameters:
newRing- the new ringmapper- mapping- Returns:
- a new polynomial with terms obtained by applying mapper to this terms (only coefficients are changed)
-
mapCoefficientsAsPolys
public <E> MultivariatePolynomial<E> mapCoefficientsAsPolys(Ring<E> ring, Function<MultivariatePolynomialZp64,E> mapper)
- Specified by:
mapCoefficientsAsPolysin classAMultivariatePolynomial<MonomialZp64,MultivariatePolynomialZp64>
-
compareTo
public int compareTo(MultivariatePolynomialZp64 oth)
-
clone
public MultivariatePolynomialZp64 clone()
Description copied from interface:IPolynomialDeep copy of this- Specified by:
clonein interfaceIPolynomial<MultivariatePolynomialZp64>- Specified by:
clonein classAMultivariatePolynomial<MonomialZp64,MultivariatePolynomialZp64>- Returns:
- deep copy of this
-
parsePoly
@Deprecated public MultivariatePolynomialZp64 parsePoly(String string)
Deprecated.
-
toString
public String toString(IStringifier<MultivariatePolynomialZp64> stringifier)
Description copied from interface:Stringifiableconvert this to string with the use of stringifier
-
coefficientRingToString
public String coefficientRingToString(IStringifier<MultivariatePolynomialZp64> stringifier)
Description copied from interface:IPolynomialString representation of the coefficient ring of this
-
-