/*
* $Id$
*/
package edu.jas.gbmod;
import java.util.List;
import edu.jas.poly.GenSolvablePolynomial;
import edu.jas.poly.ModuleList;
import edu.jas.structure.RingElem;
/**
* Module solvable Groebner Bases interface.
* Defines modull solvabe Groebner bases and GB test.
* @param coefficient type
* @author Heinz Kredel
*/
public interface ModSolvableGroebnerBase> {
/**
* Module left Groebner base test.
* @param modv number of modul variables.
* @param F a module basis.
* @return true, if F is a left Groebner base, else false.
*/
public boolean
isLeftGB(int modv, List> F);
/**
* Module left Groebner base test.
* @param M a module basis.
* @return true, if M is a left Groebner base, else false.
*/
public boolean
isLeftGB(ModuleList M);
/**
* Left Groebner base using pairlist class.
* @param modv number of modul variables.
* @param F a module basis.
* @return leftGB(F) a left Groebner base for F.
*/
public List>
leftGB(int modv, List> F);
/**
* Left Groebner base using pairlist class.
* @param M a module basis.
* @return leftGB(M) a left Groebner base for M.
*/
public ModuleList
leftGB(ModuleList M);
/**
* Module twosided Groebner base test.
* @param modv number of modul variables.
* @param F a module basis.
* @return true, if F is a twosided Groebner base, else false.
*/
public boolean
isTwosidedGB(int modv, List> F);
/**
* Module twosided Groebner base test.
* @param M a module basis.
* @return true, if M is a twosided Groebner base, else false.
*/
public boolean
isTwosidedGB(ModuleList M);
/**
* Twosided Groebner base using pairlist class.
* @param modv number of modul variables.
* @param F a module basis.
* @return tsGB(F) a twosided Groebner base for F.
*/
public List>
twosidedGB(int modv, List> F);
/**
* Twosided Groebner base using pairlist class.
* @param M a module basis.
* @return tsGB(M) a twosided Groebner base for M.
*/
public ModuleList
twosidedGB(ModuleList M);
/**
* Module right Groebner base test.
* @param modv number of modul variables.
* @param F a module basis.
* @return true, if F is a right Groebner base, else false.
*/
public boolean
isRightGB(int modv, List> F);
/**
* Module right Groebner base test.
* @param M a module basis.
* @return true, if M is a right Groebner base, else false.
*/
public boolean
isRightGB(ModuleList M);
/**
* Right Groebner base using pairlist class.
* @param modv number of modul variables.
* @param F a module basis.
* @return rightGB(F) a right Groebner base for F.
*/
public List>
rightGB(int modv, List> F);
/**
* Right Groebner base using pairlist class.
* @param M a module basis.
* @return rightGB(M) a right Groebner base for M.
*/
public ModuleList
rightGB(ModuleList M);
}
Ads help maintain this website.