Package | Description |
---|---|
cc.redberry.rings | |
cc.redberry.rings.poly.multivar |
Modifier and Type | Method and Description |
---|---|
static MultivariateRing<MultivariatePolynomialZp64> |
Rings.MultivariateRingZp64(int nVariables,
IntegersZp64 modulus)
Ring of multivariate polynomials over Zp integers (Zp[x1, x2, ...])
|
static MultivariateRing<MultivariatePolynomialZp64> |
Rings.MultivariateRingZp64(int nVariables,
IntegersZp64 modulus,
Comparator<DegreeVector> monomialOrder)
Ring of multivariate polynomials over Zp integers (Zp[x1, x2, ...])
|
static MultivariateRing<MultivariatePolynomialZp64> |
Rings.MultivariateRingZp64(int nVariables,
long modulus)
Ring of multivariate polynomials over Zp machine integers (Zp[x1, x2, ...])
|
static MultivariateRing<MultivariatePolynomialZp64> |
Rings.MultivariateRingZp64(int nVariables,
long modulus,
Comparator<DegreeVector> monomialOrder)
Ring of multivariate polynomials over Zp integers (Zp[x1, x2, ...])
|
Modifier and Type | Method and Description |
---|---|
MultivariatePolynomialZp64 |
MultivariatePolynomialZp64.add(long oth)
Adds
oth to this polynomial and returns it |
static MultivariatePolynomialZp64 |
MultivariatePolynomialZp64.asMultivariate(UnivariatePolynomialZp64 poly,
int nVariables,
int variable,
Comparator<DegreeVector> ordering)
Converts univariate polynomial to multivariate.
|
static MultivariatePolynomialZp64 |
MultivariatePolynomialZp64.asNormalMultivariate(MultivariatePolynomial<MultivariatePolynomialZp64> poly)
Converts multivariate polynomial over multivariate polynomial ring to a multivariate polynomial over coefficient
ring
|
static MultivariatePolynomialZp64 |
MultivariatePolynomialZp64.asNormalMultivariate(MultivariatePolynomial<MultivariatePolynomialZp64> poly,
int[] coefficientVariables,
int[] mainVariables)
Converts multivariate polynomial over multivariate polynomial ring to a multivariate polynomial over coefficient
ring
|
static MultivariatePolynomialZp64 |
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])
|
static MultivariatePolynomialZp64 |
MultivariatePolynomial.asOverZp64(MultivariatePolynomial<BigInteger> poly)
Converts multivariate polynomial over BigIntegers to multivariate polynomial over machine modular integers
|
static MultivariatePolynomialZp64 |
MultivariateGCD.BrownGCD(MultivariatePolynomialZp64 a,
MultivariatePolynomialZp64 b)
Calculates GCD of two multivariate polynomials over Zp using Brown's algorithm with dense interpolation.
|
MultivariatePolynomialZp64 |
MultivariatePolynomialZp64.ccAsPoly() |
MultivariatePolynomialZp64 |
MultivariatePolynomialZp64.clone() |
MultivariatePolynomialZp64 |
MultivariatePolynomialZp64.contentAsPoly() |
static MultivariatePolynomialZp64 |
MultivariatePolynomialZp64.create(int nVariables,
IntegersZp64 ring,
Comparator<DegreeVector> ordering,
Iterable<MonomialZp64> terms)
Creates multivariate polynomial from a list of monomial terms
|
static MultivariatePolynomialZp64 |
MultivariatePolynomialZp64.create(int nVariables,
IntegersZp64 ring,
Comparator<DegreeVector> ordering,
MonomialSet<MonomialZp64> terms)
Creates multivariate polynomial from a set of monomials
|
static MultivariatePolynomialZp64 |
MultivariatePolynomialZp64.create(int nVariables,
IntegersZp64 ring,
Comparator<DegreeVector> ordering,
MonomialZp64... terms)
Creates multivariate polynomial from a list of monomial terms
|
MultivariatePolynomialZp64[] |
MultivariatePolynomialZp64.createArray(int length) |
MultivariatePolynomialZp64[][] |
MultivariatePolynomialZp64.createArray2d(int length) |
MultivariatePolynomialZp64[][] |
MultivariatePolynomialZp64.createArray2d(int length1,
int length2) |
MultivariatePolynomialZp64 |
MultivariatePolynomialZp64.createConstant(long val)
Creates constant polynomial with specified value
|
MultivariatePolynomialZp64 |
MultivariatePolynomialZp64.createLinear(int variable,
long cc,
long lc)
Creates linear polynomial of the form
cc + lc * variable |
MultivariatePolynomialZp64 |
MultivariatePolynomialZp64.createOne() |
MultivariatePolynomialZp64 |
MultivariatePolynomialZp64.createZero() |
MultivariatePolynomialZp64 |
MultivariatePolynomialZp64.decrement() |
MultivariatePolynomialZp64 |
MultivariatePolynomialZp64.derivative(int variable,
int order) |
MultivariatePolynomialZp64 |
MultivariatePolynomialZp64.divide(long factor)
Divides this polynomial by a
factor |
MultivariatePolynomialZp64 |
MultivariatePolynomialZp64.divideByLC(MultivariatePolynomialZp64 other) |
MultivariatePolynomialZp64 |
MultivariatePolynomialZp64.divideOrNull(MonomialZp64 monomial) |
MultivariatePolynomialZp64 |
MultivariatePolynomialZp64.eliminate(int variable,
long value)
Substitutes
value for variable and eliminates variable from the list of variables so that
the resulting polynomial has result.nVariables = this.nVariables - 1 . |
MultivariatePolynomialZp64 |
MultivariatePolynomialZp64.evaluate(int[] variables,
long[] values)
Returns a copy of this with
values substituted for variables |
MultivariatePolynomialZp64[] |
MultivariatePolynomialZp64.evaluate(int variable,
long... values)
Evaluates this polynomial at specified points
|
MultivariatePolynomialZp64 |
MultivariatePolynomialZp64.evaluate(int variable,
long value)
Returns a copy of this with
value substituted for variable |
MultivariatePolynomialZp64 |
MultivariatePolynomialZp64.evaluateAtRandom(int variable,
org.apache.commons.math3.random.RandomGenerator rnd) |
MultivariatePolynomialZp64 |
MultivariatePolynomialZp64.evaluateAtRandomPreservingSkeleton(int variable,
org.apache.commons.math3.random.RandomGenerator rnd) |
static MultivariatePolynomialZp64 |
MultivariateGCD.EZGCD(MultivariatePolynomialZp64 a,
MultivariatePolynomialZp64 b)
Calculates GCD of two multivariate polynomials over Zp using EZ algorithm
|
MultivariatePolynomialZp64 |
MultivariateInterpolation.InterpolationZp64.getInterpolatingPolynomial()
Returns resulting interpolating polynomial
|
MultivariatePolynomialZp64 |
MultivariatePolynomialZp64.increment() |
MultivariatePolynomialZp64 |
MultivariatePolynomialZp64.lcAsPoly() |
MultivariatePolynomialZp64 |
MultivariatePolynomial.mapCoefficients(IntegersZp64 newDomain,
ToLongFunction<E> mapper)
Maps coefficients of this using specified mapping function
|
static MultivariatePolynomialZp64 |
MultivariateGCD.ModularGCDInGF(MultivariatePolynomialZp64 a,
MultivariatePolynomialZp64 b)
Modular GCD algorithm for polynomials over finite fields of small cardinality.
|
MultivariatePolynomialZp64 |
MultivariatePolynomialZp64.monic()
Makes this polynomial monic
|
MultivariatePolynomialZp64 |
MultivariatePolynomialZp64.monic(long factor)
Sets
this to its monic part multiplied by the factor modulo modulus (that is monic(modulus).multiply(factor) ). |
MultivariatePolynomialZp64 |
MultivariatePolynomialZp64.monicWithLC(MultivariatePolynomialZp64 other) |
MultivariatePolynomialZp64 |
MultivariatePolynomialZp64.multiply(long factor) |
MultivariatePolynomialZp64 |
MultivariatePolynomialZp64.multiply(MonomialZp64 monomial) |
MultivariatePolynomialZp64 |
MultivariatePolynomialZp64.multiply(MultivariatePolynomialZp64 oth) |
MultivariatePolynomialZp64 |
MultivariatePolynomialZp64.multiplyByBigInteger(BigInteger factor) |
MultivariatePolynomialZp64 |
MultivariatePolynomialZp64.multiplyByLC(MultivariatePolynomialZp64 other) |
MultivariatePolynomialZp64 |
MultivariatePolynomialZp64.negate() |
static MultivariatePolynomialZp64 |
MultivariatePolynomialZp64.one(int nVariables,
IntegersZp64 ring,
Comparator<DegreeVector> ordering)
Creates unit polynomial.
|
static MultivariatePolynomialZp64 |
MultivariatePolynomialZp64.parse(String string,
IntegersZp64 ring,
Comparator<DegreeVector> ordering,
String... variables)
Parse multivariate polynomial from string.
|
static MultivariatePolynomialZp64 |
MultivariatePolynomialZp64.parse(String string,
IntegersZp64 ring,
String... variables)
Parse multivariate polynomial from string.
|
MultivariatePolynomialZp64 |
MultivariatePolynomialZp64.parsePoly(String string) |
MultivariatePolynomialZp64 |
MultivariatePolynomialZp64.parsePoly(String string,
String[] variables) |
MultivariatePolynomialZp64 |
MultivariatePolynomialZp64.primitivePart() |
MultivariatePolynomialZp64 |
MultivariatePolynomialZp64.primitivePart(int variable) |
MultivariatePolynomialZp64 |
MultivariatePolynomialZp64.primitivePartSameSign() |
static MultivariatePolynomialZp64 |
RandomMultivariatePolynomials.randomPolynomial(int nVars,
int degree,
int size,
IntegersZp64 ring,
Comparator<DegreeVector> ordering,
org.apache.commons.math3.random.RandomGenerator rnd)
Generates random Zp[X] polynomial over machine integers
|
static MultivariatePolynomialZp64 |
RandomMultivariatePolynomials.randomPolynomial(int nVars,
int degree,
int size,
IntegersZp64 ring,
org.apache.commons.math3.random.RandomGenerator rnd)
Generates random Zp[X] polynomial over machine integers
|
MultivariatePolynomialZp64 |
MultivariatePolynomialZp64.seriesCoefficient(int variable,
int order) |
MultivariatePolynomialZp64 |
MultivariatePolynomialZp64.setCoefficientRingFrom(MultivariatePolynomialZp64 lMonomialTerms) |
MultivariatePolynomialZp64 |
MultivariatePolynomialZp64.setLC(long val)
Sets the leading coefficient to the specified value
|
MultivariatePolynomialZp64 |
MultivariatePolynomialZp64.setRing(IntegersZp64 newDomain)
Switches to another ring specified by
newDomain |
MultivariatePolynomialZp64 |
MultivariatePolynomialZp64.setRing(long newModulus)
Switches to another ring specified by
newModulus |
MultivariatePolynomialZp64 |
MultivariatePolynomialZp64.setRingUnsafe(IntegersZp64 newDomain)
internal API
|
MultivariatePolynomialZp64 |
MultivariatePolynomialZp64.shift(int[] variables,
long[] shifts)
Substitutes
variable -> variable + shift for each variable from variables array |
MultivariatePolynomialZp64 |
MultivariatePolynomialZp64.shift(int variable,
long shift)
Returns a copy of this with
variable -> variable + shift |
MultivariatePolynomialZp64 |
MultivariatePolynomialZp64.square() |
MultivariatePolynomialZp64 |
MultivariatePolynomialZp64.substitute(int variable,
MultivariatePolynomialZp64 poly)
Returns a copy of this with
poly substituted for variable |
MultivariatePolynomialZp64 |
MultivariatePolynomialZp64.subtract(long oth)
Subtracts
oth from this polynomial and returns it |
static MultivariatePolynomialZp64 |
MultivariatePolynomialZp64.zero(int nVariables,
IntegersZp64 ring,
Comparator<DegreeVector> ordering)
Creates zero polynomial.
|
static MultivariatePolynomialZp64 |
MultivariateGCD.ZippelGCD(MultivariatePolynomialZp64 a,
MultivariatePolynomialZp64 b)
Calculates GCD of two multivariate polynomials over Zp using Zippel's algorithm with sparse interpolation.
|
Modifier and Type | Method and Description |
---|---|
MultivariatePolynomial<MultivariatePolynomialZp64> |
MultivariatePolynomialZp64.asOverMultivariate(int... variables) |
MultivariatePolynomial<MultivariatePolynomialZp64> |
MultivariatePolynomialZp64.asOverMultivariateEliminate(int... variables) |
List<MultivariatePolynomialZp64> |
MultivariateInterpolation.InterpolationZp64.getValues()
Returns the list of polynomial values at interpolation points
|
Modifier and Type | Method and Description |
---|---|
static MultivariatePolynomialZp64 |
MultivariateGCD.BrownGCD(MultivariatePolynomialZp64 a,
MultivariatePolynomialZp64 b)
Calculates GCD of two multivariate polynomials over Zp using Brown's algorithm with dense interpolation.
|
int |
MultivariatePolynomialZp64.compareTo(MultivariatePolynomialZp64 oth) |
MultivariatePolynomialZp64 |
MultivariatePolynomialZp64.divideByLC(MultivariatePolynomialZp64 other) |
static MultivariatePolynomialZp64 |
MultivariateGCD.EZGCD(MultivariatePolynomialZp64 a,
MultivariatePolynomialZp64 b)
Calculates GCD of two multivariate polynomials over Zp using EZ algorithm
|
static MultivariatePolynomialZp64 |
MultivariateGCD.ModularGCDInGF(MultivariatePolynomialZp64 a,
MultivariatePolynomialZp64 b)
Modular GCD algorithm for polynomials over finite fields of small cardinality.
|
MultivariatePolynomialZp64 |
MultivariatePolynomialZp64.monicWithLC(MultivariatePolynomialZp64 other) |
MultivariatePolynomialZp64 |
MultivariatePolynomialZp64.multiply(MultivariatePolynomialZp64 oth) |
MultivariatePolynomialZp64 |
MultivariatePolynomialZp64.multiplyByLC(MultivariatePolynomialZp64 other) |
boolean |
MultivariatePolynomialZp64.sameCoefficientRingWith(MultivariatePolynomialZp64 oth) |
MultivariatePolynomialZp64 |
MultivariatePolynomialZp64.setCoefficientRingFrom(MultivariatePolynomialZp64 lMonomialTerms) |
MultivariatePolynomialZp64 |
MultivariatePolynomialZp64.substitute(int variable,
MultivariatePolynomialZp64 poly)
Returns a copy of this with
poly substituted for variable |
MultivariateInterpolation.InterpolationZp64 |
MultivariateInterpolation.InterpolationZp64.update(long[] points,
MultivariatePolynomialZp64[] values)
Updates interpolation, so that interpolating polynomial satisfies
interpolation[point] = value |
MultivariateInterpolation.InterpolationZp64 |
MultivariateInterpolation.InterpolationZp64.update(long point,
MultivariatePolynomialZp64 value)
Updates interpolation, so that interpolating polynomial satisfies
interpolation[point] = value |
static MultivariatePolynomialZp64 |
MultivariateGCD.ZippelGCD(MultivariatePolynomialZp64 a,
MultivariatePolynomialZp64 b)
Calculates GCD of two multivariate polynomials over Zp using Zippel's algorithm with sparse interpolation.
|
Modifier and Type | Method and Description |
---|---|
static MultivariatePolynomialZp64 |
MultivariatePolynomialZp64.asNormalMultivariate(MultivariatePolynomial<MultivariatePolynomialZp64> poly)
Converts multivariate polynomial over multivariate polynomial ring to a multivariate polynomial over coefficient
ring
|
static MultivariatePolynomialZp64 |
MultivariatePolynomialZp64.asNormalMultivariate(MultivariatePolynomial<MultivariatePolynomialZp64> poly,
int[] coefficientVariables,
int[] mainVariables)
Converts multivariate polynomial over multivariate polynomial ring to a multivariate polynomial over coefficient
ring
|
Constructor and Description |
---|
InterpolationZp64(int variable,
long point,
MultivariatePolynomialZp64 value)
Start new interpolation with
interpolation[variable = point] = value |
InterpolationZp64(int variable,
MultivariatePolynomialZp64 factory)
Start new interpolation
|
Constructor and Description |
---|
InterpolationZp64(int variable,
PolynomialRing<MultivariatePolynomialZp64> factory)
Start new interpolation
|
Copyright © 2017. All rights reserved.