001 /* 002 * $Id: DReduction.java 2412 2009-02-07 12:17:54Z kredel $ 003 */ 004 005 package edu.jas.gb; 006 007 import java.util.List; 008 009 010 import edu.jas.poly.GenPolynomial; 011 import edu.jas.structure.RingElem; 012 013 014 /** 015 * Polynomial D Reduction interface. 016 * Defines additionally D-Polynomial. 017 * @param <C> coefficient type 018 * @author Heinz Kredel 019 */ 020 021 public interface DReduction<C extends RingElem<C>> 022 extends Reduction<C> { 023 024 025 /** 026 * G-Polynomial. 027 * @param Ap polynomial. 028 * @param Bp polynomial. 029 * @return gpol(Ap,Bp) the g-polynomial of Ap and Bp. 030 */ 031 public GenPolynomial<C> GPolynomial(GenPolynomial<C> Ap, 032 GenPolynomial<C> Bp); 033 034 035 /** 036 * D-Polynomial with recording. 037 * @param S recording matrix, is modified. 038 * @param i index of Ap in basis list. 039 * @param Ap a polynomial. 040 * @param j index of Bp in basis list. 041 * @param Bp a polynomial. 042 * @return gpol(Ap, Bp), the g-Polynomial for Ap and Bp. 043 */ 044 public GenPolynomial<C> 045 GPolynomial(List<GenPolynomial<C>> S, 046 int i, 047 GenPolynomial<C> Ap, 048 int j, 049 GenPolynomial<C> Bp); 050 051 }