5

複素数の実数部が負になる条件を見つける必要があります。これにはReduceが最適だと思いましたが、(単純化した後でも)冗長な出力が得られます。例えば:

In[543]: Reduce[{Re[-1 - Sqrt[a - b] ] < 0, a > 0, b > 0}, {a, b}, Complexes]
Out[543]: a > 0 && (0 < b < a || b >= a)  

aとbは不等式で表示されるため、実数であると見なされるため、aとbの関係についてこれ以上仮定する必要はありません。私が期待する結果は、次のとおりです。

Out[543]: a > 0 && b > 0  

それが得られない正当な理由はありますか?(私の目には)冗長な結果はより複雑な式のために蓄積され、私はそれらのかなりの数を減らす必要があります。期待される結果を得るためのトリックはありますか?ドメインとしてRealsを選択し、ドメインをまったく選択しないことを試してみましたが、本当に欲しいものは何もありません。ちなみに、私は固有値をチェックすることによって固定小数点の安定性を分析しています...非常に一般的なタスクです。

4

2 に答える 2

4

Mathematica が期待する結果を 1 ステップで返さない理由はわかりませんが、2 ステップで結果を取得する方法を次に示します。

Mathematica グラフィックス

一般に、一般的な方法で不等式を処理できる 2 つの関数はReduceLogicalExpandです。(しかし、この分野での私の知識は非常に限られています!) 私(Full)Simplifyは後者のみを使用すると信じています。


でのドメインの設定に関するコメントReduce:

ドキュメントに次のように記載されていることに注意してください。したがってReals、@belisarius の回答のようにドメインを指定した場合、実在するために必要な値もReduce返されます。0 < b <= aSqrt[a-b]

于 2012-01-08T19:05:21.737 に答える
2

Re[...]で式をラップするComplexExpandと、期待される結果が得られますa > 0 && b > 0

于 2012-01-08T22:35:32.697 に答える