2010-06-02 2 views
3

매쓰 매 티카 (Mathematica)의 주요 값 적분 처리는 어떤 경우에 실패합니다. (동일한 결과를 제공한다)이 두 식을 고려 티카 7.0.0에서Mathematica의 PrincipalValue-> True와의 통합에서 버그가 발생했습니다.

Integrate[UnitBox[x]/(x0 - x), {x, -Infinity, Infinity}, 
    PrincipalValue -> True, Assumptions -> {x0 > 0}] /. x0 -> 1 // Simplify 
Integrate[UnitBox[x]/(x0 - x) /. x0 -> 1, {x, -Infinity, Infinity}, 
    PrincipalValue -> True] 

을 내가

I Pi+Log[3] 
Log[3] 

이 이후 버전에서 수정되었습니다거야? 누구나 (다소간) 일반적인 해결 방법에 대한 아이디어가 있습니까?

EDIT 다음 두 식은 상기와 동일한 결과, 적분의 일반적인 형태를 계산 1x0 세트로 적분을 수행하여 x0=1 번째 그것을 평가함으로써 제를 계산한다. Cauchy principal 값은 정확한 수학적 정의를 가지고 있기 때문에, Mathematica는 똑같은 결과를 주거나 답을 거부해야합니다.

EDIT 2 같은 버그의 아마도 단순한 예 -1 내부와 Integral 외부 요인 다른 응답을 줄 퍼팅 (두번째 정답을 제공을 우선 한하지 않음) :

-Integrate[ UnitBox[x]/(x0 - x), {x, -Infinity, Infinity}, PrincipalValue -> True, Assumptions -> {x0 > 0}] 
Integrate[-UnitBox[x]/(x0 - x), {x, -Infinity, Infinity}, PrincipalValue -> True, Assumptions -> {x0 > 0}] 
+0

있는 바와 같이,이 V8에 고정된다. – Janus

+0

Janus, mathematica.stackexchange.com에서 우리는 방금 stackoverflow/mathematica에서 마이그레이션 된 질문을 얻었습니다. 귀하는 답변자 중 한 명이었고 귀하가 아직 등록하지 않았 음을 알았습니다. SO/MMA 정규 직원 중 한 분이 mathematica.stackexchange.com에도 등록 해 주시면 감사하겠습니다. –

답변

2

나는 이것이 PrincipalValue의 버그라고 생각하지 않습니다. 첫 번째 줄에서 PrincipalValueIntegrate 이후에야 극점의 위치를 ​​알 수 없으므로 "올바르게"작동하지 않습니다.

편집 : 저는 Mathematica에서 약간 놀았습니다. 이것은 정확히 어떻게됩니까? Trace[] 명령을 사용하여 직접 볼 수 있습니다. 출력이 좀 지저분 해 (여기서는 복제하지 않기 때문에), 통합이 완료된 곳과 x0의 값이 대체 된 곳과 그 부분이 PrincipalValue 인 경우를 알 수 있습니다.

EDIT2 : 그래서 실제 문제를 해결하기 위해. x = 1/2 x0의 어느 쪽이 거짓인지를 지정하는 가정을 사용하면 두 예제가 동일한 답을 제공합니다. 내가 생각할 겁니다

+0

당신의 대답에서 PrincipalValue는 통합 알고리즘을위한 방법 지침의 일종으로 간주되는 반면, 나는 수학적으로 잘 정의 된 결과, 즉 통합의 Cauchy 주요 값을 요구한다고 생각하는 것처럼 보입니다. 이 결과는 엄격한 수학적 정의를 가지고 있기 때문에 두 가지 다른 (그러나 수학적으로는 같은) 방법으로 결과를 묻는 경우 Mathematica가 두 개의 다른 답변에 도달하면 버그 (내 관점에서)가됩니다. – Janus

+0

PrincipalValue를 그렇게 생각하는 것은 엄격히 말해서 Mathematica가 어떻게 작동 하는지를 말하고있는 것입니다. 문제는 수학적으로는 동일 할 수도 있지만 계산 상 동등하거나 가능하다는 의미는 아닙니다. 두 경우 모두 Trace의 결과를보고 x0-> I 일 경우 어떻게되는지 생각해보십시오. 대체하기 전에 적분의 주요 가치를 결정하는 것이 매우 어려워 지는지 확인하십시오. – Timo

+0

두 가지 방법이 수학적으로 동일하지 않다는 점을 지적하고자합니다. 여러분이 지적한대로, 첫 번째 적분은 x0을 자유 매개 변수로 평가됩니다. 이제는 저의 수학은 약간 녹슬었지만, 그것은 통합이 분명한 적분에서 벗어나서 순수 수학적 의미에서조차도 Cauchy 교장 값을 선택하는 것을 불가능하게 만듭니다. – Timo

0

잘 볼프람 알파, 첫 번째 표현을 좋아하지 않는다, 매스 매 티카의 최신 버전을 사용하고 두 번째이 있습니다 : 일정 로그 (3) +

http://www.wolframalpha.com/input/?i=Integrate[UnitBox[x]%2F%28x0+-+x%29+%2F.+x0+-%3E+1%2C+ {X의 % 2C를 + - 무한대 % 2C + 무한대} % 2C++++ PrincipalValue + - % 3E + True]

이 기사가이 경우에 적용되지만 저는 수학 전문가가 아니므로이 사실을 알 수 없습니까? 그러나 여러 가지 답변이 모두 형식적 수학 정의와 동일하게 일치하는 경우가 있습니다. 따라서, 예를 들어, 상징적 인 적분을 계산할 때, 종종 동일한 미분을 산출하는 몇 가지 다른 표현이 있습니다.

+0

고마워요. Wolfram Alpha는 Mathematica의'Replace'와'Rule' 구문을 이해하지 못하는 것 같아서, 어떤 질문에 답하는 것이 확실하지 않습니다. – Janus

2

Which of these expressions is actually generated by Integrate can then depend on how Integrate works inside. 8.0 고정 보인다 아래 brainfsck 지적한

In[1]:= $Version 
Out[1]= "8.0 for Mac OS X x86 (32-bit) (November 13, 2010)" 

In[2]:= 
Integrate[UnitBox[x]/(x0 - x), {x, -Infinity, Infinity}, 
    PrincipalValue -> True, Assumptions -> {x0 > 0}] /. 
    x0 -> 1 // Simplify 

Out[2]= Log[3] 

In[3]:= Integrate[ 
UnitBox[x]/(x0 - x) /. x0 -> 1, {x, -Infinity, Infinity}, 
PrincipalValue -> True] 

Out[3]= Log[3] 
관련 문제