Go to the first, previous, next, last section, table of contents.
- taji_alc.cpfd(num,den)
-
:: 有理関数num/denの部分分数分解を求める.
- return
-
switchが0か1ならば, [[[分子,[分母の因子,重複度]],...],...] なるリスト.
switchが10か11ならば, [[分子,[分母の因子,重複度]],...] なるリスト.
- num
-
(有理関数の分子の) 多項式
- den
-
(有理関数の分母の) 多項式
または (有理関数の分母をQ上で既約分解した) [[因子,重複度],...] なるリスト
- switch
-
オプション指定
case 0 : completeな部分分数分解を返す. (分子は有理数係数多項式)
case 1 : completeな部分分数分解を返す. (分子は整数係数化リスト)
case 10 : 分母を冪展開しない部分分数分解を返す. (分子は有理数係数多項式)
case 11 : 分母を冪展開しない部分分数分解を返す. (分子は整数係数化リスト)
default : case 0
- taji_alc.cpfd()は, properな有理関数を対象とする.
入力値がproperでない場合でも正常に動作するが, 多項式として出てくる部分は表示しない.
- 部分分数分解は, 冪展開をするcompleteなタイプと, 冪展開をしないタイプの2つのタイプがある.
taji_alc.cpfd()で採用しているアルゴリズムでは, 前者が先に求まる.
後者は, 前者のデータをホーナー法で足し上げて求める.
- denは, リストでの入力が望ましい.
(多項式で入力すると, 簡約化の処理が生じるため重くなる.)
ただしその場合には, 既約チェック, 有理式の約分, 整数係数化は行わないので注意する.
入力値はユーザ側が責任をもつ.
[235] taji_alc.cpfd(x^3-x-1,x^4+2*x^3+2*x^2+2*x+1);
[[[1/2*x-1,[x^2+1,1]]],[[-1/2,[x+1,2]],[1/2,[x+1,1]]]]
[236] taji_alc.cpfd(x^3-x-1,x^4+2*x^3+2*x^2+2*x+1|switch=1);
[[[[x-2,2],[x^2+1,1]]],[[[-1,2],[x+1,2]],[[1,2],[x+1,1]]]]
[237] taji_alc.cpfd(x^3-x-1,x^4+2*x^3+2*x^2+2*x+1|switch=10);
[[1/2*x-1,[x^2+1,1]],[1/2*x,[x+1,2]]]
[238] taji_alc.cpfd(x^3-x-1,x^4+2*x^3+2*x^2+2*x+1|switch=11);
[[[x-2,2],[x^2+1,1]],[[x,2],[x+1,2]]]
- 参照
-
ChangeLog
Go to the first, previous, next, last section, table of contents.