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

java.lang.Object
  extended by edu.jas.ring.SolvableGroebnerBaseAbstract<C>
      extended by edu.jas.ring.SolvableGroebnerBaseSeq<C>
All Implemented Interfaces:
SolvableGroebnerBase<C>

public class SolvableGroebnerBaseSeq<C extends RingElem<C>>
extends SolvableGroebnerBaseAbstract<C>

Solvable Groebner bases sequential algorithms. Implements common left, right and twosided Groebner bases and left, right and twosided GB tests.

Author:
Heinz Kredel.

Field Summary
protected  SolvableBasicLinAlg<C> sblas
          Linear algebra engine.
 
Fields inherited from class edu.jas.ring.SolvableGroebnerBaseAbstract
red, sred
 
Constructor Summary
SolvableGroebnerBaseSeq()
          Constructor.
SolvableGroebnerBaseSeq(Reduction<C> red, SolvableReduction<C> sred)
          Constructor.
 
Method Summary
 SolvableExtendedGB<C> extLeftGB(int modv, java.util.List<GenSolvablePolynomial<C>> F)
          Solvable Extended Groebner base using critical pair class.
 boolean isLeftReductionMatrix(SolvableExtendedGB<C> exgb)
          Test if M is a left reduction matrix.
 java.util.List<GenSolvablePolynomial<C>> leftGB(int modv, java.util.List<GenSolvablePolynomial<C>> F)
          Left Groebner base using pairlist class.
 SolvableExtendedGB<C> minimalSolvableExtendedGB(int flen, java.util.List<GenSolvablePolynomial<C>> Gp, java.util.List<java.util.List<GenSolvablePolynomial<C>>> M)
          Minimal solvable extended groebner basis.
 java.util.List<java.util.List<GenSolvablePolynomial<C>>> normalizeMatrix(int flen, java.util.List<java.util.List<GenSolvablePolynomial<C>>> M)
          Normalize M.
 java.util.List<GenSolvablePolynomial<C>> twosidedGB(int modv, java.util.List<GenSolvablePolynomial<C>> Fp)
          Twosided Groebner base using pairlist class.
 
Methods inherited from class edu.jas.ring.SolvableGroebnerBaseAbstract
extLeftGB, isLeftGB, isLeftGB, isLeftReductionMatrix, isRightGB, isRightGB, isTwosidedGB, isTwosidedGB, leftGB, leftMinimalGB, rightGB, rightGB, twosidedGB
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

sblas

protected SolvableBasicLinAlg<C extends RingElem<C>> sblas
Linear algebra engine.

Constructor Detail

SolvableGroebnerBaseSeq

public SolvableGroebnerBaseSeq()
Constructor.


SolvableGroebnerBaseSeq

public SolvableGroebnerBaseSeq(Reduction<C> red,
                               SolvableReduction<C> sred)
Constructor.

Parameters:
red - Reduction engine
sred - Solvable reduction engine
Method Detail

leftGB

public java.util.List<GenSolvablePolynomial<C>> leftGB(int modv,
                                                       java.util.List<GenSolvablePolynomial<C>> F)
Left Groebner base using pairlist class.

Type parameter:
C coefficient type.
Parameters:
modv - number of module variables.
F - solvable polynomial list.
Returns:
leftGB(F) a left Groebner base of F.

extLeftGB

public SolvableExtendedGB<C> extLeftGB(int modv,
                                       java.util.List<GenSolvablePolynomial<C>> F)
Solvable Extended Groebner base using critical pair class.

Type parameter:
C coefficient type.
Parameters:
modv - module variable number.
F - solvable polynomial list.
Returns:
a container for an extended left Groebner base of F.

twosidedGB

public java.util.List<GenSolvablePolynomial<C>> twosidedGB(int modv,
                                                           java.util.List<GenSolvablePolynomial<C>> Fp)
Twosided Groebner base using pairlist class.

Type parameter:
C coefficient type.
Parameters:
modv - number of module variables.
Fp - solvable polynomial list.
Returns:
tsGB(Fp) a twosided Groebner base of Fp.

normalizeMatrix

public java.util.List<java.util.List<GenSolvablePolynomial<C>>> normalizeMatrix(int flen,
                                                                                java.util.List<java.util.List<GenSolvablePolynomial<C>>> M)
Normalize M. Make all rows the same size and make certain column elements zero.

Type parameter:
C coefficient type.
Parameters:
M - a reduction matrix.
Returns:
normalized M.

isLeftReductionMatrix

public boolean isLeftReductionMatrix(SolvableExtendedGB<C> exgb)
Test if M is a left reduction matrix.

Specified by:
isLeftReductionMatrix in interface SolvableGroebnerBase<C extends RingElem<C>>
Overrides:
isLeftReductionMatrix in class SolvableGroebnerBaseAbstract<C extends RingElem<C>>
Type parameter:
C coefficient type.
Parameters:
exgb - an SolvableExtendedGB container.
Returns:
true, if exgb contains a left reduction matrix, else false.

minimalSolvableExtendedGB

public SolvableExtendedGB<C> minimalSolvableExtendedGB(int flen,
                                                       java.util.List<GenSolvablePolynomial<C>> Gp,
                                                       java.util.List<java.util.List<GenSolvablePolynomial<C>>> M)
Minimal solvable extended groebner basis.

Type parameter:
C coefficient type.
Parameters:
Gp - a left Groebner base.
M - a left reduction matrix, is modified.
Returns:
a (partially) reduced left Groebner base of Gp in a container.