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>
,Serializable
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.
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final boolean
(package private) int
Print intermediate GB after this number of iterations.private static final org.apache.logging.log4j.Logger
protected GroebnerBaseAbstract
<C> The backing GB algorithm implementation.protected TermOrder
The start term order t1.Fields inherited from class edu.jas.gb.GroebnerBaseAbstract
blas, red, strategy
-
Constructor Summary
ConstructorsConstructorDescriptionConstructor.Constructor.GroebnerBaseWalk
(GroebnerBaseAbstract<C> gb, TermOrder t1) Constructor.GroebnerBaseWalk
(RingFactory<C> coFac) Constructor.GroebnerBaseWalk
(RingFactory<C> coFac, TermOrder t1) Constructor. -
Method Summary
Modifier and TypeMethodDescriptionint
cancel()
Cancel ThreadPool.Determine new facet normal.GB
(int modv, List<GenPolynomial<C>> F) Groebner base using Groebner Walk algorithm.liftReductas
(List<Monomial<C>> M, List<Monomial<C>> Mp, List<GenPolynomial<C>> G, List<GenPolynomial<C>> A) Lift leading polynomials to full Groebner base with respect to term order.void
Cleanup and terminate ThreadPool.toString()
Get the String representation with GB engine.walkGroebnerToTarget
(int modv, List<GenPolynomial<C>> Gl, GenPolynomialRing<C> ufac) Converts Groebner bases w.r.t.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 Details
-
logger
private static final org.apache.logging.log4j.Logger logger -
debug
private static final boolean debug -
sgb
The backing GB algorithm implementation. -
startTO
The start term order t1. -
iterPrint
int iterPrintPrint intermediate GB after this number of iterations.
-
-
Constructor Details
-
GroebnerBaseWalk
public GroebnerBaseWalk()Constructor. -
GroebnerBaseWalk
Constructor.- Parameters:
coFac
- coefficient ring of polynomial ring.
-
GroebnerBaseWalk
Constructor.- Parameters:
coFac
- coefficient ring of polynomial ring.t1
- start term order.
-
GroebnerBaseWalk
Constructor.- Parameters:
gb
- backing GB algorithm.
-
GroebnerBaseWalk
Constructor.- Parameters:
gb
- backing GB algorithm.t1
- start term order.
-
-
Method Details
-
toString
Get the String representation with GB engine.- Overrides:
toString
in classGroebnerBaseAbstract<C extends GcdRingElem<C>>
- See Also:
-
GB
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 List<GenPolynomial<C>> walkGroebnerToTarget(int modv, 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, 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 List<GenPolynomial<C>> liftReductas(List<Monomial<C>> M, List<Monomial<C>> Mp, List<GenPolynomial<C>> G, 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).
-