月曜日, 6月 13, 2011
Mathematicaの3.0が発表されたとき、既に世界の積分公式集の教科書のかなりの部分にミスプリないしは誤りが見つかった、というアナウンスを読んだ記憶がある。梶原先生が2.0で解説された時代に2.1を買ったがバグが行列公式にもあったりして、すぐ2.2にアップグレード、そのバグはさすがに直っていたが、一度そういう経験をしてしまうと、全面的に信用すると、火傷を負う事になると信じ込んだ。それで、純粋に途中経過も表示するTheoristも買ったが、その頃にはMathematicaは3.0へと進化した。
この頃、Apple社は、PowerPC戦略を展開、それまでのMC68030、68040から決別を果たしていたので、この時期のMathematicaは、同じ版にPowerPC版、旧モトローラ版、それもコプロ有り、無し対応と3種類のバージョンがあり、さらにruntime版とかわけのわからないものまであった。
当時はPowerPC機はまだ高く、モトローラ版を使用したりしていた。今回、Mathematica8.0への限定版がその当時のバージョンアップ代程度で提供されるという機会が得られたので、さっそく購入、ある程度新システムの扱いにも慣れたところで、3.0当時の分厚いマニュアルを開いて
数式処理結果などを比較しだした。
3.0と全然変わっていないと思っていたが、出力結果に微妙というかほぼ同じだが、一部に符号がちがう結果が出ていることに気がついた。アレ!?と思った。
Integrate[Log[1-x^2],x]という対数の積分結果である。
結果の二項目が-1/(1-x)となって3.0だと-1/(-1+x)となる。試しに両方の結果を微分操作すると、結果はどちらも同じとなる。どうも釈然としない。
で、LiveMath Makerで検算をしたりして、どちらも同じとなることを
確認したが、??感はそう変わらない。3.0当時とアルゴリズムが変わった結果なのかもしれない、などと思った。しかも、ここ1〜2年の間にブラウザ上で、最新のMathematicaを、当然ながら無料で試すことができるWolfram Alphaが提供されるようになって、こちらを試すとさらに別解も表示されたり、他の関連トピックスなどへの探索的移行も容易いようになっていて、8.0にバージョンアップしてから、その親切な機能にようやく気がついてきた。大半の場合、私などの環境下では、高価な本体は要らないぐらい、と感じてしまう程である。
Integrate[Sqrt[x]/(a x^2+b),x]の積分結果も3.0と8.0とでは形が違う。始めは、こっちの例が先だったので、だいぶ驚いた。しかし、検算の結果、ほぼ違わない値となった。
これは同じ精度で計算させても、xを0.2から3.0までの区間の積分でほんの少し違うので、
途中の経過が違うためではないかと考えている。
古典的な出力では543.792、新形式では543.791となっている。
この積分は、手計算ではどこかで間違ったらアウトなので、Theoristで筆算プロセスで進んでいって、ようやくMathematicaでの出力と一致した。
分子のSqrt[x]を置き換えてルートを取ってしまい、置換積分や部分分数展開などを経てようやくたどり着いた。それで、a^0.25などという文字が出てくるのだと思う。
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿