001/* 002 * $Id: WordPseudoReduction.java 5054 2015-01-01 11:03:35Z kredel $ 003 */ 004 005package edu.jas.gbufd; 006 007 008import java.util.List; 009 010import edu.jas.gb.WordReduction; 011import edu.jas.poly.GenPolynomial; 012import edu.jas.poly.GenWordPolynomial; 013import edu.jas.structure.RingElem; 014 015 016/** 017 * Polynomial pseudo reduction interface. Defines additionally normalformFactor 018 * and normalformRecursive. 019 * @param <C> coefficient type. 020 * @author Heinz Kredel 021 */ 022 023public interface WordPseudoReduction<C extends RingElem<C>> extends WordReduction<C> { 024 025 026 /** 027 * Left normalform with multiplication factor. 028 * @param Pp polynomial list. 029 * @param Ap polynomial. 030 * @return ( nf(Ap), mf ) with respect to Pp and mf as multiplication factor 031 * for Ap. 032 */ 033 public WordPseudoReductionEntry<C> normalformFactor(List<GenWordPolynomial<C>> Pp, GenWordPolynomial<C> Ap); 034 035 036 /** 037 * Left normalform recursive. 038 * @param Ap recursive polynomial. 039 * @param Pp recursive polynomial list. 040 * @return nf(Ap) with respect to Pp. 041 */ 042 public GenWordPolynomial<GenPolynomial<C>> normalformRecursive( 043 List<GenWordPolynomial<GenPolynomial<C>>> Pp, GenWordPolynomial<GenPolynomial<C>> Ap); 044 045 046}