Google

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


asq, af, af_noalg

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.