001/* 002 * $Id: PseudoReduction.java 4966 2014-10-19 10:56:48Z 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 /** 034 * Normalform recursive. 035 * @param Ap recursive polynomial. 036 * @param Pp recursive polynomial list. 037 * @return nf(Ap) with respect to Pp. 038 */ 039 public GenPolynomial<GenPolynomial<C>> normalformRecursive(List<GenPolynomial<GenPolynomial<C>>> Pp, GenPolynomial<GenPolynomial<C>> Ap); 040 041}