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