`p_nf', `p_nf_mod', `p_true_nf', `p_true_nf_mod'
------------------------------------------------

p_nf(POLY,PLIST,VLIST,ORDER)
p_nf_mod(POLY,PLIST,VLIST,ORDER,MOD)
     :: Computes the normal form of the given polynomial.  (The result
     may be multiplied by a constant.)

p_true_nf(POLY,PLIST,VLIST,ORDER)
p_true_nf_mod(POLY,PLIST,VLIST,ORDER,MOD)
     :: Computes the normal form of the given polynomial. (The result
     is returned as a form of `[numerator, denominator]')

RETURN
     `p_nf' : polynomial, `p_true_nf' : list

POLY
     polynomial

PLIST,VLIST
     list

ORDER
     number, list or matrix

MOD
     prime

   * Defined in the package `gr'.

   * Obtains the normal form of a polynomial by a polynomial list.

   * These are interfaces to `dp_nf()', `dp_true_nf()', `dp_nf_mod()',
     `dp_true_nf_mod'

   * The polynomial POLY and the polynomials in PLIST is converted,
     according to the variable ordering VLIST and type of term ordering
     OTYPE, into their distributed polynomial counterparts and passed
     to `dp_nf()'.

   * `dp_nf()', `dp_true_nf()', `dp_nf_mod()' and `dp_true_nf_mod()' is
     called with value 1 for FULLREDUCE.

   * The result is converted back into an ordinary polynomial.

   * As for `p_true_nf()', `p_true_nf_mod()' refer to `dp_true_nf()'
     and `dp_true_nf_mod()'.

     [79] K = katsura(5)$
     [80] V = [u5,u4,u3,u2,u1,u0]$
     [81] G = hgr(K,V,2)$
     [82] p_nf(K[1],G,V,2);
     0
     [83] L = p_true_nf(K[1]+1,G,V,2);
     [-1503...,-1503...]
     [84] L[0]/L[1];
     1

References
     *Note `dp_ptod': dp_ptod, *Note `dp_dtop': dp_dtop, *Note
     `dp_ord': dp_ord, *Note `dp_nf dp_nf_mod dp_true_nf
     dp_true_nf_mod': dp_nf dp_nf_mod dp_true_nf dp_true_nf_mod.

