static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> Poly |
AMultivariatePolynomial.asMultivariate(IUnivariatePolynomial poly,
int nVariables,
int variable,
Comparator<DegreeVector> ordering) |
Converts univariate polynomial to multivariate.
|
static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> 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>> Poly |
AMultivariatePolynomial.asMultivariate(UnivariatePolynomial<Poly> univariate,
int uVariable,
boolean join) |
|
static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>,uPoly extends IUnivariatePolynomial<uPoly>> void |
HenselLifting.bivariateLiftNoLCCorrection0(Poly base,
Poly[] factors,
cc.redberry.rings.poly.multivar.HenselLifting.IEvaluation<Term,Poly> evaluation,
int degreeBound) |
Fast bivariate Hensel lifting which uses dense representation for bivariate polynomials
|
static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> cc.redberry.rings.poly.multivar.GroebnerBases.GBResult<Term,Poly> |
GroebnerBases.BuchbergerGB(List<Poly> generators,
Comparator<DegreeVector> monomialOrder) |
Computes minimized and reduced Groebner basis of a given ideal via Buchberger algorithm.
|
static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> cc.redberry.rings.poly.multivar.GroebnerBases.GBResult<Term,Poly> |
GroebnerBases.BuchbergerGB(List<Poly> generators,
Comparator<DegreeVector> monomialOrder,
Comparator<GroebnerBases.SyzygyPair> strategy) |
Computes minimized and reduced Groebner basis of a given ideal via Buchberger algorithm.
|
static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> Poly |
MultivariateResultants.ClassicalResultant(Poly a,
Poly b,
int variable) |
Computes resultant via subresultant sequences
|
static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> List<Poly> |
GroebnerBases.ConvertBasis(List<Poly> generators,
Comparator<DegreeVector> desiredOrder) |
Converts basis into a basis for desired monomial order
|
static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> Ideal<Term,Poly> |
Ideal.create(List<Poly> generators) |
Creates ideal given by a list of generators.
|
static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> Ideal<Term,Poly> |
Ideal.create(List<Poly> generators,
Comparator<DegreeVector> monomialOrder) |
Creates ideal given by a list of generators.
|
static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> Ideal<Term,Poly> |
Ideal.create(Poly... generators) |
Creates ideal given by a list of generators.
|
static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> Poly[] |
MultivariateDivision.divideAndRemainder(Poly dividend,
Poly divider) |
Performs multivariate division with remainder.
|
static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> Poly[] |
MultivariateDivision.divideAndRemainder(Poly dividend,
Poly... dividers) |
Performs multivariate division with remainder.
|
static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> Poly |
MultivariateDivision.divideExact(Poly dividend,
Poly divider) |
Divides dividend by divider or throws exception if exact division is not possible
|
static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> Poly |
MultivariateDivision.divideOrNull(Poly dividend,
Poly divider) |
Divides dividend by divider or returns null if exact division is not possible
|
static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> boolean |
MultivariateDivision.dividesQ(Poly dividend,
Poly divider) |
Tests whether divisor is a divisor of poly
|
static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> Poly |
MultivariateGCD.EEZGCD(Poly a,
Poly b) |
Calculates GCD of two multivariate polynomials over Zp using enhanced EZ algorithm
|
static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> Ideal<Term,Poly> |
Ideal.empty(Poly factory) |
Creates empty ideal
|
static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> Ideal<Term,Poly> |
Ideal.empty(Poly factory,
Comparator<DegreeVector> monomialOrder) |
Creates empty ideal
|
static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> cc.redberry.rings.poly.multivar.GroebnerBases.GBResult<Term,Poly> |
GroebnerBases.F4GB(List<Poly> generators,
Comparator<DegreeVector> monomialOrder) |
Computes minimized and reduced Groebner basis of a given ideal via Faugère's F4 F4 algorithm.
|
static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> PolynomialFactorDecomposition<Poly> |
MultivariateFactorization.FactorInGF(Poly polynomial) |
Factors multivariate polynomial over finite field
|
static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> List<Poly> |
GroebnerBases.GroebnerBasis(List<Poly> generators,
Comparator<DegreeVector> monomialOrder) |
Computes Groebner basis (minimized and reduced) of a given ideal represented by a list of generators.
|
static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> cc.redberry.rings.poly.multivar.GroebnerBases.GBResult<Term,Poly> |
GroebnerBases.GroebnerBasisInGF(List<Poly> generators,
Comparator<DegreeVector> monomialOrder,
GroebnerBases.HilbertSeries hilbertSeries) |
Computes Groebner basis (minimized and reduced) of a given ideal over finite filed represented by a list of
generators.
|
static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> List<Poly> |
GroebnerBases.GroebnerBasisRegardingGrevLexWithPermutation(List<Poly> ideal,
cc.redberry.rings.poly.multivar.GroebnerBases.GroebnerAlgorithm<Term,Poly> baseAlgorithm,
MonomialOrder.GrevLexWithPermutation order) |
computes Groebner basis in GREVLEX with shuffled variables
|
static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> List<Poly> |
GroebnerBases.GroebnerBasisWithOptimizedGradedOrder(List<Poly> ideal) |
computes Groebner basis in GREVLEX with shuffled variables
|
static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> List<Poly> |
GroebnerBases.GroebnerBasisWithOptimizedGradedOrder(List<Poly> ideal,
cc.redberry.rings.poly.multivar.GroebnerBases.GroebnerAlgorithm<Term,Poly> baseAlgorithm) |
computes Groebner basis in GREVLEX with shuffled variables
|
static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> cc.redberry.rings.poly.multivar.GroebnerBases.GBResult<Term,Poly> |
GroebnerBases.HilbertConvertBasis(List<Poly> groebnerBasis,
Comparator<DegreeVector> desiredOrdering) |
Converts Groebner basis to a given monomial order using Hilbert-driven algorithm
|
static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> cc.redberry.rings.poly.multivar.GroebnerBases.GBResult<Term,Poly> |
GroebnerBases.HilbertGB(List<Poly> generators,
Comparator<DegreeVector> monomialOrder) |
Hilbert-driven algorithm for Groebner basis computation
|
static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> cc.redberry.rings.poly.multivar.GroebnerBases.GBResult<Term,Poly> |
GroebnerBases.HilbertGB(List<Poly> generators,
Comparator<DegreeVector> monomialOrder,
cc.redberry.rings.poly.multivar.GroebnerBases.GroebnerAlgorithm<Term,Poly> baseAlgorithm) |
Hilbert-driven algorithm for Groebner basis computation.
|
static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> cc.redberry.rings.poly.multivar.GroebnerBases.GBResult<Term,Poly> |
GroebnerBases.HilbertGB(List<Poly> generators,
Comparator<DegreeVector> monomialOrder,
GroebnerBases.HilbertSeries hilbertSeries) |
Hilbert-driven algorithm for Groebner basis computation
|
static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> boolean |
GroebnerBases.isGroebnerBasis(List<Poly> ideal,
List<Poly> generators,
Comparator<DegreeVector> monomialOrder) |
Check whether specified generators form Groebner basis of given ideal
|
static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> boolean |
MultivariateSquareFreeFactorization.isSquareFree(Poly poly) |
Tests whether the given poly is square free.
|
static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> Poly[][] |
GroebnerMethods.JacobianMatrix(List<Poly> sys) |
Creates a Jacobian matrix of a given list of polynomials
|
static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> void |
GroebnerBases.minimizeGroebnerBases(List<Poly> basis) |
Minimizes Groebner basis.
|
static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> void |
HenselLifting.multivariateLiftAutomaticLC(Poly base,
Poly[] factors,
cc.redberry.rings.poly.multivar.HenselLifting.IEvaluation<Term,Poly> evaluation) |
Multivariate lift with automatic leading coefficient correction
|
static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> void |
HenselLifting.multivariateLiftAutomaticLC(Poly base,
Poly[] factors,
cc.redberry.rings.poly.multivar.HenselLifting.IEvaluation<Term,Poly> evaluation,
int from) |
Multivariate lift with automatic leading coefficient correction
|
static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> boolean |
MultivariateDivision.nontrivialQuotientQ(Poly dividend,
Poly divider) |
Tests whether there is nontrivial quotient dividend / divider
|
static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> Comparator<DegreeVector> |
GroebnerBases.optimalOrder(List<Poly> ideal) |
Deduce the optimal order for GB algorithms
|
static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> Poly |
MultivariateDivision.pseudoRemainder(Poly dividend,
Collection<Poly> dividers) |
Performs multivariate division with remainder and rerurns the remainder.
|
static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> Poly |
MultivariateDivision.pseudoRemainder(Poly dividend,
Poly divider) |
Performs multivariate division with remainder and rerurns the remainder.
|
static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> Poly |
MultivariateDivision.pseudoRemainder(Poly dividend,
Poly... dividers) |
Performs multivariate pseudo division with remainder and returns the remainder.
|
static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> Poly |
RandomMultivariatePolynomials.randomPolynomial(Poly factory,
int degree,
int size,
org.apache.commons.math3.random.RandomGenerator rnd) |
Generates random multivariate polynomial
|
static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> Poly |
MultivariateDivision.remainder(Poly dividend,
Collection<Poly> dividers) |
Performs multivariate division with remainder and rerurns the remainder.
|
static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> Poly |
MultivariateDivision.remainder(Poly dividend,
Poly divider) |
Performs multivariate division with remainder and rerurns the remainder.
|
static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> Poly |
MultivariateDivision.remainder(Poly dividend,
Poly... dividers) |
Performs multivariate division with remainder and returns the remainder.
|
static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> void |
GroebnerBases.removeRedundant(List<Poly> basis) |
Computes reduced Groebner basis
|
static <T extends AMonomial<T>,P extends AMultivariatePolynomial<T,P>> P |
AMultivariatePolynomial.renameVariables(P poly,
int[] newVariables) |
Rename variables from [0,1,...N] to [newVariables[0], newVariables[1], ..., newVariables[N]] (new instance
created)
|
static <T extends AMonomial<T>,P extends AMultivariatePolynomial<T,P>> P |
AMultivariatePolynomial.renameVariables(P poly,
int[] newVariables,
Comparator<DegreeVector> newOrdering) |
Rename variables from [0,1,...N] to [newVariables[0], newVariables[1], ..., newVariables[N]] (new instance
created)
|
static <T extends AMonomial<T>> T |
AMultivariatePolynomial.renameVariables(T e,
int[] newVariables) |
Rename variables from [0,1,...N] to [newVariables[0], newVariables[1], ..., newVariables[N]] (new instance
created)
|
static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> Poly |
MultivariateResultants.ResultantInSmallCharacteristic(Poly a,
Poly b,
int variable) |
Resultant in small characteristic
|
static <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 evaluation
|
static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> List<Poly> |
GroebnerBases.solveGB(List<Poly> generators,
List<Collection<DegreeVector>> gbSkeleton,
Comparator<DegreeVector> monomialOrder) |
Sparse Groebner basis via "linear lifting".
|
static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> PolynomialFactorDecomposition<Poly> |
MultivariateSquareFreeFactorization.SquareFreeFactorization(Poly poly) |
Performs square-free factorization of a {@code poly.
|
static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> PolynomialFactorDecomposition<Poly> |
MultivariateSquareFreeFactorization.SquareFreeFactorizationMusser(Poly poly) |
Performs square-free factorization of a poly which coefficient ring has any characteristic using Musser's
algorithm.
|
static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> PolynomialFactorDecomposition<Poly> |
MultivariateSquareFreeFactorization.SquareFreeFactorizationMusserZeroCharacteristics(Poly poly) |
Performs square-free factorization of a poly which coefficient ring has zero characteristic using
Musser's algorithm.
|
static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> PolynomialFactorDecomposition<Poly> |
MultivariateSquareFreeFactorization.SquareFreeFactorizationYunZeroCharacteristics(Poly poly) |
Performs square-free factorization of a poly which coefficient ring has zero characteristic using Yun's
algorithm.
|
static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> Poly |
MultivariateSquareFreeFactorization.SquareFreePart(Poly poly) |
Returns square-free part of the poly
|
static <T extends AMonomial<T>,P extends AMultivariatePolynomial<T,P>> P |
AMultivariatePolynomial.swapVariables(P poly,
int i,
int j) |
Renames variable i to j and j to i (new instance created)
|
static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> Poly |
GroebnerBases.syzygy(GroebnerBases.SyzygyPair<Term,Poly> sPair) |
Computes syzygy of given polynomials
|
static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> Poly |
GroebnerBases.syzygy(Poly a,
Poly b) |
Computes syzygy of given polynomials
|
static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> Ideal<Term,Poly> |
Ideal.trivial(Poly factory) |
Creates trivial ideal (ideal = ring)
|
static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> Ideal<Term,Poly> |
Ideal.trivial(Poly factory,
Comparator<DegreeVector> monomialOrder) |
Creates trivial ideal (ideal = ring)
|