public final class GroebnerMethods extends Object
Modifier and Type | Method and Description |
---|---|
static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> |
algebraicallyDependentQ(List<Poly> sys)
Returns true if a given set of polynomials is algebraically dependent or false otherwise.
|
static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> |
algebraicRelations(List<Poly> polys)
Gives a list of algebraic relations (annihilating polynomials) for the given list of polynomials
|
static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> |
eliminate(List<Poly> ideal,
int... variables)
Eliminates specified variables from the given ideal.
|
static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> |
eliminate(List<Poly> ideal,
int variable)
Eliminates specified variables from the given ideal.
|
static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> |
JacobianMatrix(List<Poly> sys)
Creates a Jacobian matrix of a given list of polynomials
|
static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> |
LeinartDecomposition(Rational<Poly> fraction)
Computes Leinart's decomposition of given rational expression (see https://arxiv.org/abs/1206.4740)
|
static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> |
NullstellensatzCertificate(List<Poly> polynomials)
Computes Nullstellensatz certificate for a given list of polynomials assuming that they have no common zeros (or
equivalently assuming that the ideal formed by the list is trivial).
|
static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> |
NullstellensatzCertificate(List<Poly> polynomials,
boolean boundTotalDeg)
Computes Nullstellensatz certificate for a given list of polynomials assuming that they have no common zeros (or
equivalently assuming that the ideal formed by the list is trivial).
|
static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> |
NullstellensatzSolver(List<Poly> polynomials,
Poly rhs,
boolean boundTotalDeg)
Tries to find solution of the equation {@code S_1 * f_1 + ...
|
static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> |
probablyAlgebraicallyDependentQ(List<Poly> sys)
Returns true if a given set of polynomials is probably algebraically dependent or false otherwise (which means
that the given set is certainly independent).
|
public static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> List<Poly> eliminate(List<Poly> ideal, int variable)
public static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> List<Poly> eliminate(List<Poly> ideal, int... variables)
public static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> boolean probablyAlgebraicallyDependentQ(List<Poly> sys)
public static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> boolean algebraicallyDependentQ(List<Poly> sys)
public static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> List<Poly> algebraicRelations(List<Poly> polys)
public static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> Poly[][] JacobianMatrix(List<Poly> sys)
public static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> List<Poly> NullstellensatzCertificate(List<Poly> polynomials)
polynomials
have no common zero, so if they are the method will fail.polynomials
- list of polynomialsS_i
such that S_1 * f_1 + ... + S_n * f_n = 1
or null if no solution with
moderate degree bounds exist (either since polynomials
have a common root or because the degree
bound on the solutions is so big that the system is intractable for computer)public static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> List<Poly> NullstellensatzCertificate(List<Poly> polynomials, boolean boundTotalDeg)
polynomials
have no common zero, so if they are the method will fail.polynomials
- list of polynomialsS_i
such that S_1 * f_1 + ... + S_n * f_n = 1
or null if no solution with
moderate degree bounds exist (either since polynomials
have a common root or because the degree
bound on the solutions is so big that the system is intractable for computer)public static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> List<Poly> NullstellensatzSolver(List<Poly> polynomials, Poly rhs, boolean boundTotalDeg)
S_1 * f_1 + ... + S_n * f_n = g
for given f_i
and g
and unknown S_i
by transforming to a system of linear equations with unknown coefficients of S_i
.polynomials
- list of polynomialsrhs
- right hand side of the equationboundTotalDeg
- whether to perform evaluations by increasing total degree of unknown polys or by increasing
individual degrees of varsS_i
such that S_1 * f_1 + ... + S_n * f_n = g
or null if no solution with
moderate degree bounds existspublic static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> List<Rational<Poly>> LeinartDecomposition(Rational<Poly> fraction)
Copyright © 2018. All rights reserved.