P.S. Assuming[{q \[Element] Reals, w \[Element] Reals}, Abs[q + I*w]]
も機能しません。 注:Simplify[Abs[w]^2, Element[{q, w}, Reals]]
およびSimplify[Abs[I*q]^2, Element[{q, w}, Reals]]
の作業。
答えて
問題は、あなたが「シンプル」であると仮定し、MMAがシンプルであると想定していることは、2つの異なることです。 ComplexityFunctionを見ると、MMAは主に「LeafCount」を参照していることを示しています。 LeafCountを適用することはできます:
In[3]:= Abs[q + I w] // LeafCount
Out[3]= 8
In[4]:= Sqrt[q^2 + w^2] // LeafCount
Out[4]= 11
だから、MMAを改善することをAbs
フォームを検討します。 (TreeFormまたはFullFormを使用して視覚的にシンプルさを探ることができます)。私たちがする必要があるのは、MMAにMMAをより高価なものとして扱うように伝えることです。これを行うために、我々はComplexityFunctionと書き込みから例を取る:要求されたよう
In[7]:= f[e_] := 100 Count[e, _Abs, {0, Infinity}] + LeafCount[e]
FullSimplify[Abs[q + I w], Element[{q, w}, Reals],
ComplexityFunction -> f]
Out[8]= Sqrt[q^2 + w^2]
。基本的には、f[e]
を介してMMAにフォームAbs
のすべての部分の数を100枚とカウントするように指示しています。
EDIT:ブレットで述べたように、あなたもそれをより一般的にする、と探しに原則として_Complex
を使用することができます。
In[20]:= f[e_] := 100 Count[e, _Complex, {0, Infinity}] + LeafCount[e]
FullSimplify[Abs[q + I w], Element[{q, w}, Reals],
ComplexityFunction -> f]
Out[21]= Sqrt[q^2 + w^2]
を返します。また、すべての複素数に対してより一般的で有益です。 – tkott
私はすべての変数をシステムに通知ComplexExpand
を、使用することをお勧め本当です。
In[28]:= Abs[q + I*w] // ComplexExpand
Out[28]= Sqrt[q^2 + w^2]
これらのコメントは役に立ちません。 Abs[5+i20]
は変更されていないので、Mathematicaは複素数の評価に失敗している。 i
は正しくコーディングされています。 「何が単純かどうか」についての抽象的な観察を行うことは、無関係で間違っている。結果として浮動小数点数があり、代数はありません。 N
およびImportForm
も機能しません。
小文字の「i」は未定義シンボルです。 「私」を入れて「N」を使うと、あなたはあなたが望むものを得るでしょう。この質問とは無関係です。 – agentp
- 1. Gitは<<<<<<< HEADをファイルに追加し続けます
- 2. Heredoc <<<または<<?
- 3. $( '#table> tr')セレクタが一致しないのはなぜですか? jQueryを使って</p> <pre><code><table id='table'> <tr> <td>..</td> </tr> </table> </code></pre> <p>JSコード:
- 4. Tortoise svn <<<<をファイルに追加しています!
- 5. 「<%:」は何をしますか?</p> <pre><code><%: Model.FirstName %> </code></pre> <p>「<%:」何をん:行う
- 6. 正規表現:</p>ある <pre><code>\w but without _ </code></pre> <p>は、私が求めている</p> <p>「すべての文字がwは\に含ま_除いて、」:アンダースコア
- 7. 変数が</p> <pre><code>var isUpdated:Bool = false </code></pre> <p>がtrueの場合、私はすぐに</p> <pre><code>func performSegue() { self.performSegueWithIdentifier("toTabSegue", sender: self) } </code></pre> <p>を実行したい
- 8. 私は<code>Emulator Android BlueStack</code></p> <p><code>IISExpress ASP.NET</code>で<code>ASP.NET IISExpress</code>を使用したい
- 9. のWinforms:</p> <ol> <li><code>Enviroment.Exit(0)</code></li> <li><code>Application.Exit()</code></li> <li><code>Form.Close()</code></li> </ol> <p>何:Form.Close
- 10. Ubuntuのリダイレクタ "<<<"?
- 11. PHP <<< OUTとOUT;
- 12. </p> <pre><code>.tooltip-inner{} </code></pre> <p>を使用してtootltipsブートストラップツールチップ
- 13. PHP式<<< EOB
- 14. 私は2つの機能</p> <pre><code>void foo() { std::cout << 1 << std::endl; } void bar() { std::cout << 2 << std::endl; } </code></pre> <p>をお持ちの場合は2個の関数のC++
- 15. 私はここにスクリプトがしばらく前に、これは</p> <pre><code>i = 1 while i <= 10: with open("{}.txt".format(i), "w") as f: f.write("content") i += 1 </code></pre> <p>で見たファイル
- 16. 分割は私がカンマでスプリットを使用しました。..この配列に</p> <pre><code>["a", "b", "c"] </code></pre> <p>をこの文字列</p> <pre><code>"a,bc,c" </code></pre> <p>をオンにしようとしています
- 17. Perlの文字列の乗算がundefで警告しないのはなぜですか?</p> <pre><code>$foo . '' </code></pre> <p>と</p> <pre><code>"$foo" </code></pre> <p>
- 18. </p> <pre><code>function f() { ... } </code></pre> <p>を考慮しないパラメータ
- 19. connection.Close()とconnection.Dispose()の違いは何ですか? <code>SQLiteDataReader</code>オブジェクトの</p> <ul> <li><code>Close()</code></li> <li><code>Dispose()</code></li> </ul> <p>同じ:
- 20. </p> <pre><code>Backbone.View.extend </code></pre> <p>を使用したカスタムバックボーンビュー
- 21. マウスは、マウスが<code>.wrap</code>、<code>.cube</code>と<code>.front</code>のために働いてではなく、<code>.left</code>、<code>.right</code>、<code>.top</code>、<code>.bottom</code>と<code>.back</code>のためにされ
- 22. なぜ[:] = 1は[:] = '1'と根本的に異なるのですか? <code>a</code>が<code>['1']</code>ある最初のケースで</p> <pre><code>a = [] a[:] = '1' </code></pre><p>と</p> <pre><code>a = [] a[:] = 1 </code></pre><p>:
- 23. THREE.Camera.prototype.lookAt</ <() -</ <はどういう意味ですか?
- 24. コンパイラエラー `<<"
- 25. LINQ ToListがここで使用されないのはなぜですか? <code>source</code>が<code>IEnumerable<T></code>ある</p> <pre><code>using(var iterator = source.GetEnumerator()) {...} </code></pre> <p>:
- 26. エルム -</p> <pre><code>a : Float </code></pre> <p>方法1が式を正しく</p> <pre><code>Mouse.x - a </code></pre> <p>を書くと考えるシグナルと数字
- 27. std :: cout << xの間のdiffrenceは何ですか;とstd :: cout << x << std :: endl ;?
- 28. grepは、フォルダを除外して、私は</p> <pre><code>/var/ </code></pre> <p>にいるならば、私は<code>/var/www</code></p> <p>を検索したいLinuxの
- 29. fstreamのは、<<
- 30. モバイルアプリケーションに最適なリモーティング技術は何ですか?私は最善を探しています</p> <ul> <li>J2ME</li> <li>のWindows Mobile</li> <li>iPhone</li> </ul> <p>:
私はMathematicaのマシンにいませんので、何もテストできませんが、私はあなたに質問があります。どのような意味でSqrt [q^2 + w^2]はAbs [q + Iw]より簡単ですか? FullSimplifyがこの「簡素化」を実現すると期待しているのは分かりやすいでしょうか?また、もう少し考えてみると、あなたの質問のタイトルはあなたの質問とは逆です。 –
'Sqrt'では' Series'コマンドを実行できますが、 'Abs'では実行できません。 – shadesofdarkred
'ComplexExpand'を試すことができます。たとえば、 'ComplexExpand [Abs [q + I w]]'は 'Sqrt [q^2 + w^2]' – Heike