edu.jas.ring
Class GroebnerBaseAbstract<C extends RingElem<C>>

java.lang.Object
  extended by edu.jas.ring.GroebnerBaseAbstract<C>
All Implemented Interfaces:
GroebnerBase<C>, java.io.Serializable
Direct Known Subclasses:
DGroebnerBaseSeq, GroebnerBaseDistributed, GroebnerBaseParallel, GroebnerBaseSeq, GroebnerBaseSeqPairDistributed, GroebnerBaseSeqPairParallel, GroebnerBaseSeqPairSeq

public abstract class GroebnerBaseAbstract<C extends RingElem<C>>
extends java.lang.Object
implements GroebnerBase<C>

Groebner Bases abstract class. Implements common Groebner bases and GB test methods.

Author:
Heinz Kredel
See Also:
Serialized Form

Field Summary
protected  Reduction<C> red
          Reduction engine.
 
Constructor Summary
GroebnerBaseAbstract()
          Constructor.
GroebnerBaseAbstract(Reduction<C> red)
          Constructor.
 
Method Summary
 ExtendedGB<C> extGB(int modv, java.util.List<GenPolynomial<C>> F)
          Extended Groebner base using critical pair class.
 ExtendedGB<C> extGB(java.util.List<GenPolynomial<C>> F)
          Extended Groebner base using critical pair class.
 java.util.List<GenPolynomial<C>> GB(java.util.List<GenPolynomial<C>> F)
          Groebner base using pairlist class.
 boolean isGB(int modv, java.util.List<GenPolynomial<C>> F)
          Groebner base test.
 boolean isGB(java.util.List<GenPolynomial<C>> F)
          Groebner base test.
 boolean isReductionMatrix(ExtendedGB<C> exgb)
          Test if reduction matrix.
 boolean isReductionMatrix(java.util.List<GenPolynomial<C>> F, java.util.List<GenPolynomial<C>> G, java.util.List<java.util.List<GenPolynomial<C>>> Mf, java.util.List<java.util.List<GenPolynomial<C>>> Mg)
          Test if reduction matrix.
 java.util.List<GenPolynomial<C>> minimalGB(java.util.List<GenPolynomial<C>> Gp)
          Minimal ordered Groebner basis.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface edu.jas.ring.GroebnerBase
GB
 

Field Detail

red

protected Reduction<C extends RingElem<C>> red
Reduction engine.

Constructor Detail

GroebnerBaseAbstract

public GroebnerBaseAbstract()
Constructor.


GroebnerBaseAbstract

public GroebnerBaseAbstract(Reduction<C> red)
Constructor.

Parameters:
red - Reduction engine
Method Detail

isGB

public boolean isGB(java.util.List<GenPolynomial<C>> F)
Groebner base test.

Specified by:
isGB in interface GroebnerBase<C extends RingElem<C>>
Type parameter:
C coefficient type.
Parameters:
F - polynomial list.
Returns:
true, if F is a Groebner base, else false.

isGB

public boolean isGB(int modv,
                    java.util.List<GenPolynomial<C>> F)
Groebner base test.

Specified by:
isGB in interface GroebnerBase<C extends RingElem<C>>
Type parameter:
C coefficient type.
Parameters:
modv - module variable number.
F - polynomial list.
Returns:
true, if F is a Groebner base, else false.

GB

public java.util.List<GenPolynomial<C>> GB(java.util.List<GenPolynomial<C>> F)
Groebner base using pairlist class.

Specified by:
GB in interface GroebnerBase<C extends RingElem<C>>
Type parameter:
C coefficient type.
Parameters:
F - polynomial list.
Returns:
GB(F) a Groebner base of F.

extGB

public ExtendedGB<C> extGB(java.util.List<GenPolynomial<C>> F)
Extended Groebner base using critical pair class.

Specified by:
extGB in interface GroebnerBase<C extends RingElem<C>>
Type parameter:
C coefficient type.
Parameters:
F - polynomial list.
Returns:
a container for an extended Groebner base of F.

extGB

public ExtendedGB<C> extGB(int modv,
                           java.util.List<GenPolynomial<C>> F)
Extended Groebner base using critical pair class.

Specified by:
extGB in interface GroebnerBase<C extends RingElem<C>>
Type parameter:
C coefficient type.
Parameters:
modv - module variable number.
F - polynomial list.
Returns:
a container for an extended Groebner base of F.

minimalGB

public java.util.List<GenPolynomial<C>> minimalGB(java.util.List<GenPolynomial<C>> Gp)
Minimal ordered Groebner basis.

Specified by:
minimalGB in interface GroebnerBase<C extends RingElem<C>>
Type parameter:
C coefficient type.
Parameters:
Gp - a Groebner base.
Returns:
a reduced Groebner base of Gp.

isReductionMatrix

public boolean isReductionMatrix(ExtendedGB<C> exgb)
Test if reduction matrix.

Specified by:
isReductionMatrix in interface GroebnerBase<C extends RingElem<C>>
Type parameter:
C coefficient type.
Parameters:
exgb - an ExtendedGB container.
Returns:
true, if exgb contains a reduction matrix, else false.

isReductionMatrix

public boolean isReductionMatrix(java.util.List<GenPolynomial<C>> F,
                                 java.util.List<GenPolynomial<C>> G,
                                 java.util.List<java.util.List<GenPolynomial<C>>> Mf,
                                 java.util.List<java.util.List<GenPolynomial<C>>> Mg)
Test if reduction matrix.

Specified by:
isReductionMatrix in interface GroebnerBase<C extends RingElem<C>>
Type parameter:
C coefficient type.
Parameters:
F - a polynomial list.
G - a Groebner base.
Mf - a possible reduction matrix.
Mg - a possible reduction matrix.
Returns:
true, if Mg and Mf are reduction matrices, else false.