/*
* $Id$
*/
package edu.jas.gb;
import java.util.List;
import java.io.Serializable;
import edu.jas.structure.RingElem;
import edu.jas.poly.GenPolynomial;
/**
* Groebner Bases interface.
* Defines methods for Groebner bases and GB test.
* @param coefficient type
* @author Heinz Kredel
*
* @see edu.jas.application.GBAlgorithmBuilder
* @see edu.jas.gbufd.GBFactory
*/
public interface GroebnerBase>
extends Serializable {
/**
* Groebner base test.
* @param F polynomial list.
* @return true, if F is a Groebner base, else false.
*/
public boolean isGB(List> F);
/**
* Groebner base test.
* @param modv module variable number.
* @param F polynomial list.
* @return true, if F is a Groebner base, else false.
*/
public boolean isGB(int modv, List> F);
/**
* Groebner base using pairlist class.
* @param F polynomial list.
* @return GB(F) a Groebner base of F.
*/
public List>
GB( List> F );
/**
* Groebner base using pairlist class.
* @param modv module variable number.
* @param F polynomial list.
* @return GB(F) a Groebner base of F.
*/
public List>
GB( int modv,
List> F );
/**
* Extended Groebner base using critical pair class.
* @param F polynomial list.
* @return a container for a Groebner base G of F together with back-and-forth transformations.
*/
public ExtendedGB
extGB( List> F );
/**
* Extended Groebner base using critical pair class.
* @param modv module variable number.
* @param F polynomial list.
* @return a container for a Groebner base G of F together with back-and-forth transformations.
*/
public ExtendedGB
extGB( int modv,
List> F );
/**
* Minimal ordered groebner basis.
* @param Gp a Groebner base.
* @return a reduced Groebner base of Gp.
*/
public List>
minimalGB(List> Gp);
/**
* Test if reduction matrix.
* @param exgb an ExtendedGB container.
* @return true, if exgb contains a reduction matrix, else false.
*/
public boolean
isReductionMatrix(ExtendedGB exgb);
/**
* Test if reduction matrix.
* @param F a polynomial list.
* @param G a Groebner base.
* @param Mf a possible reduction matrix.
* @param Mg a possible reduction matrix.
* @return true, if Mg and Mf are reduction matrices, else false.
*/
public boolean
isReductionMatrix(List> F,
List> G,
List>> Mf,
List>> Mg);
}
Ads help maintain this website.