2013-07-31 3 views
0

합리적인 분수이며 3 매개 변수에 의존하는 일부 정수를 공식적으로 계산하고 싶습니다. 그것은 두 개의 매개 변수를 사소한 값으로 설정하면 작동합니다. 그렇지 않으면 5 분 후에 계산을 중지해야합니다. 누구든지 나를 도와 줄 수 있습니까? 당신이 I*b을하려는 수있는 위치 당신은 Ib단풍 나무로 매개 변수와 통합

restart; 
omega(x,y):= 1/(1+x^(2)+y^(2))*<2*x,2*y,x^(2)+y^(2)-1>: 

Omega(x,y, a,b, l):= simplify(omega(evalc(Re((l*(x+I*y)+a+Ib)/(1-(a-I*b)*(x+I*y)))),evalc(`&Im;`((l*(x+I*y)+a+I*b)/(1-(a-I*b)*(x+I*y)))))): 
assume(0 < l); 
simplify(int(int(Omega(x, y, a, b, l)[1]*(diff(Omega(x, y, a, b, l)[1], x)), x = -infinity .. infinity), y = -infinity .. infinity)); 

Warning, computation interrupted 
simplify(int(int(Omega(x, y, 0, 1, l)[3]*(diff(Omega(x, y, 0, 1, l)[1], x)), x = -infinity .. infinity), y = -infinity .. infinity)); 
Warning, computation interrupted 
simplify(int(int(Omega(x, y, 0, 0, l)[3]*(diff(Omega(x, y, 0, 0, l)[1], x)), x = -infinity .. infinity), y = -infinity .. infinity)); 
          2 Pi 
         - ---- 
          l 

답변

0

:

여기 내 워크 시트입니다.

너는 &Im 이니, 너는 Im 일 것이다.

l에 가정을두고 있지만 ab에 대한 유용한 가정을 두지 마십시오. ab 모두 순수한 것으로 간주됩니까? 나는 아래에 그러한 가정을 사용했다.

이하는 assume이 아닌 assuming을 사용합니다. 더 편리하고 외면하지 않은 이름과 표면적으로 동일하게 보이는 가정용 이름의 뚜렷한 인스턴스가 혼재하는 경향이 없습니다.

omegaOmega을 할당하는 데 사용 된 구문은 diambuguation 팝업을 통해이기는하지만 2D 수학 입력에 사용될 때 연산자 (명백한 의도)를 생성 할 수 있습니다. 하지만 여기서 우리는 평문 소스를 가지고 있으며, 1D Maple Notation 코드와 같은 구문은 연산자 대신 테이블 할당을 기억합니다. 아래에서는이 두 이름에 연산자를 할당하기 위해 1D 및 2D 모드에서 유효한 구문을 사용합니다.

다음 결과는 인텔 i5에서 Maple 17을 실행하는 64 비트 Linux에서 각각 몇 초에서 약 1 분 정도 소요되었습니다.

restart; 

omega:=(x,y)->1/(1+x^(2)+y^(2))*<2*x,2*y,x^(2)+y^(2)-1>: 

Omega:=(x,y,a,b,l)->simplify(omega(evalc(Re((l*(x+I*y)+a+I*b)/ 
              (1-(a-I*b)*(x+I*y)))), 
            evalc(Im((l*(x+I*y)+a+I*b)/ 
              (1-(a-I*b)*(x+I*y)))))): 

T31:=simplify(Int(Int(Omega(x,y,a,b,l)[3] 
         *(diff(Omega(x,y,a,b,l)[1],x)), 
         x=-infinity..infinity),y=-infinity..infinity), 
       size) assuming real, l>0: 

simplify(value(subs(b=0,T31))) assuming real, l>0; 

            2 
           2 Pi (a + l) 
          - ------------- 
            2 2 
           a + l 

simplify(value(T31)) assuming real, l>0; 

       4 2 2 4 2 2 2  2  3 
      2 (a + a l - b + b l + a l - b l + l) Pi 
      - ------------------------------------------------- 
       4  2 2  2 2 4  2 2 4 
       a + 2 a b + 2 a l + b + 2 b l + l 

T11:=simplify(Int(Int(Omega(x,y,a,b,l)[1] 
         *(diff(Omega(x,y,a,b,l)[1],x)), 
         x=-infinity..infinity),y=-infinity..infinity), 
       size) assuming real, l>0: 

simplify(value(subs(b=0,T11))) assuming real, l>0; 

            0 

simplify(value(T11)) assuming real, l>0; 

            0 
+0

고맙습니다. 그러나 나는 여전히 합리적인 분수의 원시를 계산하는 것이 왜 그리 오래되는지 이해하지 못합니다. – Paul

+0

원본 코드를 1D 메이플 표기법 (작업자가 작업 한 상태 라 할지라도)으로 사용하면 생성 한 피고 산은 제 대답의 처음 두 단락에서 언급 한 실수로 인해 설명하지 않은 것입니다. 그리고 기본적으로 Maple은 알려지지 않은 'a'와'b'를 복잡한 것으로 취급 할 것이기 때문에 계산하기가 훨씬 어려워 질 것입니다. – acer