expand - 数式の展開
|
使い方
|
|
expand(expr, expr1, expr2, ..., exprn)
|
|
パラメータ
|
|
expr
|
-
|
任意の代数式
|
expr[1], expr[2], ..., expr[n]
|
-
|
(オプション) 数式
|
|
|
|
|
説明
|
|
•
|
expand コマンドは、単項式の和のいくつかの積に分配則を適用することが第一の使い方です。これは、すべての多項式に対して実行されます。多項式の商については、分子の和だけが展開されます。積およびべきについては、そのままです。多項式の商の扱いについては、normal コマンドを参照してください。
|
•
|
オプション引数 expr1、expr2、...、exprn は、expr に含まれる特定の部分式を展開しないために使用します。すべての数式を展開しないようにするには、frontend コマンドを、frontend(expand, [expr]); のように使用します。
|
•
|
expand コマンドは拡張可能です。プロシージャ `expand/f` を定義すると、コール expand(f(x)); によって `expand/f`(x); が呼び出されます。
|
|
|
例
|
|
| (1) |
| (2) |
| (3) |
| (4) |
| (5) |
| (6) |
| (7) |
式は完全には展開されません。
>
|
expand((x+1)*(y+z), x+1);
|
| (8) |
expand コマンドは、可能であれば 1 つの式に展開します。
| (9) |
| (10) |
expand コマンドは、さらに高度な関数にも使用できます。
| (11) |
>
|
expand(LegendreQ(2,t));
|
| (12) |
>
|
expand(JacobiP(3,1,1/4,t));
|
| (13) |
部分式の展開を選択的に回避するには、多くの場合、indets を使用して特定の種類の部分式を取得し、その出力の operands を追加引数として expand に渡す方法が便利です。
>
|
ee := (a+b)*z + sin(a+b) + exp(a+b);
|
| (14) |
デフォルトでは、積と関数が展開されます。
| (15) |
sin(a+b) の展開を回避します。
| (16) |
指数関数の展開を回避します。
>
|
expand(ee, op(indets(ee, specfunc(anything,exp))));
|
| (17) |
指数関数および正弦関数の展開を回避します。
>
|
expand(ee, op(indets(ee, specfunc(anything,[exp,sin]))));
|
| (18) |
すべての関数の展開を回避します。
>
|
expand(ee, op(indets(ee, function)));
|
| (19) |
|
|
Download Help Document
Was this information helpful?