|
Go to the first, previous, next, last section, table of contents.
- asq(poly)
-
:: 代数体上の 1 変数多項式の無平方分解
- af(poly,alglist)
-
- af_noalg(poly,defpolylist)
-
:: 代数体上の 1 変数多項式の因数分解
- return
-
リスト
- poly
-
多項式
- alglist
-
root のリスト
- defpolylist
-
root を表す不定元と定義多項式のペアのリスト
-
いずれも `sp' で定義されている.
-
root を含まない場合は整数上の函数が呼び出され高速であるが,
root を含む場合には, cr_gcda() が起動されるためしばしば
時間がかかる.
-
af() は, 基礎体の指定, すなわち第 2 引数の, root のリスト
の指定が必要である.
-
alglist で指定される root は, 後で定義されたものほど前の
方に来なければならない.
-
af(F,AL) において, AL は代数的数のリストであり, 有理数体の
代数拡大を表す. AL=[An,...,A1] と書くとき, 各 Ak は, それより
右にある代数的数を係数とした, モニックな定義多項式で定義されていなければ
ならない.
[1] A1 = newalg(x^2+1);
[2] A2 = newalg(x^2+A1);
[3] A3 = newalg(x^2+A2*x+A1);
[4] af(x^2+A2*x+A1,[A2,A1]);
[[x^2+(#1)*x+(#0),1]]
af_noalg では, poly に含まれる代数的数 ai を不定元 vi
で置き換える. defpolylist は, [[vn,dn(vn,...,v1)],...,[v1,d(v1)]]
なるリストである. ここで di(vi,...,v1) は ai の定義多項式において
代数的数を全て vj に置き換えたものである.
[1] af_noalg(x^2+a2*x+a1,[[a2,a2^2+a1],[a1,a1^2+1]]);
[[x^2+a2*x+a1,1]]
-
結果は, 通常の無平方分解, 因数分解と同様 [因子, 重複度]
のリストである.
af_noalg の場合, 因子 に現れる代数的数は,
defpolylist に従って不定元に置き換えられる.
-
重複度を込めた因子の全ての積は, poly と定数倍の違いがあり得る.
[98] A = newalg(t^2-2);
(#0)
[99] asq(-x^4+6*x^3+(2*alg(0)-9)*x^2+(-6*alg(0))*x-2);
[[-x^2+3*x+(#0),2]]
[100] af(-x^2+3*x+alg(0),[alg(0)]);
[[x+(#0-1),1],[-x+(#0+2),1]]
[101] af_noalg(-x^2+3*x+a,[[a,x^2-2]]);
[[x+a-1,1],[-x+a+2,1]]
- 参照
-
section
cr_gcda , section fctr , sqfr
Go to the first, previous, next, last section, table of contents.
|