0

初めて Mathematica (5.0) を使い始めたばかりで、マニュアルは役に立ちましたが、自分のテクニックが(Full)Simplify. このプログラムを使用して、参照フレーム間で変更する派生変換に関する作業をチェックしています。これは、比較的大きな正方行列のトリオを乗算することで構成されていました。

同僚と私はそれぞれ手作業で作業を行い、間違いがないようにしました。私たちは、プログラムから 3 回目のチェックを受けることを望んでいました。行列のサイズのために手計算に時間がかかりましたが、同じ結論に達しました。私たちが同じ答えを持っていたという事実は、プログラムが異なる結果をもたらしたときに懐疑的でした.

  • 入力を確認し、再確認しました。
  • 私は間違いなく.正しい乗算のために行列を(ドット乗算)しています。
  • FullSimplify違いはありませんでした。
  • TrigReduce単純化する前に代数的に展開する / との組み合わせもありません。
  • 私は最終的なマトリックスからインデックスを取得し、それらを分離して単純化しようとしましたが、役に立たなかったので、問題はマトリックスの使用によるものではありません。
  • また、最初の 2 つの行列を乗算し、単純化し、それを 3 番目の行列で乗算しようとしました。ただし、これは以前と同じ結果をもたらしました。

頭のすべてのレベルに自動的に交差すると考えSimplifyたので、マッピングについて心配する必要はありませんでしたが、行列の出力としてゼロが予想される場合でも項があり、項が予想される場合には近い答えがあります。さらに、還元されない多くのサイン項とコサイン項があります。

Simplifyのみを使用するのとは対照的に、より好ましい結果を得るために、誰かが頻繁に何らかのテクニックを使用しSimplifyますか?

4

2 に答える 2

3

パラメータ範囲に仮定がある場合は、それらを Simplify にフィードする必要があります。以下の簡単な例は、これが役立つ理由を示しています。

In[218]:= Simplify[a*Sqrt[1 - x^2] - Sqrt[a^2 - a^2*x^2]]
Out[218]= a Sqrt[1 - x^2] - Sqrt[-a^2 (-1 + x^2)]

In[219]:= Simplify[a*Sqrt[1 - x^2] - Sqrt[a^2 - a^2*x^2], 
 Assumptions -> a > 0]
Out[219]= 0

これと他の応答が的外れであると仮定すると、何らかの方法でおそらく悪い動作を示す例を提供できれば、それは非常に役立ちます. 独自の機能を隠すために、必要に応じて偽装します。透かしを消したり、登録番号をファイルしたり、口ひげを生やしたりします。

Daniel Lichtblau Wolfram Research

于 2011-02-14T18:55:45.403 に答える
1

噛み砕くほどの詳細を提供しなかったので、いくつかのヒントしか提供できません。

  1. Mma5はかなり古いです。現在のバージョンは 8 です。8 を持っている人にアクセスできる場合は、それが違いを生むかどうかを確認するために試してみてください。また、WolframAlpha オンライン (http://www.wolframalpha.com/) を試すこともできます。これは、一部 (すべて?) の Mma 構文も理解します。

  2. 自分の結果とMMAの結果を数値で比較してみましたか?さまざまなパラメーター値の差の表を生成するか、プロットを使用します。差が無視できる場合 (Chop を使用して小さな残差を切り捨てる)、結果はおそらく同等です。

乾杯 -- Sjoerd

于 2011-02-14T18:00:21.973 に答える