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)`
  :: 表現多項式の正規形を求める. (結果は定数倍されている可能性あり)
`p_true_nf(poly,plist,vlist,order)`
`p_true_nf_mod(poly,plist,vlist,order,mod)`
  :: 表現多項式の正規形を求める. (真の結果を `[分子, 分母]` の形で返す)

return
  `p_nf` : 多項式, `p_true_nf` : リスト
poly
  多項式
plist,vlist
  リスト
order
  数, リストまたは行列
mod
  素数

- ``gr'` で定義されている.
- 多項式の, 多項式リストによる正規形を求める.
- `dp_nf()`, `dp_true_nf()`, `dp_nf_mod()`, `dp_true_nf_mod` に対するインタフェースである.
- poly および plist は, 変数順序 vlist および 変数順序型 otype に従って分散表現多項式に変換され, `dp_nf()`, `dp_true_nf()`, `dp_nf_mod()`, `dp_true_nf_mod()` に渡される.
- `dp_nf()`, `dp_true_nf()`, `dp_nf_mod()`, `dp_true_nf_mod()` は fullreduce が 1 で呼び出される.
- 結果は多項式に変換されて出力される.
- `p_true_nf()`, `p_true_nf_mod()` の出力に関しては, `dp_true_nf()`, `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

`参照`
  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.