001/* 002 * $Id: WordGroebnerBase.java 4782 2014-04-06 21:56:08Z kredel $ 003 */ 004 005package edu.jas.gb; 006 007 008import java.io.Serializable; 009import java.util.List; 010 011import edu.jas.poly.GenWordPolynomial; 012import edu.jas.structure.RingElem; 013 014 015/** 016 * Non-commutative Groebner Bases interface for GenWordPolynomials. Defines 017 * methods for Groebner bases and GB test. 018 * @param <C> coefficient type 019 * @author Heinz Kredel 020 */ 021 022public interface WordGroebnerBase<C extends RingElem<C>> extends Serializable { 023 024 025 /** 026 * Groebner base test. 027 * @param F word polynomial list. 028 * @return true, if F is a Groebner base, else false. 029 */ 030 public boolean isGB(List<GenWordPolynomial<C>> F); 031 032 033 /** 034 * Groebner base using pairlist class. 035 * @param F word polynomial list. 036 * @return GB(F) a non-commutative Groebner base of F. 037 */ 038 public List<GenWordPolynomial<C>> GB(List<GenWordPolynomial<C>> F); 039 040 041 /** 042 * Minimal ordered groebner basis. 043 * @param Gp a Word Groebner base. 044 * @return a reduced Word Groebner base of Gp. 045 */ 046 public List<GenWordPolynomial<C>> minimalGB(List<GenWordPolynomial<C>> Gp); 047 048}