Package edu.jas.gbufd
Class GroebnerBaseWalk<C extends GcdRingElem<C>>
- java.lang.Object
-
- edu.jas.gb.GroebnerBaseAbstract<C>
-
- edu.jas.gbufd.GroebnerBaseWalk<C>
-
- Type Parameters:
C
- coefficient type
- All Implemented Interfaces:
GroebnerBase<C>
,java.io.Serializable
public class GroebnerBaseWalk<C extends GcdRingElem<C>> extends GroebnerBaseAbstract<C>
Groebner Base sequential Groebner Walk algorithm. Implements Groebner base computation via Groebner Walk algorithm. See "The generic Groebner walk" by Fukuda, Jensen, Lauritzen, Thomas, 2005. The start term order t1 can be set by a constructor. The target term order t2 is taken from the input polynomials term order.- Author:
- Heinz Kredel
- See Also:
GBAlgorithmBuilder
,GBFactory
, Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected GroebnerBaseAbstract<C>
sgb
The backing GB algorithm implementation.protected TermOrder
startTO
The start term order t1.-
Fields inherited from class edu.jas.gb.GroebnerBaseAbstract
blas, red, strategy
-
-
Constructor Summary
Constructors Constructor Description GroebnerBaseWalk()
Constructor.GroebnerBaseWalk(GroebnerBaseAbstract<C> gb)
Constructor.GroebnerBaseWalk(GroebnerBaseAbstract<C> gb, TermOrder t1)
Constructor.GroebnerBaseWalk(RingFactory<C> coFac)
Constructor.GroebnerBaseWalk(RingFactory<C> coFac, TermOrder t1)
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
cancel()
Cancel ThreadPool.ExpVector
facetNormal(TermOrder t1, TermOrder t2, java.util.Set<ExpVector> delta, ExpVector zero, long[][] t2weight)
Determine new facet normal.java.util.List<GenPolynomial<C>>
GB(int modv, java.util.List<GenPolynomial<C>> F)
Groebner base using Groebner Walk algorithm.java.util.List<GenPolynomial<C>>
liftReductas(java.util.List<Monomial<C>> M, java.util.List<Monomial<C>> Mp, java.util.List<GenPolynomial<C>> G, java.util.List<GenPolynomial<C>> A)
Lift leading polynomials to full Groebner base with respect to term order.void
terminate()
Cleanup and terminate ThreadPool.java.lang.String
toString()
Get the String representation with GB engine.java.util.List<GenPolynomial<C>>
walkGroebnerToTarget(int modv, java.util.List<GenPolynomial<C>> Gl, GenPolynomialRing<C> ufac)
Converts Groebner bases w.r.t. total degree / start term order to Groebner base w.r.t to inverse lexicographical / target term order.-
Methods inherited from class edu.jas.gb.GroebnerBaseAbstract
commonZeroTest, constructUnivariate, extGB, extGB, GB, GB, GB, isGB, isGB, isGB, isGB, isGB, isGB, isGBidem, isGBsimple, isMinimalGB, isMinReductionMatrix, isMinReductionMatrix, isReductionMatrix, isReductionMatrix, minimalExtendedGB, minimalGB, normalizeMatrix, normalizeZerosOnes, univariateDegrees
-
-
-
-
Field Detail
-
sgb
protected GroebnerBaseAbstract<C extends GcdRingElem<C>> sgb
The backing GB algorithm implementation.
-
-
Constructor Detail
-
GroebnerBaseWalk
public GroebnerBaseWalk()
Constructor.
-
GroebnerBaseWalk
public GroebnerBaseWalk(RingFactory<C> coFac)
Constructor.- Parameters:
coFac
- coefficient ring of polynomial ring.
-
GroebnerBaseWalk
public GroebnerBaseWalk(RingFactory<C> coFac, TermOrder t1)
Constructor.- Parameters:
coFac
- coefficient ring of polynomial ring.t1
- start term order.
-
GroebnerBaseWalk
public GroebnerBaseWalk(GroebnerBaseAbstract<C> gb)
Constructor.- Parameters:
gb
- backing GB algorithm.
-
GroebnerBaseWalk
public GroebnerBaseWalk(GroebnerBaseAbstract<C> gb, TermOrder t1)
Constructor.- Parameters:
gb
- backing GB algorithm.t1
- start term order.
-
-
Method Detail
-
toString
public java.lang.String toString()
Get the String representation with GB engine.- Overrides:
toString
in classGroebnerBaseAbstract<C extends GcdRingElem<C>>
- See Also:
Object.toString()
-
GB
public java.util.List<GenPolynomial<C>> GB(int modv, java.util.List<GenPolynomial<C>> F)
Groebner base using Groebner Walk algorithm.- Parameters:
modv
- module variable number.F
- polynomial list in target term order.- Returns:
- GB(F) a INVLEX / target term order Groebner base of F.
-
walkGroebnerToTarget
public java.util.List<GenPolynomial<C>> walkGroebnerToTarget(int modv, java.util.List<GenPolynomial<C>> Gl, GenPolynomialRing<C> ufac)
Converts Groebner bases w.r.t. total degree / start term order to Groebner base w.r.t to inverse lexicographical / target term order.- Parameters:
modv
- module variable number.Gl
- Groebner base with respect to graded / start term order.ufac
- target polynomial ring and term order.- Returns:
- Groebner base w.r.t inverse lexicographical / target term order
-
facetNormal
public ExpVector facetNormal(TermOrder t1, TermOrder t2, java.util.Set<ExpVector> delta, ExpVector zero, long[][] t2weight)
Determine new facet normal.- Parameters:
t1
- old term order.t2
- new term order.delta
- exponent vectors deltas.zero
- exponent vector.t2weight
- weight representation of t2.- Returns:
- new facet normal v or null if no new facet normal exists.
-
terminate
public void terminate()
Cleanup and terminate ThreadPool.- Overrides:
terminate
in classGroebnerBaseAbstract<C extends GcdRingElem<C>>
-
cancel
public int cancel()
Cancel ThreadPool.- Overrides:
cancel
in classGroebnerBaseAbstract<C extends GcdRingElem<C>>
-
liftReductas
public java.util.List<GenPolynomial<C>> liftReductas(java.util.List<Monomial<C>> M, java.util.List<Monomial<C>> Mp, java.util.List<GenPolynomial<C>> G, java.util.List<GenPolynomial<C>> A)
Lift leading polynomials to full Groebner base with respect to term order.- Parameters:
M
- new leading monomial list of polynomials as marks.Mp
- old leading monomial list of polynomials as marks.G
- Groebner base polynomials for lift.A
- polynomial list of leading omega polynomials to lift.- Returns:
- lift(A) a Groebner base wrt M of ideal(G).
-
-