edu.jas.gbmod
Class SolvableSyzygyAbstract<C extends RingElem<C>>

java.lang.Object
  extended by edu.jas.gbmod.SolvableSyzygyAbstract<C>
Type Parameters:
C - coefficient type
All Implemented Interfaces:
SolvableSyzygy<C>

public class SolvableSyzygyAbstract<C extends RingElem<C>>
extends java.lang.Object
implements SolvableSyzygy<C>

Syzygy class for solvable polynomials. Implements Syzygy computations and tests.

Author:
Heinz Kredel

Field Summary
protected  BasicLinAlg<GenPolynomial<C>> blas
          Linear algebra engine.
protected  Reduction<C> red
          Reduction engine.
protected  SolvableReduction<C> sred
          Solvable reduction engine.
 
Constructor Summary
SolvableSyzygyAbstract()
          Constructor.
 
Method Summary
 boolean isLeftZeroRelation(java.util.List<java.util.List<GenSolvablePolynomial<C>>> Z, java.util.List<GenSolvablePolynomial<C>> F)
          Test if left syzygy.
 boolean isLeftZeroRelation(ModuleList<C> Z, ModuleList<C> F)
          Test if left sysygy of modules
 boolean isRightZeroRelation(java.util.List<java.util.List<GenSolvablePolynomial<C>>> Z, java.util.List<GenSolvablePolynomial<C>> F)
          Test if right syzygy.
 boolean isRightZeroRelation(ModuleList<C> Z, ModuleList<C> F)
          Test if right sysygy of modules
 java.util.List<java.util.List<GenSolvablePolynomial<C>>> leftZeroRelations(int modv, java.util.List<GenSolvablePolynomial<C>> F)
          Left syzygy for left Groebner base.
 java.util.List<java.util.List<GenSolvablePolynomial<C>>> leftZeroRelations(java.util.List<GenSolvablePolynomial<C>> F)
          Left syzygy for left Groebner base.
 ModuleList<C> leftZeroRelations(ModuleList<C> M)
          Left syzygy for left module Groebner base.
 java.util.List<java.util.List<GenSolvablePolynomial<C>>> leftZeroRelationsArbitrary(int modv, java.util.List<GenSolvablePolynomial<C>> F)
          Left syzygy module from arbitrary base.
 java.util.List<java.util.List<GenSolvablePolynomial<C>>> leftZeroRelationsArbitrary(java.util.List<GenSolvablePolynomial<C>> F)
          Left syzygy module from arbitrary base.
 ModuleList<C> leftZeroRelationsArbitrary(ModuleList<C> M)
          Left syzygy for arbitrary left module base.
 java.util.List<edu.jas.gbmod.SolvResPart<C>> resolution(ModuleList<C> M)
          Resolution of a module.
 java.util.List resolution(PolynomialList<C> F)
          Resolution of a polynomial list.
 java.util.List<edu.jas.gbmod.SolvResPart<C>> resolutionArbitrary(ModuleList<C> M)
          Resolution of a module.
 java.util.List resolutionArbitrary(PolynomialList<C> F)
          Resolution of a polynomial list.
 java.util.List<java.util.List<GenSolvablePolynomial<C>>> rightZeroRelationsArbitrary(int modv, java.util.List<GenSolvablePolynomial<C>> F)
          Right syzygy module from arbitrary base.
 java.util.List<java.util.List<GenSolvablePolynomial<C>>> rightZeroRelationsArbitrary(java.util.List<GenSolvablePolynomial<C>> F)
          Right syzygy module from arbitrary base.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

sred

protected SolvableReduction<C extends RingElem<C>> sred
Solvable reduction engine.


red

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


blas

protected BasicLinAlg<GenPolynomial<C extends RingElem<C>>> blas
Linear algebra engine.

Constructor Detail

SolvableSyzygyAbstract

public SolvableSyzygyAbstract()
Constructor.

Method Detail

leftZeroRelations

public java.util.List<java.util.List<GenSolvablePolynomial<C>>> leftZeroRelations(java.util.List<GenSolvablePolynomial<C>> F)
Left syzygy for left Groebner base.

Specified by:
leftZeroRelations in interface SolvableSyzygy<C extends RingElem<C>>
Parameters:
F - a Groebner base.
Returns:
leftSyz(F), a basis for the left module of syzygies for F.

leftZeroRelations

public java.util.List<java.util.List<GenSolvablePolynomial<C>>> leftZeroRelations(int modv,
                                                                                  java.util.List<GenSolvablePolynomial<C>> F)
Left syzygy for left Groebner base.

Specified by:
leftZeroRelations in interface SolvableSyzygy<C extends RingElem<C>>
Parameters:
modv - number of module variables.
F - a Groebner base.
Returns:
leftSyz(F), a basis for the left module of syzygies for F.

leftZeroRelations

public ModuleList<C> leftZeroRelations(ModuleList<C> M)
Left syzygy for left module Groebner base.

Specified by:
leftZeroRelations in interface SolvableSyzygy<C extends RingElem<C>>
Parameters:
M - a Groebner base.
Returns:
leftSyz(M), a basis for the left module of syzygies for M.

isLeftZeroRelation

public boolean isLeftZeroRelation(java.util.List<java.util.List<GenSolvablePolynomial<C>>> Z,
                                  java.util.List<GenSolvablePolynomial<C>> F)
Test if left syzygy.

Specified by:
isLeftZeroRelation in interface SolvableSyzygy<C extends RingElem<C>>
Parameters:
Z - list of sysygies.
F - a polynomial list.
Returns:
true, if Z is a list of left syzygies for F, else false.

isRightZeroRelation

public boolean isRightZeroRelation(java.util.List<java.util.List<GenSolvablePolynomial<C>>> Z,
                                   java.util.List<GenSolvablePolynomial<C>> F)
Test if right syzygy.

Specified by:
isRightZeroRelation in interface SolvableSyzygy<C extends RingElem<C>>
Parameters:
Z - list of sysygies.
F - a polynomial list.
Returns:
true, if Z is a list of right syzygies for F, else false.

isLeftZeroRelation

public boolean isLeftZeroRelation(ModuleList<C> Z,
                                  ModuleList<C> F)
Test if left sysygy of modules

Specified by:
isLeftZeroRelation in interface SolvableSyzygy<C extends RingElem<C>>
Parameters:
Z - list of sysygies.
F - a module list.
Returns:
true, if Z is a list of left syzygies for F, else false.

isRightZeroRelation

public boolean isRightZeroRelation(ModuleList<C> Z,
                                   ModuleList<C> F)
Test if right sysygy of modules

Specified by:
isRightZeroRelation in interface SolvableSyzygy<C extends RingElem<C>>
Parameters:
Z - list of sysygies.
F - a module list.
Returns:
true, if Z is a list of right syzygies for F, else false.

resolution

public java.util.List<edu.jas.gbmod.SolvResPart<C>> resolution(ModuleList<C> M)
Resolution of a module. Only with direct GBs.

Specified by:
resolution in interface SolvableSyzygy<C extends RingElem<C>>
Parameters:
M - a module list of a Groebner basis.
Returns:
a resolution of M.

resolution

public java.util.List resolution(PolynomialList<C> F)
Resolution of a polynomial list. Only with direct GBs.

Specified by:
resolution in interface SolvableSyzygy<C extends RingElem<C>>
Parameters:
F - a polynomial list of a Groebner basis.
Returns:
a resolution of F.

resolutionArbitrary

public java.util.List<edu.jas.gbmod.SolvResPart<C>> resolutionArbitrary(ModuleList<C> M)
Resolution of a module.

Specified by:
resolutionArbitrary in interface SolvableSyzygy<C extends RingElem<C>>
Parameters:
M - a module list of an arbitrary basis.
Returns:
a resolution of M.

resolutionArbitrary

public java.util.List resolutionArbitrary(PolynomialList<C> F)
Resolution of a polynomial list.

Specified by:
resolutionArbitrary in interface SolvableSyzygy<C extends RingElem<C>>
Parameters:
F - a polynomial list of an arbitrary basis.
Returns:
a resolution of F.

leftZeroRelationsArbitrary

public java.util.List<java.util.List<GenSolvablePolynomial<C>>> leftZeroRelationsArbitrary(java.util.List<GenSolvablePolynomial<C>> F)
Left syzygy module from arbitrary base.

Specified by:
leftZeroRelationsArbitrary in interface SolvableSyzygy<C extends RingElem<C>>
Parameters:
F - a solvable polynomial list.
Returns:
syz(F), a basis for the module of left syzygies for F.

leftZeroRelationsArbitrary

public java.util.List<java.util.List<GenSolvablePolynomial<C>>> leftZeroRelationsArbitrary(int modv,
                                                                                           java.util.List<GenSolvablePolynomial<C>> F)
Left syzygy module from arbitrary base.

Specified by:
leftZeroRelationsArbitrary in interface SolvableSyzygy<C extends RingElem<C>>
Parameters:
modv - number of module variables.
F - a solvable polynomial list.
Returns:
syz(F), a basis for the module of left syzygies for F.

leftZeroRelationsArbitrary

public ModuleList<C> leftZeroRelationsArbitrary(ModuleList<C> M)
Left syzygy for arbitrary left module base.

Specified by:
leftZeroRelationsArbitrary in interface SolvableSyzygy<C extends RingElem<C>>
Parameters:
M - an arbitrary base.
Returns:
leftSyz(M), a basis for the left module of syzygies for M.

rightZeroRelationsArbitrary

public java.util.List<java.util.List<GenSolvablePolynomial<C>>> rightZeroRelationsArbitrary(java.util.List<GenSolvablePolynomial<C>> F)
Right syzygy module from arbitrary base.

Specified by:
rightZeroRelationsArbitrary in interface SolvableSyzygy<C extends RingElem<C>>
Parameters:
F - a solvable polynomial list.
Returns:
syz(F), a basis for the module of right syzygies for F.

rightZeroRelationsArbitrary

public java.util.List<java.util.List<GenSolvablePolynomial<C>>> rightZeroRelationsArbitrary(int modv,
                                                                                            java.util.List<GenSolvablePolynomial<C>> F)
Right syzygy module from arbitrary base.

Specified by:
rightZeroRelationsArbitrary in interface SolvableSyzygy<C extends RingElem<C>>
Parameters:
modv - number of module variables.
F - a solvable polynomial list.
Returns:
syz(F), a basis for the module of right syzygies for F.