Summary of algorithms from the Gröbner bases book and corresponding JAS classes and methods.
The JAS base package edu.jas
name is omitted in the
following table.
JAS also contains improved versions of the algorithms which may be located through the links.
A short explanation of code organization with interfaces and several implementing classes
can be found in the API guide.
GB book algorithm | JAS interfaces, classes and methods | remarks |
0.1 DIVINT |
arith.BigInteger.divideAndRemainder
|
adapter for java.math.BigInteger.divideAndRemainder
|
2.1 DIV |
structure.MonoidElem.divide
and
structure.MonoidElem.remainder
|
all classes which implement this interface |
2.2 DIVPOL |
poly.GenPolynomial. divideAndRemainder
|
for univariate polynomials over fields |
2.3 EXTEUC |
poly.GenPolynomial.egcd
|
for univariate polynomials over fields |
3.1 LINDEP |
not implemented
|
But see
vector.LinAlg. rowEchelonForm and other classes
in the vector package.
|
3.2 EXCHANGE |
not implemented
|
|
4.1 EQUIV |
structure.Residue.equals
or
application.Residue.equals
|
arbitrary residue class rings and residue class rings modulo polynomial ideals |
5.1 REDPOL |
gb.Reduction.normalform ,
gb.ReductionAbstract.normalform ,
gb.ReductionSeq.normalform
|
interface and sequential computation class, the method exists also for
polynomial lists and with a reduction recording matrix (this is exactly
REDPOL )
|
5.2 REDUCTION |
gb.Reduction.irreducibleSet
|
|
5.3 GRÖBNERTEST |
gb.GroebnerBase.isGB
|
provided by all classes which implement this interface |
5.4 GRÖBNER |
not implemented | |
5.5 REDGRÖBNER |
gb.GroebnerBase.GB
with
gb.OrderedMinPairlist
|
provided by all classes which implement the interface and allow the selection of the pair-list in a constructor |
5.6 GRÖBNERNEW1 |
gb.GroebnerBase.GB
with
gb.OrderedPairlist
|
provided by all classes which implement the interface and allow the selection of the pair-list in a constructor |
5.7 UPDATE , 5.8 GRÖBNERNEW2 |
gb.GroebnerBase.GB
with
gb.OrderedSyzPairlist
|
provided by all classes which implement the interface and allow the selection of the pair-list in a constructor |
5.9 EXTGRÖBNER |
gb.GroebnerBase.extGB
|
provided by some classes which implement the interface |
6.1 ELIMINATION |
application.Ideal.eliminate
|
the version with the String[] parameter computes a Gröbner base wrt. the
corresponding elimination order
|
6.2 PROPER |
application.Ideal.isONE
|
proper ideal test is ! id.isONE()
|
6.3 INTERSECTION |
application.Ideal.intersect
|
for lists of ideals a simple iterative algorithm is used and for a pair of ideals it is the same algorithm |
6.4 CRT |
gbufd.PolyGBUtil.chineseRemainderTheorem
|
|
6.5 IDEALDIV1 |
application.Ideal.quotient
|
for an ideal a simple iterative algorithm is used and for one polynomial it is an algorithm without computing syzygies |
6.6 IDEALDIV2 |
application.Ideal. infiniteQuotientRab
and
application.Ideal. infiniteQuotientExponent
|
the exponent is computed in a separate step at the moment |
6.7 RADICALMEMTEST |
application.Ideal.isRadicalMember
|
the exponent is not computed |
6.8 SUBRINGMEMTEST |
gbufd.PolyGBUtil.subRingAndMember
|
|
8.1 PREDEC |
application.Ideal. zeroDimDecomposition
|
univariate polynomials of minimal degree in the ideal are irreducible
and not a power of an irreducible polynomial as specified in PREDEC
|
8.2 ZRADICALTEST |
application.Ideal.isZeroDimRadical
|
will also work in characteritsic p > 0 |
8.3 ZRADICAL |
application.Ideal.radical
|
ZRADICAL is containted as special case,
see also application.Ideal. zeroDimRadicalDecomposition
|
8.4 NORMPRIMDEC |
application.Ideal. zeroDimPrimaryDecomposition
|
contains all preprocessing steps, see ZPRIMDEC
|
8.5 NORMPOS |
application.Ideal.normalPositionFor
|
one step of NORMPOS as explained for the modified algorithm on page 383ff
|
8.6 ZPRIMDEC |
application.Ideal. zeroDimPrimaryDecomposition
|
returns a list of PrimaryComponent containers
|
8.7 CONT |
application.Ideal.contraction
|
more complicated since the permutation of variables must be considered also,
see application.Ideal.permContraction ,
the polynomial f is returned in the IdealWithUniv container
|
8.8 EXTCONT |
application.Ideal.extension
|
only EXT , the combination EXTCONT is not implemented explicitly,
the polynomial f is returned in the IdealWithUniv container
|
8.9 RADICAL |
application.Ideal.radical
|
for ideals with arbitrary dimension |
8.10 PRIMDEC |
application.Ideal. primaryDecomposition
|
for ideals with arbitrary dimension |
8.11 VARSIGN |
root.RootUtil.signVar
|
|
8.12 STURMSEQ |
root.RealRootsSturm.sturmSequence
|
|
8.13 ISOLATE |
root.RealRoots.realRoots
|
could also be used for real root isolations not using Sturm sequences |
8.14 ISOREC |
root.RealRootsSturm.realRoots
|
interval bi-section until a root is isolated |
8.15 ISOREFINE |
root.RealRoots.refineInterval
|
also for real root isolations not using Sturm sequences |
8.16 SQUEEZE |
root.RealRoots. invariantMagnitudeInterval
|
see also
root.RealRoots. realMagnitude
|
8.17 REALZEROS |
application.PolyUtilApp. realAlgebraicRoots
|
different algorithm and different result data structure with RealAlgebraicNumbers
|
9.1 REDTERMS |
gbufd.GroebnerBaseFGLM.redTerms
|
|
9.2 UNIVPOL |
application.Ideal. constructUnivariate
|
|
9.3 CONVGRÖBNER |
gbufd.GroebnerBaseFGLM. convGroebnerToLex
|
See also gbufd.GroebnerBaseFGLM.GB . It computes a Gröbner base with respect to a graded term order and then uses FGLM to convert to a lexicographic term order.
See also gbufd.GroebnerBaseWalk.GB . It computes a Gröbner base with respect to a term order t1 and then uses Gröbner Walk to convert to a GB with term order t2 .
|
9.4 LMINTERM |
gbufd.GroebnerBaseFGLM.lMinterm
|
|
9.5 STRCONST |
not implemented
|
|
9.6 DIMENSION |
application.Ideal.dimension
|
|
10.1 D-GRÖBNER |
gb.DGroebnerBaseSeq.GB
and
gb.EGroebnerBaseSeq.GB
|
Last modified: Thu Jul 8 17:47:59 CEST 2021