Go to the first, previous, next, last section, table of contents.

### `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`
  section `dp_ptod`, section `dp_dtop`, section `dp_ord`, section `dp_nf`, `dp_nf_mod`, `dp_true_nf`, `dp_true_nf_mod`.

Go to the first, previous, next, last section, table of contents.