Go to the first, previous, next, last section, table of contents.
- taji_alc.snoether(num,den)
-
:: 有理関数num/denが定める代数的局所コホモロジー類のネーター作用素を求める.
- return
-
[[因子,ネーター作用素],...] なるリスト.
ネーター作用素は, 係数を高階の部分から降順に並べたリスト
- num
-
(有理関数の分子の)多項式
- den
-
(有理関数の分母の)多項式
または (有理関数の分母をQ上で既約分解した) [[因子,重複度],...] なるリスト.
- switch
-
オプション指定
case 0 : ネーター作用素を [有理数係数多項式,...] なるリストで返す.
case 1 : ネーター作用素を [整数係数化リスト,...] なるリストで返す.
case 10 : ネーター作用素を [[整数係数多項式,...],整数] なるリストで返す.
case 20 : ネーター作用素を [[整数係数化リスト,...],整数] なるリストで返す.
default : case 0
- taji_alc.snoether()は, denをQ上で既約分解し,
各因子に対応するネーター作用素を返す.
- denは, リストでの入力が望ましい.
(多項式で入力すると, 簡約化の処理が生じるため重くなる.)
ただしその場合には, 既約チェック, 有理式の約分, 整数係数化は行わないので注意する.
入力値はユーザ側が責任をもつ.
- 戻り値の型はswitchで選択できる.
case 10は, ネーター作用素の各係数全体を通分し, その分母部分と階乗の積をリストで分けた表現である.
わかりやすいが, 通分値と係数部分とで約分できる部分がある(特に高階の部分に多い)ので, 冗長性をもっている.
case 20は, 階乗の部分で全体をくくり(リストで分け), ネーター作用素の各係数を個別に通分しリスト化する.
階乗の部分と係数部分とで約分できる部分がある(特に低階の部分に多い)ので,
冗長と言えなくもない(case 10よりはまし)が, 数学的な構造が綺麗に見える表現である.
[296] taji_alc.snoether(1,[[x^3-x-1,3]]);
[[x^3-x-1,[9/529*x^2-27/1058*x+11/1058,-81/529*x^2-9/529*x+135/529,-49
05/12167*x^2+4563/12167*x+3270/12167]]]
[299] taji_alc.snoether(1,[[x^3-x-1,3]]|switch=1);
[[x^3-x-1,[[18*x^2-27*x+11,1058],[-81*x^2-9*x+135,529],[-4905*x^2+4563
*x+3270,12167]]]]
[297] taji_alc.snoether(1,[[x^3-x-1,3]]|switch=10);
[[x^3-x-1,[[414*x^2-621*x+253,-3726*x^2-414*x+6210,-9810*x^2+9126*x+65
40],24334]]]
[298] taji_alc.snoether(1,[[x^3-x-1,3]]|switch=20);
[[x^3-x-1,[[[18*x^2-27*x+11,529],[-162*x^2-18*x+270,529],[-9810*x^2+91
26*x+6540,12167]],2]]]
[241] taji_alc.snoether(x^3+1,x^18-2*x^14+x^10-x^8+2*x^4-1|switch=10);
[[x^4+x^3+x^2+x+1,[[-2*x^2-x-2],50]],[x^4-x^3+x^2-x+1,[[-2*x^3+4*x^2-x
-2],50]],[x^2+1,[[-x+1,8*x+5],32]],[x+1,[[-6,-39],320]],[x-1,[[2,-24,6
7],320]]]
- 参照
-
ChangeLog
Go to the first, previous, next, last section, table of contents.