mab*_*mab 5 reduce inequality wolfram-mathematica complex-numbers
我需要找到复数的实部的条件为负数.我认为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)
Run Code Online (Sandbox Code Playgroud)
由于a和b被认为是真实的,因为它们出现在不等式中,因此不需要进一步假设a和b之间的关系,我期望的结果是:
Out[543]: a > 0 && b > 0
Run Code Online (Sandbox Code Playgroud)
是不是有充分理由不能获得?(在我看来)冗余结果会累积更复杂的表达式,我需要减少其中的一些.有没有获得预期结果的技巧?我一直在选择Reals作为域名并且根本不选择任何域名,但没有什么能真正给我我想要的东西.顺便说一下,我通过检查特征值来分析固定点的稳定性......这是一个非常常见的任务.
我不知道为什么 Mathematica 不会一步返回您期望的结果,但以下是如何分两步获得它:

一般来说,可以通用地处理不等式的两个函数是Reduce和LogicalExpand。(但是我在这方面的知识非常有限!)我相信(Full)Simplify只会使用后一种。
关于设置域的评论Reduce:
请注意,文档中说:“如果 dom 是实数,或者是整数或有理数等子集,则所有常量和函数值也被限制为实数。” Reals因此,如果您要像 @belisarius 的答案中那样指定域,Reduce则会返回这也是真实的所0 < b <= a必需的。Sqrt[a-b]