Next: Package functs, Previous: Package absimp, Up: simplification [Contents][Index]
facexp
パッケージは、
制御された展開によって式を構造化する能力をユーザーに与えるいくつかの関連関数を含みます。
式が物理的意味を持つ変数を含むとき、この能力は特に役に立ちます。
そんな式の最も簡潔な形式は、それらの変数に関して式を完全に展開し、
その後係数を因数分解することで得られることがしばしばあるからです。
この手続きは標準のMaxima関数を使って実行することは難しくありませんが、
追加の微調整も望まれていて、これらの仕上げは適用するのが更に難しくなることがあります。
関数facsum
とその関連形式は、
この方法で式の構造を制御するための便利な手段を提供します。
別の関数collectterms
は、
この形式に既に整理された複数の式を
式全体を再整理することなく、足し合わせるのに使うことができます。
式が非常に大きいとき、この関数は役に立つかもしれません。
load ("facexp")
はこのパッケージをロードします。
demo (facexp)
はこのパッケージのデモを見せます。
引数arg_1, ..., arg_nに依存する
exprの形式を返します。
引数はratvars
に適した任意の形式か、そんな形式のリストを取り得ます。
もし引数がリストでなければ、
返される形式は、引数に関して完全に展開され、引数の係数は因数分解されます。
これらの係数は、非合理的な意味合いを除いて引数に依存しません。
引数のいずれかがリストなら、リストすべては1つのリストに結合されて、
引数の係数に対してfactor
をコールする代わりに
facsum
は、
これらの係数に対して自分自身をコールします。
この再帰コールに関しては、上記で新しく構成されたリストが新しい引数リストとして使われます。
この処理は、リストの中に望まれた要素を入れ子にすることで、任意の深さまで繰り返すことができます。
It is possible that one may wish to facsum
with respect to more
complicated subexpressions, such as
log (x + y)
のような、より複雑な部分式に関して
facsum
したいかも知れません。
そんな引数も許されています。
時々、ユーザーは
式に関して、先頭演算子によってのみ指定された上記形式いずれかが欲しいかもしれません。
例えば、
すべてのlog
に関してfacsum
したかもしれません。
この場合、
この方法で扱われる特定のlog
か、
代わりに式operator (log)
や'operator (log)
を引数に含むことができます。
もし
演算子op_1, ..., op_nに関して
式exprをfacsum
したいなら、
facsum (expr, operator (op_1, ..., op_n))
を評価します。
operator
形式はリスト引数の中でも可能です。
更に、
スイッチfacsum_combine
とnextlayerfactor
の設定は
facsum
の結果に影響するかもしれません。
デフォルト値: false
nextlayerfactor
がtrue
の時、
facsum
の再帰コールが
引数の係数の因数分解された形式の因子に適用されます。
false
の時、
facsum
は、
facsum
への再帰コールが起こる時はいつでも、全体としてそれぞれの係数に適用されます。
facsum
の引数リストに
アトムnextlayerfactor
を入れると、
nextlayerfactor: true
の効果がありますが、
式の次のレベルだけに関してです。
nextlayerfactor
はいつも
true
かfalse
にバインドされているので、
facsum
の引数リストの中に現れる時はいつでも、
シングルクォートで表さなければいけません。
デフォルト値: true
引数が多項式の商の時、
facsum_combine
は
facsum
が返す最終結果の形式を制御します。
もしfacsum_combine
がfalse
なら、
形式は既に記述したような完全に展開された和として返されますが、
もしtrue
なら、
返される式は、既に記述した形式の多項式の比です。
有理式の分子と分母両方をfacsum
したいが、
分母が分子の項ずつに掛けられたくない時、
このスイッチのtrue
設定は役に立ちます。
exprの因子に関して引数として
arg_1, ... arg_nを付けてfacsum
をコールすることで得られる
exprの形式を返します。
もしexprの因子のいずれかがべきに累乗されるなら、
因子と指数と両方がこの方法で処理されます。
もしいくつかの式がfacsum
もしくはfactorfacsum
, factenexpand
, facexpten
,
factorfacexpten
で整理されていて、それらが一緒に加算されているなら、
関数collectterms
を使ってそれらを結合することが望まれる場合があります。
collectterms
は、nextlayerfactor
を除いてこれらの他の関連した関数に渡すことができる引数すべてを
引数として取ることができます。
collectterms
の利点は、facsum
と似た形式を返すことです。
しかし、既にfacsum
で処理された加算形式なのでこの処理を繰り返す必要はありません。
この能力は加算する式が非常に大きい時特に役立ちます。
Next: Package functs, Previous: Package absimp, Up: simplification [Contents][Index]