collect - 同類項をまとめる
使い方
collect(a, x)
collect(a, x, form, func)
collect(a, x, func)
パラメータ
a - 式
x - 不定元か不定元の集合またはリスト、あるいは未評価の関数
form - (オプション)名前
func - (オプション)手続き
|
説明
|
|
•
|
collect 関数は a を x の一般の多項式であると見なし、x の同じ有理数ベキの係数をまとめます。これには正ベキ、負ベキ、分数ベキが含まれます。結果として得られる式は x のベキにより並べられているとは限らないことに注意して下さい。多項式を並べ換えるには sort 関数を参照して下さい。
|
•
|
collect を用いる主な目的は4つあります。まず、式のすべての項をある不定元の同類項でまとめて「簡単」にすることです。第2に、coeff 関数を適用する前にある変数について展開することです。第 3 に、多変数多項式を異なる形で書くことです。第 4 に、関数を多項式の係数に適用することです。これらの使い方のそれぞれを以下の例で示します。
|
•
|
第 2 引数 x は1つの不定元 (1 変数の場合) でも不定元 x1, x2, ..., xn のリストまたは集合 (多変数の場合) のいずれでも構いません。集合は分散形式が指定されている場合にだけ使うことができます (以下を参照)。不定元として名前または未評価の関数呼び出しが許されますが、和や積や分数ベキは許されません。分数ベキ、たとえば x^(1/2) をまとめるには、単に x についてまとめるだけでよいのです。
|
•
|
結果に対して 2 つの形式を用いることができます。形式はオプション引数 form により指定します。これは名前 recursive (デフォルト)か distributed のいずれかです。
|
•
|
recursive 形式はまず x1 について係数をまとめて、次に x1 のそれぞれの係数について x2 の係数をまとめるという風に続けていきます。不定元が集合として指定されていると、それらの順序は Maple により制御され、結果はセッションによって違ってきます。distributed (分散形式) は x1^e1 * x2^e2 * ... * xn^en の係数をまとめることにより得られます。
|
•
|
関数はオプション引数 func を用いて指定することができます。これはまとめられた結果の係数に適用することができます。しばしば simplify や factor が用いられます。
|
•
|
次の短縮形がサポートされています。式のすべての導関数をまとめたいことや、式にあるすべての正弦や余弦をまとめたいことがあります。func が名前であるとき、collect(expr,func) は expr を func の関数についてまとめます。
|
|
|
例
|
|
項をまとめ直すことにより式を簡単にします。
>
|
f := a*ln(x)-ln(x)*x-x;
|
| (2.1) |
| (2.2) |
>
|
g := int(x^2*(exp(x)+exp(-x)),x);
|
| (2.3) |
| (2.4) |
coeff を使う前に 1 変数多項式を展開します。
| (2.5) |
| (2.6) |
| (2.7) |
| (2.8) |
多変数関数を違う形で書き表します。
>
|
p := x*y+a*x*y+y*x^2-a*y*x^2+x+a*x:
collect( p, [x,y], recursive );
|
| (2.9) |
>
|
collect( p, [y,x], recursive );
|
| (2.10) |
>
|
# Note this returns a result that is order-dependent
collect( p, {x,y}, recursive );
|
| (2.11) |
>
|
# But this does not
collect( p, {x,y}, distributed );
|
| (2.12) |
>
|
collect( p, [x,y], distributed );
|
| (2.13) |
関数を係数に適用します。
| (2.14) |
| (2.15) |
>
|
collect(f,x,factor); # factor the coefficients of f in x
|
| (2.16) |
collect は正または負の有理数ベキを理解することができます。
>
|
p := y/x+2*z/x+x^(1/3)-y*x^(1/3);
|
| (2.17) |
| (2.18) |
collect は一般の不定元(たとえば、diff, D, sin)について式を簡単にすることができます。
>
|
DE := diff(y(x),x,x)*sin(x)-diff(y(x),x)*sin(y(x))+sin(x)*diff(y(x),x)+
sin(y(x))*diff(y(x),x,x);
|
| (2.19) |
| (2.20) |
| (2.21) |
collect は一般に項を並べ換えません。
>
|
collect( x^3*y+x^2*y^3+x+3, y );
|
| (2.22) |
| (2.23) |
|
|