001/* 002 * $Id: WordGroebnerBase.java 4150 2012-09-01 09:18:23Z kredel $ 003 */ 004 005package edu.jas.gb; 006 007 008import java.util.List; 009import java.io.Serializable; 010 011import edu.jas.structure.RingElem; 012import edu.jas.poly.GenWordPolynomial; 013 014 015/** 016 * Non-commutative Groebner Bases interface for GenWordPolynomials. 017 * Defines 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>> 023 extends Serializable { 024 025 026 /** 027 * Groebner base test. 028 * @param F word polynomial list. 029 * @return true, if F is a Groebner base, else false. 030 */ 031 public boolean isGB(List<GenWordPolynomial<C>> F); 032 033 034 /** 035 * Groebner base using pairlist class. 036 * @param F word polynomial list. 037 * @return GB(F) a non-commutative Groebner base of F. 038 */ 039 public List<GenWordPolynomial<C>> GB( List<GenWordPolynomial<C>> F ); 040 041 042 /** 043 * Minimal ordered groebner basis. 044 * @param Gp a Word Groebner base. 045 * @return a reduced Word Groebner base of Gp. 046 */ 047 public List<GenWordPolynomial<C>> minimalGB(List<GenWordPolynomial<C>> Gp); 048 049}