edu.jas.gbmod
Class SyzygyAbstract<C extends GcdRingElem<C>>

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

public class SyzygyAbstract<C extends GcdRingElem<C>>
extends java.lang.Object
implements Syzygy<C>

SyzygyAbstract class. Implements Syzygy computations and tests.

Author:
Heinz Kredel

Field Summary
protected  BasicLinAlg<GenPolynomial<C>> blas
          Linear algebra engine.
protected  Reduction<C> red
          Reduction engine.
 
Constructor Summary
SyzygyAbstract()
          Constructor.
 
Method Summary
 boolean isZeroRelation(java.util.List<java.util.List<GenPolynomial<C>>> Z, java.util.List<GenPolynomial<C>> F)
          Test if sysygy.
 boolean isZeroRelation(ModuleList<C> Z, ModuleList<C> F)
          Test if sysygy of modules.
 java.util.List<edu.jas.gbmod.ResPart<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.ResPart<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<GenPolynomial<C>>> zeroRelations(int modv, GenVector<GenPolynomial<C>> v)
          Syzygy module from Groebner base. v must be a Groebner base.
 java.util.List<java.util.List<GenPolynomial<C>>> zeroRelations(int modv, java.util.List<GenPolynomial<C>> F)
          Syzygy module from Groebner base.
 java.util.List<java.util.List<GenPolynomial<C>>> zeroRelations(java.util.List<GenPolynomial<C>> F)
          Syzygy module from Groebner base.
 ModuleList<C> zeroRelations(ModuleList<C> M)
          Syzygy module from module Groebner base.
 java.util.List<java.util.List<GenPolynomial<C>>> zeroRelationsArbitrary(int modv, java.util.List<GenPolynomial<C>> F)
          Syzygy module from arbitrary base.
 java.util.List<java.util.List<GenPolynomial<C>>> zeroRelationsArbitrary(java.util.List<GenPolynomial<C>> F)
          Syzygy module from arbitrary base.
 ModuleList<C> zeroRelationsArbitrary(ModuleList<C> M)
          Syzygy module from arbitrary module base.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

red

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


blas

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

Constructor Detail

SyzygyAbstract

public SyzygyAbstract()
Constructor.

Method Detail

zeroRelations

public java.util.List<java.util.List<GenPolynomial<C>>> zeroRelations(java.util.List<GenPolynomial<C>> F)
Syzygy module from Groebner base. F must be a Groebner base.

Specified by:
zeroRelations in interface Syzygy<C extends GcdRingElem<C>>
Parameters:
F - a Groebner base.
Returns:
syz(F), a basis for the module of syzygies for F.

zeroRelations

public java.util.List<java.util.List<GenPolynomial<C>>> zeroRelations(int modv,
                                                                      java.util.List<GenPolynomial<C>> F)
Syzygy module from Groebner base. F must be a Groebner base.

Specified by:
zeroRelations in interface Syzygy<C extends GcdRingElem<C>>
Parameters:
modv - number of module variables.
F - a Groebner base.
Returns:
syz(F), a basis for the module of syzygies for F.

zeroRelations

public java.util.List<java.util.List<GenPolynomial<C>>> zeroRelations(int modv,
                                                                      GenVector<GenPolynomial<C>> v)
Syzygy module from Groebner base. v must be a Groebner base.

Specified by:
zeroRelations in interface Syzygy<C extends GcdRingElem<C>>
Parameters:
modv - number of module variables.
v - a Groebner base.
Returns:
syz(v), a basis for the module of syzygies for v.

zeroRelations

public ModuleList<C> zeroRelations(ModuleList<C> M)
Syzygy module from module Groebner base. M must be a module Groebner base.

Specified by:
zeroRelations in interface Syzygy<C extends GcdRingElem<C>>
Parameters:
M - a module Groebner base.
Returns:
syz(M), a basis for the module of syzygies for M.

isZeroRelation

public boolean isZeroRelation(java.util.List<java.util.List<GenPolynomial<C>>> Z,
                              java.util.List<GenPolynomial<C>> F)
Test if sysygy.

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

isZeroRelation

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

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

resolution

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

Specified by:
resolution in interface Syzygy<C extends GcdRingElem<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 Syzygy<C extends GcdRingElem<C>>
Parameters:
F - a polynomial list of a Groebner basis.
Returns:
a resolution of F.

resolutionArbitrary

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

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

resolutionArbitrary

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

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

zeroRelationsArbitrary

public java.util.List<java.util.List<GenPolynomial<C>>> zeroRelationsArbitrary(java.util.List<GenPolynomial<C>> F)
Syzygy module from arbitrary base.

Specified by:
zeroRelationsArbitrary in interface Syzygy<C extends GcdRingElem<C>>
Parameters:
F - a polynomial list.
Returns:
syz(F), a basis for the module of syzygies for F.

zeroRelationsArbitrary

public java.util.List<java.util.List<GenPolynomial<C>>> zeroRelationsArbitrary(int modv,
                                                                               java.util.List<GenPolynomial<C>> F)
Syzygy module from arbitrary base.

Specified by:
zeroRelationsArbitrary in interface Syzygy<C extends GcdRingElem<C>>
Parameters:
modv - number of module variables.
F - a polynomial list.
Returns:
syz(F), a basis for the module of syzygies for F.

zeroRelationsArbitrary

public ModuleList<C> zeroRelationsArbitrary(ModuleList<C> M)
Syzygy module from arbitrary module base.

Specified by:
zeroRelationsArbitrary in interface Syzygy<C extends GcdRingElem<C>>
Parameters:
M - an arbitrary module base.
Returns:
syz(M), a basis for the module of syzygies for M.