Uses of Class
cc.redberry.rings.poly.univar.UnivariatePolynomial
-
Packages that use UnivariatePolynomial Package Description cc.redberry.rings cc.redberry.rings.io cc.redberry.rings.poly cc.redberry.rings.poly.multivar cc.redberry.rings.poly.univar -
-
Uses of UnivariatePolynomial in cc.redberry.rings
Fields in cc.redberry.rings with type parameters of type UnivariatePolynomial Modifier and Type Field Description static AlgebraicNumberField<UnivariatePolynomial<BigInteger>>Rings. GaussianIntegersRing of Gaussian integers (integer complex numbers).static AlgebraicNumberField<UnivariatePolynomial<Rational<BigInteger>>>Rings. GaussianRationalsField of Gaussian rationals (rational complex numbers).static UnivariateRing<UnivariatePolynomial<Rational<BigInteger>>>Rings. UnivariateRingQRing of univariate polynomials over rationals (Q[x])static UnivariateRing<UnivariatePolynomial<BigInteger>>Rings. UnivariateRingZRing of univariate polynomials over integers (Z[x])Methods in cc.redberry.rings that return types with arguments of type UnivariatePolynomial Modifier and Type Method 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 cardinalityprime ^ exponentfor arbitrary largeprimestatic <E> UnivariateRing<UnivariatePolynomial<E>>Rings. UnivariateRing(Ring<E> coefficientRing)Ring of univariate polynomials over specified coefficient ringstatic UnivariateRing<UnivariatePolynomial<BigInteger>>Rings. UnivariateRingZp(BigInteger modulus)Ring of univariate polynomials over Zp integers (Zp[x]) with arbitrary large modulus -
Uses of UnivariatePolynomial in cc.redberry.rings.io
Methods in cc.redberry.rings.io that return types with arguments of type UnivariatePolynomial Modifier and Type Method Description static <E> Coder<UnivariatePolynomial<E>,?,?>Coder. mkUnivariateCoder(IPolynomialRing<UnivariatePolynomial<E>> ring, Coder<E,?,?> cfCoder, String variable)Create coder for univariate polynomial ringsstatic <E> Coder<UnivariatePolynomial<E>,?,?>Coder. mkUnivariateCoder(IPolynomialRing<UnivariatePolynomial<E>> ring, Coder<E,?,?> cfCoder, Map<String,UnivariatePolynomial<E>> variables)Create coder for univariate polynomial ringsMethod parameters in cc.redberry.rings.io with type arguments of type UnivariatePolynomial Modifier and Type Method Description static <E> Coder<UnivariatePolynomial<E>,?,?>Coder. mkUnivariateCoder(IPolynomialRing<UnivariatePolynomial<E>> ring, Coder<E,?,?> cfCoder, String variable)Create coder for univariate polynomial ringsstatic <E> Coder<UnivariatePolynomial<E>,?,?>Coder. mkUnivariateCoder(IPolynomialRing<UnivariatePolynomial<E>> ring, Coder<E,?,?> cfCoder, Map<String,UnivariatePolynomial<E>> variables)Create coder for univariate polynomial ringsstatic <E> Coder<UnivariatePolynomial<E>,?,?>Coder. mkUnivariateCoder(IPolynomialRing<UnivariatePolynomial<E>> ring, Coder<E,?,?> cfCoder, Map<String,UnivariatePolynomial<E>> variables)Create coder for univariate polynomial rings -
Uses of UnivariatePolynomial in cc.redberry.rings.poly
Methods in cc.redberry.rings.poly that return UnivariatePolynomial Modifier and Type Method 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.Methods in cc.redberry.rings.poly that return types with arguments of type UnivariatePolynomial Modifier and Type Method Description static <E> Util.Tuple2<UnivariatePolynomial<E>,E>Util. toCommonDenominator(UnivariatePolynomial<Rational<E>> poly)Brings polynomial with rational coefficients to common denominatorMethods in cc.redberry.rings.poly with parameters of type UnivariatePolynomial Modifier and Type Method Description static <E> UnivariatePolynomial<Rational<E>>Util. asOverRationals(Ring<Rational<E>> field, UnivariatePolynomial<E> poly)static <E> EUtil. commonDenominator(UnivariatePolynomial<Rational<E>> poly)Returns a common denominator of given polystatic <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.ESimpleFieldExtension. 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 fieldstatic <E> Util.Tuple2<UnivariatePolynomial<E>,E>Util. toCommonDenominator(UnivariatePolynomial<Rational<E>> poly)Brings polynomial with rational coefficients to common denominatorConstructors in cc.redberry.rings.poly with parameters of type UnivariatePolynomial Constructor Description MultipleFieldExtension(MultipleFieldExtension<Term,mPoly,sPoly>[] tower, UnivariatePolynomial<mPoly>[] minimalPolynomialsOfGenerators, mPoly primitiveElement, sPoly[] generatorsReps, SimpleFieldExtension<sPoly> simpleExtension) -
Uses of UnivariatePolynomial in cc.redberry.rings.poly.multivar
Fields in cc.redberry.rings.poly.multivar declared as UnivariatePolynomial Modifier and Type Field Description UnivariatePolynomial<Rational<BigInteger>>GroebnerBases.HilbertSeries. initialNumeratorInitial numerator (numerator and denominator may have nontrivial GCD)UnivariatePolynomial<Rational<BigInteger>>GroebnerBases.HilbertSeries. numeratorReduced numerator (GCD is cancelled)Methods in cc.redberry.rings.poly.multivar that return UnivariatePolynomial Modifier and Type Method Description 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>>
UnivariatePolynomial<Poly>MultivariateConversions. asUnivariate(Poly poly, int variable)Given poly in R[x1,x2,...,xN] converts to poly in R[other_variables][variable]UnivariatePolynomial<E>MultivariatePolynomial. asUnivariate()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 polynomialUnivariatePolynomial<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)^mUnivariatePolynomial<Rational<BigInteger>>GroebnerBases.HilbertSeries. remainderNumerator()Remainder part R(t) of HPS(t): HPS(t) = I(t) + R(t)/(1-t)^mstatic <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>,uPoly extends IUnivariatePolynomial<uPoly>>
UnivariatePolynomial<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 evaluationUnivariatePolynomialMultivariatePolynomial. toDenseRecursiveForm()Gives a recursive univariate representation of this poly.Methods in cc.redberry.rings.poly.multivar with parameters of type UnivariatePolynomial Modifier and Type Method Description static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>>
PolyAMultivariatePolynomial. asMultivariate(UnivariatePolynomial<Poly> uPoly, int variable)Convert univariate polynomial over multivariate polynomials to a normal multivariate polystatic <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>>
PolyAMultivariatePolynomial. asMultivariate(UnivariatePolynomial<Poly> univariate, int uVariable, boolean join)static <E> MultivariatePolynomial<E>MultivariatePolynomial. asMultivariate(UnivariatePolynomial<E> poly, int nVariables, int variable, Comparator<DegreeVector> ordering)Converts univariate polynomial to multivariate.static <E> EMultivariatePolynomial. evaluateDenseRecursiveForm(UnivariatePolynomial recForm, int nVariables, E[] values)Evaluates polynomial given in a dense recursive form at a given pointsstatic <E> MultivariatePolynomial<E>MultivariatePolynomial. fromDenseRecursiveForm(UnivariatePolynomial recForm, int nVariables, Comparator<DegreeVector> ordering)Converts poly from a recursive univariate representation.static <Poly extends AMultivariatePolynomial<?,Poly>>
PolyMultivariateConversions. fromUnivariate(UnivariatePolynomial<Poly> poly, int variable)Given poly in R[variables][other_variables] converts it to poly in R[x1,x2,...,xN] -
Uses of UnivariatePolynomial in cc.redberry.rings.poly.univar
Fields in cc.redberry.rings.poly.univar declared as UnivariatePolynomial Modifier and Type Field Description UnivariatePolynomial<BigInteger>HenselLifting.bQuadraticLift. baseInitial Z[x] polyMethods in cc.redberry.rings.poly.univar that return UnivariatePolynomial Modifier and Type Method Description UnivariatePolynomial<BigInteger>HenselLifting.bLinearLift. aCoFactorMod()UnivariatePolynomial<E>UnivariatePolynomial. add(UnivariatePolynomial<E> oth)UnivariatePolynomial<E>UnivariatePolynomial. add(E val)Add constant to this.UnivariatePolynomial<E>UnivariatePolynomial. addMonomial(E coefficient, int exponent)Addscoefficient*x^exponenttothisUnivariatePolynomial<E>UnivariatePolynomial. addMul(UnivariatePolynomial<E> oth, E factor)Addsoth * factortothisUnivariatePolynomial<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 ringUnivariatePolynomial<E>UnivariatePolynomial. contentAsPoly()static UnivariatePolynomial<BigInteger>UnivariatePolynomial. create(long... data)Creates new univariate Z[x] polynomialstatic UnivariatePolynomial<BigInteger>UnivariatePolynomial. create(Ring<BigInteger> ring, long... data)Creates univariate polynomial over specified ring (with integer elements) with the specified coefficientsstatic <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 formcc + x * lc(over the same ring)UnivariatePolynomial<E>UnivariatePolynomial. createMonomial(int degree)UnivariatePolynomial<E>UnivariatePolynomial. createMonomial(E coefficient, int degree)Creates monomialcoefficient * x^degree(over the same ring)UnivariatePolynomial<E>UnivariatePolynomial. createOne()static <E> UnivariatePolynomial<E>UnivariatePolynomial. createUnsafe(Ring<E> ring, E[] data)skipsring.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 afactoror throws exception if exact division is not possibleUnivariatePolynomial<E>UnivariatePolynomial. divideOrNull(E factor)Divides this polynomial by afactoror returnsnull(causing loss of internal data) if some of the elements can't be exactly divided by thefactor.UnivariatePolynomial<E>UnivariatePolynomial. getAsPoly(int i)UnivariatePolynomial<E>UnivariateInterpolation.Interpolation. getInterpolatingPolynomial()Returns resulting interpolating polynomialUnivariatePolynomial<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 atpoints[i]are exactlyvalues[i].static <E> UnivariatePolynomial<E>UnivariateInterpolation. interpolateNewton(Ring<E> ring, E[] points, E[] values)Constructs an interpolating polynomial which values atpoints[i]are exactlyvalues[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 thats * 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 fieldstatic UnivariatePolynomial<BigInteger>UnivariateResultants. ModularResultantInRingOfIntegersOfNumberField(UnivariatePolynomial<UnivariatePolynomial<BigInteger>> a, UnivariatePolynomial<UnivariatePolynomial<BigInteger>> b)Modular resultant in the ring of integers of number fieldUnivariatePolynomial<E>UnivariatePolynomial. monic()UnivariatePolynomial<E>UnivariatePolynomial. monic(E factor)Setsthisto its monic part multiplied by thefactor.UnivariatePolynomial<E>UnivariatePolynomial. monicWithLC(UnivariatePolynomial<E> other)UnivariatePolynomial<E>UnivariatePolynomial. multiply(long factor)UnivariatePolynomial<E>UnivariatePolynomial. multiply(UnivariatePolynomial<E> oth)UnivariatePolynomial<E>UnivariatePolynomial. multiply(E factor)Multipliesthisby thefactorUnivariatePolynomial<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 ringstatic <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 polynomialUnivariatePolynomial<E>UnivariatePolynomial. parsePoly(String string)UnivariatePolynomial<BigInteger>HenselLifting.bLinearLift. polyMod()UnivariatePolynomial<BigInteger>HenselLifting.bQuadraticLift. 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 fieldstatic UnivariatePolynomial<UnivariatePolynomial<BigInteger>>UnivariateGCD. PolynomialGCDInRingOfIntegersOfNumberField(UnivariatePolynomial<UnivariatePolynomial<BigInteger>> a, UnivariatePolynomial<UnivariatePolynomial<BigInteger>> b)Computes some GCD associate via Langemyr & Mccallum modular algorithm over algebraic integersstatic <E> UnivariatePolynomial<E>ModularComposition. powModulusMod(UnivariatePolynomial<E> poly, UnivariatePolynomial<E> polyModulus, UnivariateDivision.InverseModMonomial<UnivariatePolynomial<E>> invMod, ArrayList<UnivariatePolynomial<E>> xPowers)Returnspoly^modulus mod polyModulususing precomputed monomial powersx^{i*modulus} mod polyModulusfor 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 ofdividendanddivider.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 degreedegreestatic UnivariatePolynomial<BigInteger>IrreduciblePolynomials. randomIrreduciblePolynomialOverZ(int degree, org.apache.commons.math3.random.RandomGenerator rnd)Generated random irreducible polynomial over Zstatic UnivariatePolynomial<BigInteger>RandomUnivariatePolynomials. randomMonicPoly(int degree, BigInteger modulus, org.apache.commons.math3.random.RandomGenerator rnd)Creates random polynomial of specifieddegree.static <E> UnivariatePolynomial<E>RandomUnivariatePolynomials. randomMonicPoly(int degree, Ring<E> ring, org.apache.commons.math3.random.RandomGenerator rnd)Creates random polynomial of specifieddegree.static UnivariatePolynomial<BigInteger>RandomUnivariatePolynomials. randomPoly(int degree, BigInteger bound, org.apache.commons.math3.random.RandomGenerator rnd)Creates random polynomial of specifieddegreewith elements bounded bybound(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 specifieddegreewith elements from specified ringstatic <E> UnivariatePolynomial<E>RandomUnivariatePolynomials. randomPoly(int degree, Ring<E> ring, org.apache.commons.math3.random.RandomGenerator rnd)Creates random polynomial of specifieddegreewith elements from specified ringstatic <E> UnivariatePolynomial<E>UnivariateDivision. remainder(UnivariatePolynomial<E> dividend, UnivariatePolynomial<E> divider, boolean copy)Returns remainder ofdividendanddivider.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 copyUnivariatePolynomial<E>UnivariatePolynomial. set(int i, E el)Sets i-th coefficient of this poly with specified valueUnivariatePolynomial<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 polyUnivariatePolynomial<E>UnivariatePolynomial. setRing(Ring<E> newRing)Returns a copy of this with elements reduced to a new coefficient ringUnivariatePolynomial<E>UnivariatePolynomial. setRingUnsafe(Ring<E> newRing)internal APIUnivariatePolynomial<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(UnivariatePolynomial<E> oth)UnivariatePolynomial<E>UnivariatePolynomial. subtract(UnivariatePolynomial<E> oth, E factor, int exponent)Subtractsfactor * x^exponent * othfromthisUnivariatePolynomial<E>UnivariatePolynomial. subtract(E val)Subtract constant from this.UnivariatePolynomial<BigInteger>UnivariatePolynomialZ64. toBigPoly()Converts this to a polynomial over BigIntegersUnivariatePolynomial<BigInteger>UnivariatePolynomialZp64. toBigPoly()Converts this to a polynomial over BigIntegersUnivariatePolynomial<E>UnivariatePolynomial. toZero()UnivariatePolynomial<E>UnivariatePolynomial. truncate(int newDegree)static <E> UnivariatePolynomial<E>UnivariatePolynomial. zero(Ring<E> ring)Creates zero polynomial over specified ringMethods in cc.redberry.rings.poly.univar with parameters of type UnivariatePolynomial Modifier and Type Method Description UnivariatePolynomial<E>UnivariatePolynomial. add(UnivariatePolynomial<E> oth)UnivariatePolynomial<E>UnivariatePolynomial. addMul(UnivariatePolynomial<E> oth, E factor)Addsoth * factortothisstatic UnivariatePolynomialZ64UnivariatePolynomial. asOverZ64(UnivariatePolynomial<BigInteger> poly)Converts poly over BigIntegers to machine-sized polynomial in Zstatic UnivariatePolynomialZp64UnivariatePolynomial. asOverZp64(UnivariatePolynomial<BigInteger> poly)Converts Zp[x] poly over BigIntegers to machine-sized polynomial in Zpstatic UnivariatePolynomialZp64UnivariatePolynomial. asOverZp64(UnivariatePolynomial<BigInteger> poly, IntegersZp64 ring)Converts Zp[x] poly over BigIntegers to machine-sized polynomial in Zpstatic UnivariatePolynomialZp64UnivariatePolynomial. asOverZp64Q(UnivariatePolynomial<Rational<BigInteger>> poly, IntegersZp64 ring)Converts Zp[x] poly over rationals to machine-sized polynomial in Zpstatic 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 algorithmintUnivariatePolynomial. compareTo(UnivariatePolynomial<E> o)UnivariatePolynomial<E>UnivariatePolynomial. composition(UnivariatePolynomial<E> value)UnivariatePolynomial<E>[]UnivariatePolynomial. createArray(UnivariatePolynomial<E> a, UnivariatePolynomial<E> b)static HenselLifting.bLinearLiftHenselLifting. createLinearLift(long modulus, UnivariatePolynomial<BigInteger> poly, UnivariatePolynomialZp64 aFactor, UnivariatePolynomialZp64 bFactor)Creates linear Hensel lift.static HenselLifting.bLinearLiftHenselLifting. createLinearLift(BigInteger modulus, UnivariatePolynomial<BigInteger> poly, UnivariatePolynomialZp64 aFactor, UnivariatePolynomialZp64 bFactor)Creates linear Hensel lift.static HenselLifting.bQuadraticLiftHenselLifting. createQuadraticLift(BigInteger modulus, UnivariatePolynomial<BigInteger> poly, UnivariatePolynomial<BigInteger> aFactor, UnivariatePolynomial<BigInteger> bFactor)Creates quadratic Hensel lift.static HenselLifting.bQuadraticLiftHenselLifting. createQuadraticLift(BigInteger modulus, UnivariatePolynomial<BigInteger> poly, UnivariatePolynomialZp64 aFactor, UnivariatePolynomialZp64 bFactor)Creates quadratic Hensel lift.static <E> EUnivariateResultants. Discriminant(UnivariatePolynomial<E> a)Computes discriminant of polynomialstatic <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)static PolynomialFactorDecomposition<UnivariatePolynomial<UnivariatePolynomial<Rational<BigInteger>>>>UnivariateFactorization. FactorInNumberField(UnivariatePolynomial<UnivariatePolynomial<Rational<BigInteger>>> poly)Factors polynomial in Q(alpha)[x] via Trager's algorithmstatic <E> PolynomialFactorDecomposition<UnivariatePolynomial<Rational<E>>>UnivariateFactorization. FactorInQ(UnivariatePolynomial<Rational<E>> poly)Factors polynomial over Qstatic PolynomialFactorDecomposition<UnivariatePolynomial<UnivariatePolynomial<Rational<BigInteger>>>>UnivariateFactorization. FactorSquareFreeInNumberField(UnivariatePolynomial<UnivariatePolynomial<Rational<BigInteger>>> poly)Factors polynomial in Q(alpha)[x] via Trager's algorithmstatic List<UnivariatePolynomial<BigInteger>>HenselLifting. liftFactorization(BigInteger modulus, BigInteger desiredBound, UnivariatePolynomial<BigInteger> poly, List<UnivariatePolynomialZp64> modularFactors)Lifts modular factorization untilmoduluswill overcomedesiredBound.static List<UnivariatePolynomial<BigInteger>>HenselLifting. liftFactorization(BigInteger modulus, BigInteger desiredBound, UnivariatePolynomial<BigInteger> poly, List<UnivariatePolynomialZp64> modularFactors, boolean quadratic)Lifts modular factorization untilmoduluswill overcomedesiredBound.static List<UnivariatePolynomial<BigInteger>>HenselLifting. liftFactorizationQuadratic(BigInteger modulus, BigInteger desiredBound, UnivariatePolynomial<BigInteger> poly, List<UnivariatePolynomial<BigInteger>> modularFactors)Lifts modular factorization untilmoduluswill overcomedesiredBound.static BigIntegerUnivariatePolynomial. mignotteBound(UnivariatePolynomial<BigInteger> poly)Returns Mignotte's bound (sqrt(n+1) * 2^n max |this|) of the polystatic UnivariatePolynomial<Rational<BigInteger>>[]UnivariateGCD. ModularExtendedRationalGCD(UnivariatePolynomial<Rational<BigInteger>> a, UnivariatePolynomial<Rational<BigInteger>> b)Computes[gcd(a,b), s, t]such thats * 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 BigIntegerUnivariateResultants. ModularResultant(UnivariatePolynomial<BigInteger> a, UnivariatePolynomial<BigInteger> b)Modular algorithm for computing resultants over Zstatic UnivariatePolynomial<Rational<BigInteger>>UnivariateResultants. ModularResultantInNumberField(UnivariatePolynomial<UnivariatePolynomial<Rational<BigInteger>>> a, UnivariatePolynomial<UnivariatePolynomial<Rational<BigInteger>>> b)Modular resultant in simple number fieldstatic UnivariatePolynomial<BigInteger>UnivariateResultants. ModularResultantInRingOfIntegersOfNumberField(UnivariatePolynomial<UnivariatePolynomial<BigInteger>> a, UnivariatePolynomial<UnivariatePolynomial<BigInteger>> b)Modular resultant in the ring of integers of number fieldUnivariatePolynomial<E>UnivariatePolynomial. monicWithLC(UnivariatePolynomial<E> other)UnivariatePolynomial<E>UnivariatePolynomial. multiply(UnivariatePolynomial<E> oth)UnivariatePolynomial<E>UnivariatePolynomial. multiplyByLC(UnivariatePolynomial<E> other)static BigIntegerUnivariatePolynomial. norm1(UnivariatePolynomial<BigInteger> poly)Returns L1 norm of the polynomial, i.e.static BigIntegerUnivariatePolynomial. norm2(UnivariatePolynomial<BigInteger> poly)Returns L2 norm of the polynomial, i.e.static doubleUnivariatePolynomial. 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 fieldstatic UnivariatePolynomial<UnivariatePolynomial<BigInteger>>UnivariateGCD. PolynomialGCDInRingOfIntegersOfNumberField(UnivariatePolynomial<UnivariatePolynomial<BigInteger>> a, UnivariatePolynomial<UnivariatePolynomial<BigInteger>> b)Computes some GCD associate via Langemyr & Mccallum modular algorithm over algebraic integersstatic <E> UnivariatePolynomial<E>ModularComposition. powModulusMod(UnivariatePolynomial<E> poly, UnivariatePolynomial<E> polyModulus, UnivariateDivision.InverseModMonomial<UnivariatePolynomial<E>> invMod, ArrayList<UnivariatePolynomial<E>> xPowers)Returnspoly^modulus mod polyModulususing precomputed monomial powersx^{i*modulus} mod polyModulusfor 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 algorithmstatic <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 algorithmstatic <E> UnivariatePolynomial<E>UnivariateDivision. quotient(UnivariatePolynomial<E> dividend, UnivariatePolynomial<E> divider, boolean copy)Returns quotient ofdividendanddivider.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 algorithmstatic <E> UnivariatePolynomial<E>UnivariateDivision. remainder(UnivariatePolynomial<E> dividend, UnivariatePolynomial<E> divider, boolean copy)Returns remainder ofdividendanddivider.static <E> EUnivariateDivision. remainderCoefficientBound(UnivariatePolynomial<E> dividend, UnivariatePolynomial<E> divider)Gives an upper bound on the coefficients of remainder of division ofdividendbydividerstatic <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> EUnivariateResultants. Resultant(UnivariatePolynomial<E> a, UnivariatePolynomial<E> b)Computes resultant of two polynomialsbooleanUnivariatePolynomial. 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 sequencestatic <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)Subtractsfactor * x^exponent * othfromthisstatic booleanUnivariateGCD. updateCRT(ChineseRemainders.ChineseRemaindersMagic<BigInteger> magic, UnivariatePolynomial<BigInteger> accumulated, UnivariatePolynomialZp64 update)Apply CRT to a polyConstructors in cc.redberry.rings.poly.univar with parameters of type UnivariatePolynomial Constructor Description bQuadraticLift(BigInteger modulus, UnivariatePolynomial<BigInteger> base, UnivariatePolynomial<BigInteger> aFactor, UnivariatePolynomial<BigInteger> bFactor, UnivariatePolynomial<BigInteger> aCoFactor, UnivariatePolynomial<BigInteger> bCoFactor)
-