public final class Ideal<Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> extends Object implements Stringifiable<Poly>, Serializable
Modifier and Type | Field and Description |
---|---|
Comparator<DegreeVector> |
ordering
monomial order used for standard basis
|
Modifier and Type | Method and Description |
---|---|
Ideal<Term,Poly> |
changeOrder(Comparator<DegreeVector> newMonomialOrder)
Set the monomial order used for Groebner basis of this ideal
|
boolean |
contains(Ideal<Term,Poly> oth)
Whether this ideal contains the specified one
|
boolean |
contains(Poly poly)
Tests whether specified poly is an element of this ideal
|
boolean |
containsProduct(Ideal<Term,Poly> a,
Ideal<Term,Poly> b)
Whether this ideal contains the product of two specified ideals
|
static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> |
create(List<Poly> generators)
Creates ideal given by a list of generators.
|
static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> |
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>> |
create(Poly... generators)
Creates ideal given by a list of generators.
|
int |
degree()
Returns the affine degree of this ideal
|
int |
dimension()
Returns the affine dimension of this ideal
|
static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> |
empty(Poly factory)
Creates empty ideal
|
static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> |
empty(Poly factory,
Comparator<DegreeVector> monomialOrder)
Creates empty ideal
|
boolean |
equals(Object o) |
Poly |
getBasisGenerator(int i)
Returns i-th element of Groebner basis
|
List<Poly> |
getGroebnerBasis()
Groebner basis of this ideal
|
Comparator<DegreeVector> |
getMonomialOrder()
The monomial order used for Groebner basis
|
List<Poly> |
getOriginalGenerators()
Returns the list of original generators
|
int |
hashCode() |
GroebnerBases.HilbertSeries |
hilbertSeries()
Hilbert-Poincare series of this ideal
|
Ideal<Term,Poly> |
intersection(Ideal<Term,Poly> oth)
Returns the intersection of this and oth
|
boolean |
isEmpty()
Whether this ideal is empty
|
boolean |
isHomogeneous()
Whether this ideal is homogeneous
|
boolean |
isMaximal()
Returns true if this ideal is maximal (that is its affine variety has only one point)
|
boolean |
isMonomial()
Whether this ideal is monomial
|
boolean |
isPrincipal()
Whether this ideal is principal
|
boolean |
isProper()
Whether this is a proper ideal
|
boolean |
isTrivial()
Whether this ideal is the whole ring (basis consists of pne constant polynomial)
|
Ideal<Term,Poly> |
ltIdeal()
Ideal of leading terms
|
Ideal<Term,Poly> |
multiply(Ideal<Term,Poly> oth)
Returns the product of this and oth
|
Ideal<Term,Poly> |
multiply(Poly oth)
Returns the product of this and oth
|
int |
nBasisGenerators()
Returns the number of elements in Groebner basis
|
Poly |
normalForm(Poly poly)
Reduces
poly modulo this ideal |
static <E> Ideal<Monomial<E>,MultivariatePolynomial<E>> |
parse(String[] generators,
Ring<E> field,
Comparator<DegreeVector> monomialOrder,
String[] variables)
Shortcut for parse
|
static <E> Ideal<Monomial<E>,MultivariatePolynomial<E>> |
parse(String[] generators,
Ring<E> field,
String[] variables)
Shortcut for parse
|
Ideal<Term,Poly> |
pow(int exponent)
Returns this in a power of exponent
|
Ideal<Term,Poly> |
quotient(Ideal<Term,Poly> oth)
Returns the quotient this : oth
|
Ideal<Term,Poly> |
quotient(Poly oth)
Returns the quotient this : oth
|
boolean |
radicalContains(Poly poly)
Tests whether
poly belongs to the radical of this |
Ideal<Term,Poly> |
square()
Returns squared ideal
|
String |
toString() |
String |
toString(IStringifier<Poly> stringifier)
convert this to string with the use of stringifier
|
static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> |
trivial(Poly factory)
Creates trivial ideal (ideal = ring)
|
static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> |
trivial(Poly factory,
Comparator<DegreeVector> monomialOrder)
Creates trivial ideal (ideal = ring)
|
Ideal<Term,Poly> |
union(Ideal<Term,Poly> oth)
Returns the union of this and oth
|
Ideal<Term,Poly> |
union(Poly oth)
Returns the union of this and oth
|
public final Comparator<DegreeVector> ordering
public Comparator<DegreeVector> getMonomialOrder()
public Ideal<Term,Poly> changeOrder(Comparator<DegreeVector> newMonomialOrder)
public List<Poly> getOriginalGenerators()
public int nBasisGenerators()
public Poly getBasisGenerator(int i)
public boolean isTrivial()
public boolean isProper()
public boolean isEmpty()
public boolean isPrincipal()
public boolean isHomogeneous()
public boolean isMonomial()
public boolean isMaximal()
public boolean contains(Poly poly)
public boolean contains(Ideal<Term,Poly> oth)
public GroebnerBases.HilbertSeries hilbertSeries()
public int dimension()
public int degree()
public boolean containsProduct(Ideal<Term,Poly> a, Ideal<Term,Poly> b)
public boolean radicalContains(Poly poly)
poly
belongs to the radical of thispublic Ideal<Term,Poly> intersection(Ideal<Term,Poly> oth)
public String toString(IStringifier<Poly> stringifier)
Stringifiable
toString
in interface Stringifiable<Poly extends AMultivariatePolynomial<Term,Poly>>
public static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> Ideal<Term,Poly> create(List<Poly> generators)
public static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> Ideal<Term,Poly> create(Poly... generators)
public static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> Ideal<Term,Poly> create(List<Poly> generators, Comparator<DegreeVector> monomialOrder)
monomialOrder
will
be used.monomialOrder
- monomial order for unique Groebner basis of the idealpublic static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> Ideal<Term,Poly> trivial(Poly factory)
public static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> Ideal<Term,Poly> trivial(Poly factory, Comparator<DegreeVector> monomialOrder)
public static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> Ideal<Term,Poly> empty(Poly factory)
public static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> Ideal<Term,Poly> empty(Poly factory, Comparator<DegreeVector> monomialOrder)
public static <E> Ideal<Monomial<E>,MultivariatePolynomial<E>> parse(String[] generators, Ring<E> field, String[] variables)
public static <E> Ideal<Monomial<E>,MultivariatePolynomial<E>> parse(String[] generators, Ring<E> field, Comparator<DegreeVector> monomialOrder, String[] variables)
Copyright © 2018. All rights reserved.