Location : Home > Languages > Perl > Package Title : Math::SymbolicX::NoSimplification |
![]() |
Math::SymbolicX::NoSimplification - Math::Symbolic 簡略化の停止
use Math::SymbolicX::NoSimplification qw(:all); # ... code that uses Math::Symbolic ... # Won't use the builtin simplification routines. # ... do_simplify(); # ... code that uses Math::Symbolic ... # Will use the builtin simplification routines. # ... dont_simplify(); # ... you get the idea ...
本モジュールは、 Math::Symbolic に組み込まれている簡約化ルーティン(simplification routines)を停止し、オブジェクトのクローンで置き換えるものである。Math::Symbolic を用いていて、簡約化ルーティンがツリーの生成で失敗してCPUタイムを浪費してしまう場合に利用すればよい。(例えば、私のマシンでは標準的な複素関数の第1次テイラー多項式を計算させるとCPU負荷を100%占有してしまう。)
注意:簡約化ルーティンを停止してしまえば、プロシージャによっては巨大なツリーを生成してしまうことがある。多階の微分を連続的に計算しようとしたときに中間の簡略化なしに処理しようとする場合などである。これではノードが指数関数的に大きくなってしまう。(たいていの式は簡略化できないとの理由で簡略化の経験則をもち続けていれば、実際、そうするのだろう。)
USAGE
簡略化を停止するモジュールをロードする。再度簡略化を開始するには Math::SymbolicX::NoSimplification->do_simplify() を呼び出し、さらにまた停止するには Math::SymbolicX::NoSimplification->do_simplify() (訳注;←この箇所は、dont_simplify() でなきゃならないと思うのだが。)を呼び出す。モジュール名が極めて長いので do_simplify() 及び/または dont_simplify() をユーザの名前空間に標準的なエクスポータでインポートできる。
以下の説明を参照のこと。
EXPORT
デフォルトではないが、:all エクスポータグループを用いてルーティン do_simplify() かつ/または dont_simplify() をインポートすることができる。Exporter を参照のこと。
Copyright (C) 2005 Steffen Mueller
本ライブラリはフリーソフトウェアであり、Perl 本体と同等の条件で修正/再配布できる。
フィードバック・バグ報告・サポート要請は Math::Symbolic サポートメーリングリスト math-symbolic-support at lists dot sourceforge dot net にメールを送ってほしい。その際にはどのように Math::Symbolic を使っているか教えてほしい。
もしモジュールの機能開発や機能拡張に興味を持っているのなら、開発者メーリングリスト math-symbolic-develop at lists dot sourceforge dot net に連絡してほしい。
本モジュールの新しいバージョンは http://steffen-mueller.net または CPAN で見つけることができる。
Math::Symbolic
![]() |
Updated : 2006/07/10 |