001/*
002 * $Id: PseudoReduction.java 3423 2010-12-24 10:56:50Z kredel $
003 */
004
005package edu.jas.gbufd;
006
007
008import java.util.List;
009
010import edu.jas.gb.Reduction;
011import edu.jas.poly.GenPolynomial;
012import edu.jas.structure.RingElem;
013
014
015/**
016 * Polynomial pseudo reduction interface. Defines additionaly normalformFactor.
017 * @param <C> coefficient type.
018 * @author Heinz Kredel
019 */
020
021public interface PseudoReduction<C extends RingElem<C>> extends Reduction<C> {
022
023
024    /**
025     * Normalform with multiplication factor.
026     * @param Pp polynomial list.
027     * @param Ap polynomial.
028     * @return ( nf(Ap), mf ) with respect to Pp and mf as multiplication factor
029     *         for Ap.
030     */
031    public PseudoReductionEntry<C> normalformFactor(List<GenPolynomial<C>> Pp, GenPolynomial<C> Ap);
032
033}