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

### `sp`, `sp_noalg`

`sp(poly)`
`sp_noalg(poly)`
  :: 最小分解体を求める.

return
  リスト
poly
  多項式

- ``sp'` で定義されている.
- 有理数係数の 1 変数多項式 poly の最小分解体, およびその体上での poly の 1 次因子への分解を求める.
- 結果は, poly の因子のリストと, 最小分解体の, 逐次拡大による表現 からなるリストである. `sp_noalg` では, 全ての代数的数が, 対応する 不定元 (即ち `#i` に対する `t#i`) に置き換えられる. これに より, `sp_noalg` の出力は, 整数係数多変数多項式のリストとなる.
- 最小分解体は, `[root,algptorat(defpoly(root))]` のリストとして 表現されている. すなわち, 求める最小分解体は, 有理数体に, この `root` を全て添加した体として得られる. 添加は, 右の方の `root` から順に 行われる.
- `sp()` は, 内部でノルムの計算のために `sp_norm()` をしばしば 起動する. ノルムの計算は, 状況に応じてさまざまな方法で行われるが, そこで用いられる方法が最善とは限らず, 単純な終結式の計算の方が高速 である場合もある. 大域変数 `USE_RES` を 1 に設定することにより, 常に終結式により計算 させることができる.

    [101] L=sp(x^9-54);
    [[x+(-#2),-54*x+(#1^6*#2^4),54*x+(#1^6*#2^4+54*#2),
    54*x+(-#1^8*#2^2),-54*x+(#1^5*#2^5),54*x+(#1^5*#2^5+#1^8*#2^2),
    -54*x+(-#1^7*#2^3-54*#1),54*x+(-#1^7*#2^3),x+(-#1)],
    [[(#2),t#2^6+t#1^3*t#2^3+t#1^6],[(#1),t#1^9-54]]]
    [102] for(I=0,M=1;I<9;I++)M*=L[0][I];
    [111] M=simpalg(M);
    -1338925209984*x^9+72301961339136
    [112] ptozp(M);
    -x^9+54

`参照`
  section `asq`, `af`, `af_noalg`, section `defpoly`, section `algptorat`, section `sp_norm`.

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