| Package | Description |
|---|---|
| cc.redberry.rings | |
| cc.redberry.rings.io | |
| cc.redberry.rings.poly | |
| cc.redberry.rings.poly.multivar | |
| cc.redberry.rings.poly.univar |
| Modifier and Type | Field and Description |
|---|---|
static AlgebraicNumberField<UnivariatePolynomial<BigInteger>> |
Rings.GaussianIntegers
Ring of Gaussian integers (integer complex numbers).
|
static AlgebraicNumberField<UnivariatePolynomial<Rational<BigInteger>>> |
Rings.GaussianRationals
Field of Gaussian rationals (rational complex numbers).
|
static UnivariateRing<UnivariatePolynomial<Rational<BigInteger>>> |
Rings.UnivariateRingQ
Ring of univariate polynomials over rationals (Q[x])
|
static UnivariateRing<UnivariatePolynomial<BigInteger>> |
Rings.UnivariateRingZ
Ring of univariate polynomials over integers (Z[x])
|
| Modifier and Type | Method and Description |
|---|---|
static <E> AlgebraicNumberField<UnivariatePolynomial<E>> |
Rings.GaussianNumbers(Ring<E> ring)
Gaussian numbers for a given ring (that is ring adjoined with imaginary unit)
|
static FiniteField<UnivariatePolynomial<BigInteger>> |
Rings.GF(BigInteger prime,
int exponent)
Galois field with the cardinality
prime ^ exponent for arbitrary large prime |
static <E> UnivariateRing<UnivariatePolynomial<E>> |
Rings.UnivariateRing(Ring<E> coefficientRing)
Ring of univariate polynomials over specified coefficient ring
|
static UnivariateRing<UnivariatePolynomial<BigInteger>> |
Rings.UnivariateRingZp(BigInteger modulus)
Ring of univariate polynomials over Zp integers (Zp[x]) with arbitrary large modulus
|
| Modifier and Type | Method and Description |
|---|---|
static <E> Coder<UnivariatePolynomial<E>,?,?> |
Coder.mkUnivariateCoder(IPolynomialRing<UnivariatePolynomial<E>> ring,
Coder<E,?,?> cfCoder,
Map<String,UnivariatePolynomial<E>> variables)
Create coder for univariate polynomial rings
|
static <E> Coder<UnivariatePolynomial<E>,?,?> |
Coder.mkUnivariateCoder(IPolynomialRing<UnivariatePolynomial<E>> ring,
Coder<E,?,?> cfCoder,
String variable)
Create coder for univariate polynomial rings
|
| Modifier and Type | Method and Description |
|---|---|
static <E> Coder<UnivariatePolynomial<E>,?,?> |
Coder.mkUnivariateCoder(IPolynomialRing<UnivariatePolynomial<E>> ring,
Coder<E,?,?> cfCoder,
Map<String,UnivariatePolynomial<E>> variables)
Create coder for univariate polynomial rings
|
static <E> Coder<UnivariatePolynomial<E>,?,?> |
Coder.mkUnivariateCoder(IPolynomialRing<UnivariatePolynomial<E>> ring,
Coder<E,?,?> cfCoder,
Map<String,UnivariatePolynomial<E>> variables)
Create coder for univariate polynomial rings
|
static <E> Coder<UnivariatePolynomial<E>,?,?> |
Coder.mkUnivariateCoder(IPolynomialRing<UnivariatePolynomial<E>> ring,
Coder<E,?,?> cfCoder,
String variable)
Create coder for univariate polynomial rings
|
| Modifier and Type | Method and Description |
|---|---|
static <E> UnivariatePolynomial<Rational<E>> |
Util.asOverRationals(Ring<Rational<E>> field,
UnivariatePolynomial<E> poly) |
static <E> UnivariatePolynomial<Rational<E>> |
Util.divideOverRationals(Ring<Rational<E>> field,
UnivariatePolynomial<E> poly,
E denominator) |
UnivariatePolynomial<mPoly> |
MultipleFieldExtension.getGeneratorMinimalPoly(int iGenerator)
Returns minimal polynomial corresponding to i-th generator.
|
| Modifier and Type | Method and Description |
|---|---|
static <E> Util.Tuple2<UnivariatePolynomial<E>,E> |
Util.toCommonDenominator(UnivariatePolynomial<Rational<E>> poly)
Brings polynomial with rational coefficients to common denominator
|
| Modifier and Type | Method and Description |
|---|---|
static <E> UnivariatePolynomial<Rational<E>> |
Util.asOverRationals(Ring<Rational<E>> field,
UnivariatePolynomial<E> poly) |
static <E> E |
Util.commonDenominator(UnivariatePolynomial<Rational<E>> poly)
Returns a common denominator of given poly
|
static <E> UnivariatePolynomial<Rational<E>> |
Util.divideOverRationals(Ring<Rational<E>> field,
UnivariatePolynomial<E> poly,
E denominator) |
MultipleFieldExtension<Term,mPoly,sPoly> |
MultipleFieldExtension.joinAlgebraicElement(UnivariatePolynomial<mPoly> algebraicElement)
Adds algebraic element given by its minimal polynomial (not checked that it is irreducible) to this.
|
E |
SimpleFieldExtension.normOfPolynomial(UnivariatePolynomial<E> poly)
Gives the norm of univariate polynomial over this field extension, which is always a polynomial with the
coefficients from the base field
|
static <E> Util.Tuple2<UnivariatePolynomial<E>,E> |
Util.toCommonDenominator(UnivariatePolynomial<Rational<E>> poly)
Brings polynomial with rational coefficients to common denominator
|
| Constructor and Description |
|---|
MultipleFieldExtension(MultipleFieldExtension<Term,mPoly,sPoly>[] tower,
UnivariatePolynomial<mPoly>[] minimalPolynomialsOfGenerators,
mPoly primitiveElement,
sPoly[] generatorsReps,
SimpleFieldExtension<sPoly> simpleExtension) |
| Modifier and Type | Field and Description |
|---|---|
UnivariatePolynomial<Rational<BigInteger>> |
GroebnerBases.HilbertSeries.initialNumerator
Initial numerator (numerator and denominator may have nontrivial GCD)
|
UnivariatePolynomial<Rational<BigInteger>> |
GroebnerBases.HilbertSeries.numerator
Reduced numerator (GCD is cancelled)
|
| Modifier and Type | Method and Description |
|---|---|
UnivariatePolynomial<E> |
MultivariatePolynomial.asUnivariate() |
UnivariatePolynomial<Poly> |
AMultivariatePolynomial.asUnivariate(int variable)
Converts this polynomial to a univariate polynomial over specified variable with the multivariate coefficient
ring.
|
static <Poly extends AMultivariatePolynomial<?,Poly>> |
MultivariateConversions.asUnivariate(Poly poly,
int variable)
Given poly in R[x1,x2,...,xN] converts to poly in R[other_variables][variable]
|
UnivariatePolynomial<Poly> |
AMultivariatePolynomial.asUnivariateEliminate(int variable)
Converts this polynomial to a univariate polynomial over specified variable with the multivariate coefficient
ring.
|
UnivariatePolynomial<E> |
MultivariatePolynomial.contentUnivariate(int variable) |
UnivariatePolynomial<Rational<BigInteger>> |
GroebnerBases.HilbertSeries.hilbertPolynomial()
Hilbert polynomial
|
UnivariatePolynomial<Rational<BigInteger>> |
GroebnerBases.HilbertSeries.hilbertPolynomialZ()
Integral Hilbert polynomial (i.e.
|
UnivariatePolynomial<Rational<BigInteger>> |
GroebnerBases.HilbertSeries.integralPart()
Integral part I(t) of HPS(t): HPS(t) = I(t) + Q(t)/(1-t)^m
|
UnivariatePolynomial<Rational<BigInteger>> |
GroebnerBases.HilbertSeries.remainderNumerator()
Remainder part R(t) of HPS(t): HPS(t) = I(t) + R(t)/(1-t)^m
|
static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>,uPoly extends IUnivariatePolynomial<uPoly>> |
HenselLifting.seriesExpansionDense(Ring<uPoly> ring,
Poly poly,
int variable,
cc.redberry.rings.poly.multivar.HenselLifting.IEvaluation<Term,Poly> evaluate)
Generates a power series expansion for poly about the point specified by variable and evaluation
|
UnivariatePolynomial |
MultivariatePolynomial.toDenseRecursiveForm()
Gives a recursive univariate representation of this poly.
|
| Modifier and Type | Method and Description |
|---|---|
static <E> MultivariatePolynomial<E> |
MultivariatePolynomial.asMultivariate(UnivariatePolynomial<E> poly,
int nVariables,
int variable,
Comparator<DegreeVector> ordering)
Converts univariate polynomial to multivariate.
|
static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> |
AMultivariatePolynomial.asMultivariate(UnivariatePolynomial<Poly> uPoly,
int variable)
Convert univariate polynomial over multivariate polynomials to a normal multivariate poly
|
static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> |
AMultivariatePolynomial.asMultivariate(UnivariatePolynomial<Poly> univariate,
int uVariable,
boolean join) |
static <E> E |
MultivariatePolynomial.evaluateDenseRecursiveForm(UnivariatePolynomial recForm,
int nVariables,
E[] values)
Evaluates polynomial given in a dense recursive form at a given points
|
static <E> MultivariatePolynomial<E> |
MultivariatePolynomial.fromDenseRecursiveForm(UnivariatePolynomial recForm,
int nVariables,
Comparator<DegreeVector> ordering)
Converts poly from a recursive univariate representation.
|
static <Poly extends AMultivariatePolynomial<?,Poly>> |
MultivariateConversions.fromUnivariate(UnivariatePolynomial<Poly> poly,
int variable)
Given poly in R[variables][other_variables] converts it to poly in R[x1,x2,...,xN]
|
| Modifier and Type | Field and Description |
|---|---|
UnivariatePolynomial<BigInteger> |
HenselLifting.bQuadraticLift.base
Initial Z[x] poly
|
| Modifier and Type | Method and Description |
|---|---|
UnivariatePolynomial<BigInteger> |
HenselLifting.bLinearLift.aCoFactorMod() |
UnivariatePolynomial<E> |
UnivariatePolynomial.add(E val)
Add constant to this.
|
UnivariatePolynomial<E> |
UnivariatePolynomial.add(UnivariatePolynomial<E> oth) |
UnivariatePolynomial<E> |
UnivariatePolynomial.addMonomial(E coefficient,
int exponent)
Adds
coefficient*x^exponent to this |
UnivariatePolynomial<E> |
UnivariatePolynomial.addMul(UnivariatePolynomial<E> oth,
E factor)
Adds
oth * factor to this |
UnivariatePolynomial<BigInteger> |
HenselLifting.bLinearLift.aFactorMod() |
static UnivariatePolynomial<BigInteger> |
UnivariatePolynomial.asPolyZSymmetric(UnivariatePolynomial<BigInteger> poly)
Converts Zp[x] polynomial to Z[x] polynomial formed from the coefficients of this represented in symmetric
modular form (
-modulus/2 <= cfx <= modulus/2). |
UnivariatePolynomial<BigInteger> |
HenselLifting.bLinearLift.bCoFactorMod() |
UnivariatePolynomial<BigInteger> |
HenselLifting.bLinearLift.bFactorMod() |
UnivariatePolynomial<E> |
UnivariatePolynomial.ccAsPoly() |
UnivariatePolynomial<E> |
UnivariatePolynomial.clone() |
UnivariatePolynomial<E> |
UnivariatePolynomial.composition(UnivariatePolynomial<E> value) |
static <E> UnivariatePolynomial<E> |
UnivariatePolynomial.constant(Ring<E> ring,
E constant)
Creates constant polynomial over specified ring
|
UnivariatePolynomial<E> |
UnivariatePolynomial.contentAsPoly() |
static UnivariatePolynomial<BigInteger> |
UnivariatePolynomial.create(long... data)
Creates new univariate Z[x] polynomial
|
static UnivariatePolynomial<BigInteger> |
UnivariatePolynomial.create(Ring<BigInteger> ring,
long... data)
Creates univariate polynomial over specified ring (with integer elements) with the specified coefficients
|
static <E> UnivariatePolynomial<E> |
UnivariatePolynomial.create(Ring<E> ring,
E... data)
Creates new univariate polynomial over specified ring with the specified coefficients.
|
UnivariatePolynomial<E>[] |
UnivariatePolynomial.createArray(int length) |
UnivariatePolynomial<E>[] |
UnivariatePolynomial.createArray(UnivariatePolynomial<E> a,
UnivariatePolynomial<E> b) |
UnivariatePolynomial<E>[][] |
UnivariatePolynomial.createArray2d(int length) |
UnivariatePolynomial<E>[][] |
UnivariatePolynomial.createArray2d(int length1,
int length2) |
UnivariatePolynomial<E> |
UnivariatePolynomial.createConstant(E val)
Creates constant polynomial with specified value (over the same ring)
|
UnivariatePolynomial<E> |
UnivariatePolynomial.createFromArray(E[] data)
Creates new poly with the specified coefficients (over the same ring)
|
UnivariatePolynomial<E> |
UnivariatePolynomial.createLinear(E cc,
E lc)
Creates linear polynomial of form
cc + x * lc (over the same ring) |
UnivariatePolynomial<E> |
UnivariatePolynomial.createMonomial(E coefficient,
int degree)
Creates monomial
coefficient * x^degree (over the same ring) |
UnivariatePolynomial<E> |
UnivariatePolynomial.createMonomial(int degree) |
UnivariatePolynomial<E> |
UnivariatePolynomial.createOne() |
static <E> UnivariatePolynomial<E> |
UnivariatePolynomial.createUnsafe(Ring<E> ring,
E[] data)
skips
ring.setToValueOf(data) |
UnivariatePolynomial<E> |
UnivariatePolynomial.createZero() |
UnivariatePolynomial<E> |
UnivariatePolynomial.decrement() |
UnivariatePolynomial<E> |
UnivariatePolynomial.derivative() |
static <E> UnivariatePolynomial<E>[] |
UnivariateDivision.divideAndRemainder(UnivariatePolynomial<E> dividend,
UnivariatePolynomial<E> divider,
boolean copy)
Returns quotient and remainder.
|
static <E> UnivariatePolynomial<E>[] |
UnivariateDivision.divideAndRemainderClassic(UnivariatePolynomial<E> dividend,
UnivariatePolynomial<E> divider,
boolean copy)
Classical algorithm for division with remainder.
|
static <E> UnivariatePolynomial<E>[] |
UnivariateDivision.divideAndRemainderFast(UnivariatePolynomial<E> dividend,
UnivariatePolynomial<E> divider,
boolean copy)
Fast algorithm for division with remainder using Newton's iteration.
|
static <E> UnivariatePolynomial<E>[] |
UnivariateDivision.divideAndRemainderFast(UnivariatePolynomial<E> dividend,
UnivariatePolynomial<E> divider,
UnivariateDivision.InverseModMonomial<UnivariatePolynomial<E>> invMod,
boolean copy)
Fast algorithm for division with remainder using Newton's iteration.
|
UnivariatePolynomial<E> |
UnivariatePolynomial.divideByLC(UnivariatePolynomial<E> other) |
UnivariatePolynomial<E> |
UnivariatePolynomial.divideExact(E factor)
Divides this polynomial by a
factor or throws exception if exact division is not possible |
UnivariatePolynomial<E> |
UnivariatePolynomial.divideOrNull(E factor)
Divides this polynomial by a
factor or returns null (causing loss of internal data) if some of
the elements can't be exactly divided by the factor. |
UnivariatePolynomial<E> |
UnivariatePolynomial.getAsPoly(int i) |
UnivariatePolynomial<E> |
UnivariateInterpolation.Interpolation.getInterpolatingPolynomial()
Returns resulting interpolating polynomial
|
UnivariatePolynomial<E> |
UnivariatePolynomial.getRange(int from,
int to) |
UnivariatePolynomial<E> |
UnivariatePolynomial.increment() |
static <E> UnivariatePolynomial<E> |
UnivariateInterpolation.interpolateLagrange(Ring<E> ring,
E[] points,
E[] values)
Constructs an interpolating polynomial which values at
points[i] are exactly values[i]. |
static <E> UnivariatePolynomial<E> |
UnivariateInterpolation.interpolateNewton(Ring<E> ring,
E[] points,
E[] values)
Constructs an interpolating polynomial which values at
points[i] are exactly values[i]. |
UnivariatePolynomial<E> |
UnivariatePolynomial.lcAsPoly() |
<T> UnivariatePolynomial<T> |
UnivariatePolynomial.mapCoefficients(Ring<T> ring,
Function<E,T> mapper)
Applies transformation function to this and returns the result.
|
default <E> UnivariatePolynomial<E> |
IUnivariatePolynomial.mapCoefficientsAsPolys(Ring<E> ring,
Function<Poly,E> mapper) |
static UnivariatePolynomial<Rational<BigInteger>>[] |
UnivariateGCD.ModularExtendedRationalGCD(UnivariatePolynomial<Rational<BigInteger>> a,
UnivariatePolynomial<Rational<BigInteger>> b)
Computes
[gcd(a,b), s, t] such that s * a + t * b = gcd(a, b). |
static UnivariatePolynomial<Rational<BigInteger>>[] |
UnivariateGCD.ModularExtendedResultantGCDInQ(UnivariatePolynomial<Rational<BigInteger>> a,
UnivariatePolynomial<Rational<BigInteger>> b)
Modular extended GCD algorithm for polynomials over Q with the use of resultants.
|
static UnivariatePolynomial<BigInteger>[] |
UnivariateGCD.ModularExtendedResultantGCDInZ(UnivariatePolynomial<BigInteger> a,
UnivariatePolynomial<BigInteger> b)
Modular extended GCD algorithm for polynomials over Z with the use of resultants.
|
static UnivariatePolynomial<BigInteger> |
UnivariateGCD.ModularGCD(UnivariatePolynomial<BigInteger> a,
UnivariatePolynomial<BigInteger> b)
Modular GCD algorithm for polynomials over Z.
|
static UnivariatePolynomial<Rational<BigInteger>> |
UnivariateResultants.ModularResultantInNumberField(UnivariatePolynomial<UnivariatePolynomial<Rational<BigInteger>>> a,
UnivariatePolynomial<UnivariatePolynomial<Rational<BigInteger>>> b)
Modular resultant in simple number field
|
static UnivariatePolynomial<BigInteger> |
UnivariateResultants.ModularResultantInRingOfIntegersOfNumberField(UnivariatePolynomial<UnivariatePolynomial<BigInteger>> a,
UnivariatePolynomial<UnivariatePolynomial<BigInteger>> b)
Modular resultant in the ring of integers of number field
|
UnivariatePolynomial<E> |
UnivariatePolynomial.monic() |
UnivariatePolynomial<E> |
UnivariatePolynomial.monic(E factor)
Sets
this to its monic part multiplied by the factor. |
UnivariatePolynomial<E> |
UnivariatePolynomial.monicWithLC(UnivariatePolynomial<E> other) |
UnivariatePolynomial<E> |
UnivariatePolynomial.multiply(E factor)
Multiplies
this by the factor |
UnivariatePolynomial<E> |
UnivariatePolynomial.multiply(long factor) |
UnivariatePolynomial<E> |
UnivariatePolynomial.multiply(UnivariatePolynomial<E> oth) |
UnivariatePolynomial<E> |
UnivariatePolynomial.multiplyByBigInteger(BigInteger factor) |
UnivariatePolynomial<E> |
UnivariatePolynomial.multiplyByLC(UnivariatePolynomial<E> other) |
UnivariatePolynomial<E> |
UnivariatePolynomial.negate() |
static <E> UnivariatePolynomial<E> |
UnivariatePolynomial.one(Ring<E> ring)
Creates unit polynomial over specified ring
|
static <E> UnivariatePolynomial<E> |
UnivariatePolynomial.parse(String string,
Ring<E> ring)
Deprecated.
|
static <E> UnivariatePolynomial<E> |
UnivariatePolynomial.parse(String string,
Ring<E> ring,
String var)
Parse string into polynomial
|
UnivariatePolynomial<E> |
UnivariatePolynomial.parsePoly(String string) |
UnivariatePolynomial<BigInteger> |
HenselLifting.bQuadraticLift.polyMod() |
UnivariatePolynomial<BigInteger> |
HenselLifting.bLinearLift.polyMod() |
static UnivariatePolynomial<UnivariatePolynomial<Rational<BigInteger>>> |
UnivariateGCD.PolynomialGCDInNumberField(UnivariatePolynomial<UnivariatePolynomial<Rational<BigInteger>>> a,
UnivariatePolynomial<UnivariatePolynomial<Rational<BigInteger>>> b)
Computes GCD via Langemyr & Mccallum modular algorithm over algebraic number field
|
static UnivariatePolynomial<UnivariatePolynomial<BigInteger>> |
UnivariateGCD.PolynomialGCDInRingOfIntegersOfNumberField(UnivariatePolynomial<UnivariatePolynomial<BigInteger>> a,
UnivariatePolynomial<UnivariatePolynomial<BigInteger>> b)
Computes some GCD associate via Langemyr & Mccallum modular algorithm over algebraic integers
|
static <E> UnivariatePolynomial<E> |
ModularComposition.powModulusMod(UnivariatePolynomial<E> poly,
UnivariatePolynomial<E> polyModulus,
UnivariateDivision.InverseModMonomial<UnivariatePolynomial<E>> invMod,
ArrayList<UnivariatePolynomial<E>> xPowers)
Returns
poly^modulus mod polyModulus using precomputed monomial powers x^{i*modulus} mod
polyModulus for i in [0...degree(poly)] |
UnivariatePolynomial<E> |
UnivariatePolynomial.primitivePart() |
UnivariatePolynomial<E> |
UnivariatePolynomial.primitivePartSameSign() |
static <E> UnivariatePolynomial<E>[] |
UnivariateDivision.pseudoDivideAndRemainder(UnivariatePolynomial<E> dividend,
UnivariatePolynomial<E> divider,
boolean copy)
Returns quotient and remainder using pseudo division.
|
static <E> UnivariatePolynomial<E> |
UnivariateDivision.quotient(UnivariatePolynomial<E> dividend,
UnivariatePolynomial<E> divider,
boolean copy)
Returns quotient of
dividend and divider. |
static <E> UnivariatePolynomial<E> |
UnivariateDivision.quotientFast(UnivariatePolynomial<E> dividend,
UnivariatePolynomial<E> divider,
UnivariateDivision.InverseModMonomial<UnivariatePolynomial<E>> invMod,
boolean copy)
Fast quotient using Newton's iteration.
|
static <E> UnivariatePolynomial<E> |
IrreduciblePolynomials.randomIrreduciblePolynomial(Ring<E> ring,
int degree,
org.apache.commons.math3.random.RandomGenerator rnd)
Generated random irreducible polynomial over specified ring of degree
degree |
static UnivariatePolynomial<BigInteger> |
IrreduciblePolynomials.randomIrreduciblePolynomialOverZ(int degree,
org.apache.commons.math3.random.RandomGenerator rnd)
Generated random irreducible polynomial over Z
|
static UnivariatePolynomial<BigInteger> |
RandomUnivariatePolynomials.randomMonicPoly(int degree,
BigInteger modulus,
org.apache.commons.math3.random.RandomGenerator rnd)
Creates random polynomial of specified
degree. |
static <E> UnivariatePolynomial<E> |
RandomUnivariatePolynomials.randomMonicPoly(int degree,
Ring<E> ring,
org.apache.commons.math3.random.RandomGenerator rnd)
Creates random polynomial of specified
degree. |
static UnivariatePolynomial<BigInteger> |
RandomUnivariatePolynomials.randomPoly(int degree,
BigInteger bound,
org.apache.commons.math3.random.RandomGenerator rnd)
Creates random polynomial of specified
degree with elements bounded by bound (by absolute
value). |
static <E> UnivariatePolynomial<E> |
RandomUnivariatePolynomials.randomPoly(int degree,
Ring<E> ring,
Function<org.apache.commons.math3.random.RandomGenerator,E> method,
org.apache.commons.math3.random.RandomGenerator rnd)
Creates random polynomial of specified
degree with elements from specified ring |
static <E> UnivariatePolynomial<E> |
RandomUnivariatePolynomials.randomPoly(int degree,
Ring<E> ring,
org.apache.commons.math3.random.RandomGenerator rnd)
Creates random polynomial of specified
degree with elements from specified ring |
static <E> UnivariatePolynomial<E> |
UnivariateDivision.remainder(UnivariatePolynomial<E> dividend,
UnivariatePolynomial<E> divider,
boolean copy)
Returns remainder of
dividend and divider. |
static <E> UnivariatePolynomial<E> |
UnivariateDivision.remainderFast(UnivariatePolynomial<E> dividend,
UnivariatePolynomial<E> divider,
UnivariateDivision.InverseModMonomial<UnivariatePolynomial<E>> invMod,
boolean copy)
Fast remainder using Newton's iteration with switch to classical remainder for small polynomials.
|
UnivariatePolynomial<E> |
UnivariatePolynomial.reverse() |
UnivariatePolynomial<E> |
UnivariatePolynomial.scale(E scaling)
Replaces x -> scale * x and returns a copy
|
UnivariatePolynomial<E> |
UnivariatePolynomial.set(int i,
E el)
Sets i-th coefficient of this poly with specified value
|
UnivariatePolynomial<E> |
UnivariatePolynomial.set(UnivariatePolynomial<E> oth) |
UnivariatePolynomial<E> |
UnivariatePolynomial.setAndDestroy(UnivariatePolynomial<E> oth) |
UnivariatePolynomial<E> |
UnivariatePolynomial.setCoefficientRingFrom(UnivariatePolynomial<E> poly) |
UnivariatePolynomial<E> |
UnivariatePolynomial.setFrom(int indexInThis,
UnivariatePolynomial<E> poly,
int indexInPoly) |
UnivariatePolynomial<E> |
UnivariatePolynomial.setLC(E lc)
Sets the leading coefficient of this poly
|
UnivariatePolynomial<E> |
UnivariatePolynomial.setRing(Ring<E> newRing)
Returns a copy of this with elements reduced to a new coefficient ring
|
UnivariatePolynomial<E> |
UnivariatePolynomial.setRingUnsafe(Ring<E> newRing)
internal API
|
UnivariatePolynomial<E> |
UnivariatePolynomial.setZero(int i) |
UnivariatePolynomial<E> |
UnivariatePolynomial.shift(E value)
Shifts variable x -> x + value and returns the result (new instance)
|
UnivariatePolynomial<E> |
UnivariatePolynomial.shiftLeft(int offset) |
UnivariatePolynomial<E> |
UnivariatePolynomial.shiftRight(int offset) |
UnivariatePolynomial<E> |
UnivariatePolynomial.square() |
UnivariatePolynomial<E> |
UnivariatePolynomial.subtract(E val)
Subtract constant from this.
|
UnivariatePolynomial<E> |
UnivariatePolynomial.subtract(UnivariatePolynomial<E> oth) |
UnivariatePolynomial<E> |
UnivariatePolynomial.subtract(UnivariatePolynomial<E> oth,
E factor,
int exponent)
Subtracts
factor * x^exponent * oth from this |
UnivariatePolynomial<BigInteger> |
UnivariatePolynomialZp64.toBigPoly()
Converts this to a polynomial over BigIntegers
|
UnivariatePolynomial<BigInteger> |
UnivariatePolynomialZ64.toBigPoly()
Converts this to a polynomial over BigIntegers
|
UnivariatePolynomial<E> |
UnivariatePolynomial.toZero() |
UnivariatePolynomial<E> |
UnivariatePolynomial.truncate(int newDegree) |
static <E> UnivariatePolynomial<E> |
UnivariatePolynomial.zero(Ring<E> ring)
Creates zero polynomial over specified ring
|
| Modifier and Type | Method and Description |
|---|---|
UnivariatePolynomial<E> |
UnivariatePolynomial.add(UnivariatePolynomial<E> oth) |
UnivariatePolynomial<E> |
UnivariatePolynomial.addMul(UnivariatePolynomial<E> oth,
E factor)
Adds
oth * factor to this |
static UnivariatePolynomialZ64 |
UnivariatePolynomial.asOverZ64(UnivariatePolynomial<BigInteger> poly)
Converts poly over BigIntegers to machine-sized polynomial in Z
|
static UnivariatePolynomialZp64 |
UnivariatePolynomial.asOverZp64(UnivariatePolynomial<BigInteger> poly)
Converts Zp[x] poly over BigIntegers to machine-sized polynomial in Zp
|
static UnivariatePolynomialZp64 |
UnivariatePolynomial.asOverZp64(UnivariatePolynomial<BigInteger> poly,
IntegersZp64 ring)
Converts Zp[x] poly over BigIntegers to machine-sized polynomial in Zp
|
static UnivariatePolynomialZp64 |
UnivariatePolynomial.asOverZp64Q(UnivariatePolynomial<Rational<BigInteger>> poly,
IntegersZp64 ring)
Converts Zp[x] poly over rationals to machine-sized polynomial in Zp
|
static UnivariatePolynomial<BigInteger> |
UnivariatePolynomial.asPolyZSymmetric(UnivariatePolynomial<BigInteger> poly)
Converts Zp[x] polynomial to Z[x] polynomial formed from the coefficients of this represented in symmetric
modular form (
-modulus/2 <= cfx <= modulus/2). |
static <E> UnivariateResultants.PolynomialRemainderSequence<E> |
UnivariateResultants.ClassicalPRS(UnivariatePolynomial<E> a,
UnivariatePolynomial<E> b)
Computes polynomial remainder sequence using classical division algorithm
|
static <E> UnivariateResultants.PolynomialRemainderSequence<E> |
UnivariateResultants.ClassicalPRS(UnivariatePolynomial<E> a,
UnivariatePolynomial<E> b)
Computes polynomial remainder sequence using classical division algorithm
|
int |
UnivariatePolynomial.compareTo(UnivariatePolynomial<E> o) |
UnivariatePolynomial<E> |
UnivariatePolynomial.composition(UnivariatePolynomial<E> value) |
UnivariatePolynomial<E>[] |
UnivariatePolynomial.createArray(UnivariatePolynomial<E> a,
UnivariatePolynomial<E> b) |
UnivariatePolynomial<E>[] |
UnivariatePolynomial.createArray(UnivariatePolynomial<E> a,
UnivariatePolynomial<E> b) |
static HenselLifting.bLinearLift |
HenselLifting.createLinearLift(BigInteger modulus,
UnivariatePolynomial<BigInteger> poly,
UnivariatePolynomialZp64 aFactor,
UnivariatePolynomialZp64 bFactor)
Creates linear Hensel lift.
|
static HenselLifting.bLinearLift |
HenselLifting.createLinearLift(long modulus,
UnivariatePolynomial<BigInteger> poly,
UnivariatePolynomialZp64 aFactor,
UnivariatePolynomialZp64 bFactor)
Creates linear Hensel lift.
|
static HenselLifting.bQuadraticLift |
HenselLifting.createQuadraticLift(BigInteger modulus,
UnivariatePolynomial<BigInteger> poly,
UnivariatePolynomial<BigInteger> aFactor,
UnivariatePolynomial<BigInteger> bFactor)
Creates quadratic Hensel lift.
|
static HenselLifting.bQuadraticLift |
HenselLifting.createQuadraticLift(BigInteger modulus,
UnivariatePolynomial<BigInteger> poly,
UnivariatePolynomial<BigInteger> aFactor,
UnivariatePolynomial<BigInteger> bFactor)
Creates quadratic Hensel lift.
|
static HenselLifting.bQuadraticLift |
HenselLifting.createQuadraticLift(BigInteger modulus,
UnivariatePolynomial<BigInteger> poly,
UnivariatePolynomial<BigInteger> aFactor,
UnivariatePolynomial<BigInteger> bFactor)
Creates quadratic Hensel lift.
|
static HenselLifting.bQuadraticLift |
HenselLifting.createQuadraticLift(BigInteger modulus,
UnivariatePolynomial<BigInteger> poly,
UnivariatePolynomialZp64 aFactor,
UnivariatePolynomialZp64 bFactor)
Creates quadratic Hensel lift.
|
static <E> E |
UnivariateResultants.Discriminant(UnivariatePolynomial<E> a)
Computes discriminant of polynomial
|
static <E> UnivariatePolynomial<E>[] |
UnivariateDivision.divideAndRemainder(UnivariatePolynomial<E> dividend,
UnivariatePolynomial<E> divider,
boolean copy)
Returns quotient and remainder.
|
static <E> UnivariatePolynomial<E>[] |
UnivariateDivision.divideAndRemainder(UnivariatePolynomial<E> dividend,
UnivariatePolynomial<E> divider,
boolean copy)
Returns quotient and remainder.
|
static <E> UnivariatePolynomial<E>[] |
UnivariateDivision.divideAndRemainderClassic(UnivariatePolynomial<E> dividend,
UnivariatePolynomial<E> divider,
boolean copy)
Classical algorithm for division with remainder.
|
static <E> UnivariatePolynomial<E>[] |
UnivariateDivision.divideAndRemainderClassic(UnivariatePolynomial<E> dividend,
UnivariatePolynomial<E> divider,
boolean copy)
Classical algorithm for division with remainder.
|
static <E> UnivariatePolynomial<E>[] |
UnivariateDivision.divideAndRemainderFast(UnivariatePolynomial<E> dividend,
UnivariatePolynomial<E> divider,
boolean copy)
Fast algorithm for division with remainder using Newton's iteration.
|
static <E> UnivariatePolynomial<E>[] |
UnivariateDivision.divideAndRemainderFast(UnivariatePolynomial<E> dividend,
UnivariatePolynomial<E> divider,
boolean copy)
Fast algorithm for division with remainder using Newton's iteration.
|
static <E> UnivariatePolynomial<E>[] |
UnivariateDivision.divideAndRemainderFast(UnivariatePolynomial<E> dividend,
UnivariatePolynomial<E> divider,
UnivariateDivision.InverseModMonomial<UnivariatePolynomial<E>> invMod,
boolean copy)
Fast algorithm for division with remainder using Newton's iteration.
|
static <E> UnivariatePolynomial<E>[] |
UnivariateDivision.divideAndRemainderFast(UnivariatePolynomial<E> dividend,
UnivariatePolynomial<E> divider,
UnivariateDivision.InverseModMonomial<UnivariatePolynomial<E>> invMod,
boolean copy)
Fast algorithm for division with remainder using Newton's iteration.
|
UnivariatePolynomial<E> |
UnivariatePolynomial.divideByLC(UnivariatePolynomial<E> other) |
static PolynomialFactorDecomposition<UnivariatePolynomial<UnivariatePolynomial<Rational<BigInteger>>>> |
UnivariateFactorization.FactorInNumberField(UnivariatePolynomial<UnivariatePolynomial<Rational<BigInteger>>> poly)
Factors polynomial in Q(alpha)[x] via Trager's algorithm
|
static <E> PolynomialFactorDecomposition<UnivariatePolynomial<Rational<E>>> |
UnivariateFactorization.FactorInQ(UnivariatePolynomial<Rational<E>> poly)
Factors polynomial over Q
|
static PolynomialFactorDecomposition<UnivariatePolynomial<UnivariatePolynomial<Rational<BigInteger>>>> |
UnivariateFactorization.FactorSquareFreeInNumberField(UnivariatePolynomial<UnivariatePolynomial<Rational<BigInteger>>> poly)
Factors polynomial in Q(alpha)[x] via Trager's algorithm
|
static List<UnivariatePolynomial<BigInteger>> |
HenselLifting.liftFactorization(BigInteger modulus,
BigInteger desiredBound,
UnivariatePolynomial<BigInteger> poly,
List<UnivariatePolynomialZp64> modularFactors)
Lifts modular factorization until
modulus will overcome desiredBound. |
static List<UnivariatePolynomial<BigInteger>> |
HenselLifting.liftFactorization(BigInteger modulus,
BigInteger desiredBound,
UnivariatePolynomial<BigInteger> poly,
List<UnivariatePolynomialZp64> modularFactors,
boolean quadratic)
Lifts modular factorization until
modulus will overcome desiredBound. |
static List<UnivariatePolynomial<BigInteger>> |
HenselLifting.liftFactorizationQuadratic(BigInteger modulus,
BigInteger desiredBound,
UnivariatePolynomial<BigInteger> poly,
List<UnivariatePolynomial<BigInteger>> modularFactors)
Lifts modular factorization until
modulus will overcome desiredBound. |
static BigInteger |
UnivariatePolynomial.mignotteBound(UnivariatePolynomial<BigInteger> poly)
Returns Mignotte's bound (sqrt(n+1) * 2^n max |this|) of the poly
|
static UnivariatePolynomial<Rational<BigInteger>>[] |
UnivariateGCD.ModularExtendedRationalGCD(UnivariatePolynomial<Rational<BigInteger>> a,
UnivariatePolynomial<Rational<BigInteger>> b)
Computes
[gcd(a,b), s, t] such that s * a + t * b = gcd(a, b). |
static UnivariatePolynomial<Rational<BigInteger>>[] |
UnivariateGCD.ModularExtendedRationalGCD(UnivariatePolynomial<Rational<BigInteger>> a,
UnivariatePolynomial<Rational<BigInteger>> b)
Computes
[gcd(a,b), s, t] such that s * a + t * b = gcd(a, b). |
static UnivariatePolynomial<Rational<BigInteger>>[] |
UnivariateGCD.ModularExtendedResultantGCDInQ(UnivariatePolynomial<Rational<BigInteger>> a,
UnivariatePolynomial<Rational<BigInteger>> b)
Modular extended GCD algorithm for polynomials over Q with the use of resultants.
|
static UnivariatePolynomial<Rational<BigInteger>>[] |
UnivariateGCD.ModularExtendedResultantGCDInQ(UnivariatePolynomial<Rational<BigInteger>> a,
UnivariatePolynomial<Rational<BigInteger>> b)
Modular extended GCD algorithm for polynomials over Q with the use of resultants.
|
static UnivariatePolynomial<BigInteger>[] |
UnivariateGCD.ModularExtendedResultantGCDInZ(UnivariatePolynomial<BigInteger> a,
UnivariatePolynomial<BigInteger> b)
Modular extended GCD algorithm for polynomials over Z with the use of resultants.
|
static UnivariatePolynomial<BigInteger>[] |
UnivariateGCD.ModularExtendedResultantGCDInZ(UnivariatePolynomial<BigInteger> a,
UnivariatePolynomial<BigInteger> b)
Modular extended GCD algorithm for polynomials over Z with the use of resultants.
|
static UnivariatePolynomial<BigInteger> |
UnivariateGCD.ModularGCD(UnivariatePolynomial<BigInteger> a,
UnivariatePolynomial<BigInteger> b)
Modular GCD algorithm for polynomials over Z.
|
static UnivariatePolynomial<BigInteger> |
UnivariateGCD.ModularGCD(UnivariatePolynomial<BigInteger> a,
UnivariatePolynomial<BigInteger> b)
Modular GCD algorithm for polynomials over Z.
|
static BigInteger |
UnivariateResultants.ModularResultant(UnivariatePolynomial<BigInteger> a,
UnivariatePolynomial<BigInteger> b)
Modular algorithm for computing resultants over Z
|
static BigInteger |
UnivariateResultants.ModularResultant(UnivariatePolynomial<BigInteger> a,
UnivariatePolynomial<BigInteger> b)
Modular algorithm for computing resultants over Z
|
static UnivariatePolynomial<Rational<BigInteger>> |
UnivariateResultants.ModularResultantInNumberField(UnivariatePolynomial<UnivariatePolynomial<Rational<BigInteger>>> a,
UnivariatePolynomial<UnivariatePolynomial<Rational<BigInteger>>> b)
Modular resultant in simple number field
|
static UnivariatePolynomial<Rational<BigInteger>> |
UnivariateResultants.ModularResultantInNumberField(UnivariatePolynomial<UnivariatePolynomial<Rational<BigInteger>>> a,
UnivariatePolynomial<UnivariatePolynomial<Rational<BigInteger>>> b)
Modular resultant in simple number field
|
static UnivariatePolynomial<BigInteger> |
UnivariateResultants.ModularResultantInRingOfIntegersOfNumberField(UnivariatePolynomial<UnivariatePolynomial<BigInteger>> a,
UnivariatePolynomial<UnivariatePolynomial<BigInteger>> b)
Modular resultant in the ring of integers of number field
|
static UnivariatePolynomial<BigInteger> |
UnivariateResultants.ModularResultantInRingOfIntegersOfNumberField(UnivariatePolynomial<UnivariatePolynomial<BigInteger>> a,
UnivariatePolynomial<UnivariatePolynomial<BigInteger>> b)
Modular resultant in the ring of integers of number field
|
UnivariatePolynomial<E> |
UnivariatePolynomial.monicWithLC(UnivariatePolynomial<E> other) |
UnivariatePolynomial<E> |
UnivariatePolynomial.multiply(UnivariatePolynomial<E> oth) |
UnivariatePolynomial<E> |
UnivariatePolynomial.multiplyByLC(UnivariatePolynomial<E> other) |
static BigInteger |
UnivariatePolynomial.norm1(UnivariatePolynomial<BigInteger> poly)
Returns L1 norm of the polynomial, i.e.
|
static BigInteger |
UnivariatePolynomial.norm2(UnivariatePolynomial<BigInteger> poly)
Returns L2 norm of the polynomial, i.e.
|
static double |
UnivariatePolynomial.norm2Double(UnivariatePolynomial<BigInteger> poly)
Returns L2 norm of the poly, i.e.
|
static UnivariatePolynomial<UnivariatePolynomial<Rational<BigInteger>>> |
UnivariateGCD.PolynomialGCDInNumberField(UnivariatePolynomial<UnivariatePolynomial<Rational<BigInteger>>> a,
UnivariatePolynomial<UnivariatePolynomial<Rational<BigInteger>>> b)
Computes GCD via Langemyr & Mccallum modular algorithm over algebraic number field
|
static UnivariatePolynomial<UnivariatePolynomial<Rational<BigInteger>>> |
UnivariateGCD.PolynomialGCDInNumberField(UnivariatePolynomial<UnivariatePolynomial<Rational<BigInteger>>> a,
UnivariatePolynomial<UnivariatePolynomial<Rational<BigInteger>>> b)
Computes GCD via Langemyr & Mccallum modular algorithm over algebraic number field
|
static UnivariatePolynomial<UnivariatePolynomial<BigInteger>> |
UnivariateGCD.PolynomialGCDInRingOfIntegersOfNumberField(UnivariatePolynomial<UnivariatePolynomial<BigInteger>> a,
UnivariatePolynomial<UnivariatePolynomial<BigInteger>> b)
Computes some GCD associate via Langemyr & Mccallum modular algorithm over algebraic integers
|
static UnivariatePolynomial<UnivariatePolynomial<BigInteger>> |
UnivariateGCD.PolynomialGCDInRingOfIntegersOfNumberField(UnivariatePolynomial<UnivariatePolynomial<BigInteger>> a,
UnivariatePolynomial<UnivariatePolynomial<BigInteger>> b)
Computes some GCD associate via Langemyr & Mccallum modular algorithm over algebraic integers
|
static <E> UnivariatePolynomial<E> |
ModularComposition.powModulusMod(UnivariatePolynomial<E> poly,
UnivariatePolynomial<E> polyModulus,
UnivariateDivision.InverseModMonomial<UnivariatePolynomial<E>> invMod,
ArrayList<UnivariatePolynomial<E>> xPowers)
Returns
poly^modulus mod polyModulus using precomputed monomial powers x^{i*modulus} mod
polyModulus for i in [0...degree(poly)] |
static <E> UnivariatePolynomial<E> |
ModularComposition.powModulusMod(UnivariatePolynomial<E> poly,
UnivariatePolynomial<E> polyModulus,
UnivariateDivision.InverseModMonomial<UnivariatePolynomial<E>> invMod,
ArrayList<UnivariatePolynomial<E>> xPowers)
Returns
poly^modulus mod polyModulus using precomputed monomial powers x^{i*modulus} mod
polyModulus for i in [0...degree(poly)] |
static <E> UnivariateResultants.PolynomialRemainderSequence<E> |
UnivariateResultants.PrimitivePRS(UnivariatePolynomial<E> a,
UnivariatePolynomial<E> b)
Computes polynomial remainder sequence using primitive division algorithm
|
static <E> UnivariateResultants.PolynomialRemainderSequence<E> |
UnivariateResultants.PrimitivePRS(UnivariatePolynomial<E> a,
UnivariatePolynomial<E> b)
Computes polynomial remainder sequence using primitive division algorithm
|
static <E> UnivariatePolynomial<E>[] |
UnivariateDivision.pseudoDivideAndRemainder(UnivariatePolynomial<E> dividend,
UnivariatePolynomial<E> divider,
boolean copy)
Returns quotient and remainder using pseudo division.
|
static <E> UnivariatePolynomial<E>[] |
UnivariateDivision.pseudoDivideAndRemainder(UnivariatePolynomial<E> dividend,
UnivariatePolynomial<E> divider,
boolean copy)
Returns quotient and remainder using pseudo division.
|
static <E> UnivariateResultants.PolynomialRemainderSequence<E> |
UnivariateResultants.PseudoPRS(UnivariatePolynomial<E> a,
UnivariatePolynomial<E> b)
Computes polynomial remainder sequence using pseudo division algorithm
|
static <E> UnivariateResultants.PolynomialRemainderSequence<E> |
UnivariateResultants.PseudoPRS(UnivariatePolynomial<E> a,
UnivariatePolynomial<E> b)
Computes polynomial remainder sequence using pseudo division algorithm
|
static <E> UnivariatePolynomial<E> |
UnivariateDivision.quotient(UnivariatePolynomial<E> dividend,
UnivariatePolynomial<E> divider,
boolean copy)
Returns quotient of
dividend and divider. |
static <E> UnivariatePolynomial<E> |
UnivariateDivision.quotient(UnivariatePolynomial<E> dividend,
UnivariatePolynomial<E> divider,
boolean copy)
Returns quotient of
dividend and divider. |
static <E> UnivariatePolynomial<E> |
UnivariateDivision.quotientFast(UnivariatePolynomial<E> dividend,
UnivariatePolynomial<E> divider,
UnivariateDivision.InverseModMonomial<UnivariatePolynomial<E>> invMod,
boolean copy)
Fast quotient using Newton's iteration.
|
static <E> UnivariatePolynomial<E> |
UnivariateDivision.quotientFast(UnivariatePolynomial<E> dividend,
UnivariatePolynomial<E> divider,
UnivariateDivision.InverseModMonomial<UnivariatePolynomial<E>> invMod,
boolean copy)
Fast quotient using Newton's iteration.
|
static <E> UnivariateResultants.PolynomialRemainderSequence<E> |
UnivariateResultants.ReducedPRS(UnivariatePolynomial<E> a,
UnivariatePolynomial<E> b)
Computes polynomial remainder sequence using reduced division algorithm
|
static <E> UnivariateResultants.PolynomialRemainderSequence<E> |
UnivariateResultants.ReducedPRS(UnivariatePolynomial<E> a,
UnivariatePolynomial<E> b)
Computes polynomial remainder sequence using reduced division algorithm
|
static <E> UnivariatePolynomial<E> |
UnivariateDivision.remainder(UnivariatePolynomial<E> dividend,
UnivariatePolynomial<E> divider,
boolean copy)
Returns remainder of
dividend and divider. |
static <E> UnivariatePolynomial<E> |
UnivariateDivision.remainder(UnivariatePolynomial<E> dividend,
UnivariatePolynomial<E> divider,
boolean copy)
Returns remainder of
dividend and divider. |
static <E> E |
UnivariateDivision.remainderCoefficientBound(UnivariatePolynomial<E> dividend,
UnivariatePolynomial<E> divider)
Gives an upper bound on the coefficients of remainder of division of
dividend by divider |
static <E> E |
UnivariateDivision.remainderCoefficientBound(UnivariatePolynomial<E> dividend,
UnivariatePolynomial<E> divider)
Gives an upper bound on the coefficients of remainder of division of
dividend by divider |
static <E> UnivariatePolynomial<E> |
UnivariateDivision.remainderFast(UnivariatePolynomial<E> dividend,
UnivariatePolynomial<E> divider,
UnivariateDivision.InverseModMonomial<UnivariatePolynomial<E>> invMod,
boolean copy)
Fast remainder using Newton's iteration with switch to classical remainder for small polynomials.
|
static <E> UnivariatePolynomial<E> |
UnivariateDivision.remainderFast(UnivariatePolynomial<E> dividend,
UnivariatePolynomial<E> divider,
UnivariateDivision.InverseModMonomial<UnivariatePolynomial<E>> invMod,
boolean copy)
Fast remainder using Newton's iteration with switch to classical remainder for small polynomials.
|
static <E> E |
UnivariateResultants.Resultant(UnivariatePolynomial<E> a,
UnivariatePolynomial<E> b)
Computes resultant of two polynomials
|
static <E> E |
UnivariateResultants.Resultant(UnivariatePolynomial<E> a,
UnivariatePolynomial<E> b)
Computes resultant of two polynomials
|
boolean |
UnivariatePolynomial.sameCoefficientRingWith(UnivariatePolynomial<E> oth) |
UnivariatePolynomial<E> |
UnivariatePolynomial.set(UnivariatePolynomial<E> oth) |
UnivariatePolynomial<E> |
UnivariatePolynomial.setAndDestroy(UnivariatePolynomial<E> oth) |
UnivariatePolynomial<E> |
UnivariatePolynomial.setCoefficientRingFrom(UnivariatePolynomial<E> poly) |
UnivariatePolynomial<E> |
UnivariatePolynomial.setFrom(int indexInThis,
UnivariatePolynomial<E> poly,
int indexInPoly) |
static <E> UnivariateResultants.PolynomialRemainderSequence<E> |
UnivariateResultants.SubresultantPRS(UnivariatePolynomial<E> a,
UnivariatePolynomial<E> b)
Computes subresultant polynomial remainder sequence
|
static <E> UnivariateResultants.PolynomialRemainderSequence<E> |
UnivariateResultants.SubresultantPRS(UnivariatePolynomial<E> a,
UnivariatePolynomial<E> b)
Computes subresultant polynomial remainder sequence
|
static <E> List<E> |
UnivariateResultants.Subresultants(UnivariatePolynomial<E> a,
UnivariatePolynomial<E> b)
Computes sequence of scalar subresultants.
|
static <E> List<E> |
UnivariateResultants.Subresultants(UnivariatePolynomial<E> a,
UnivariatePolynomial<E> b)
Computes sequence of scalar subresultants.
|
UnivariatePolynomial<E> |
UnivariatePolynomial.subtract(UnivariatePolynomial<E> oth) |
UnivariatePolynomial<E> |
UnivariatePolynomial.subtract(UnivariatePolynomial<E> oth,
E factor,
int exponent)
Subtracts
factor * x^exponent * oth from this |
static boolean |
UnivariateGCD.updateCRT(ChineseRemainders.ChineseRemaindersMagic<BigInteger> magic,
UnivariatePolynomial<BigInteger> accumulated,
UnivariatePolynomialZp64 update)
Apply CRT to a poly
|
Copyright © 2022. All rights reserved.