2012-01-08 2 views
5

복소수의 실수 부분에 대한 조건을 음수로 찾아야합니다. 나는 Reduce가 이것에 완벽 할 것이라고 생각했지만, 중복 출력 (단순화 후에도)을 제공합니다. 예를 들어 :Mathematica : 복소수의 실수 부분에 대한 조건을 양수, 예기치 않은/중복 된 출력으로 찾기.

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

여기 티카 당신이 한 단계에서 예상되는 결과를 반환하지 않습니다 이유는 모르겠지만 두 단계에서 그것을 얻는 방법은 다음과 같습니다 일반적으로

Mathematica graphics

, 수있는 두 가지 기능 불평등을 다루는 일반적인 방법은 ReduceLogicalExpand입니다. (그러나 내 지식은이 분야에서 매우 제한적이다!) 나는 (Full)Simplify이 후자를 사용할 것이라고 믿는다.


Reduce에서 설정 도메인에 대한 코멘트 : "DOM은 레알, 또는 정수 나 유리수와 같은 일부의 경우, 모든 상수와 함수 값도 제한됩니다 : 설명서를 말한다

주 솔직 해져." 따라서 도메인을 Reals @ belisarius의 답변과 같이 지정하면 은 Sqrt[a-b]이 진짜이기 위해 필요한 0 < b <= a을 반환합니다.

2

Re[...] 표현식을 ComplexExpand으로 감싸면 예상 결과는 a > 0 && b > 0이됩니다.

+0

도메인이 명시 적으로 '컴플렉스'또는 'Reals'로 지정된 경우에만. 그렇지 않으면 'a> 0 && 0 Szabolcs

+0

(이 의견을 MathGroup 쿼리에 동일한 것에 대해 추가했습니다.) 올바른 결과를 얻으려면 확실히 도메인 사양이 필요합니다. 예 : a = 1/4 및 b = 1/2를 사용합니다. 나는 "도메인을 줄이는 것"으로 문서에서 무엇을 의미하는지 이해하지 못했습니다. docs에서 말한 것에서 이것은 변수가 해당 도메인에 있음을 의미하는 것이 아니라 해당 조건을 구성하는 표현식이 해당 도메인에 값을 가질 수 있음을 의미합니다. 그렇지 않으면 도메인은 해당 도메인에 대해 진짜라고 가정합니다. 표현. – murray

+1

한편 MathGroup에서 Mathematica 8의 'Reduce'에 버그가 있음이 확인되었습니다. 여기 링크를 참조 용으로 사용하겠습니다 : https://groups.google.com/d/topic/comp.soft-sys. math.mathematica/C3ooYLXxZE0/discuss – Szabolcs