0

我想(正式地)计算一些积分,它们只是有理分数并且取决于 3 个参数。如果我将两个参数设置为微不足道的值,它会起作用,否则我必须在 5 分钟后停止计算。有谁可以帮我让它工作?

这是我的工作表:

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  
4

1 回答 1

0

你有Ib你可能想要的地方I*b

你有&Im你可能想要的地方Im

你在和上做了一个假设,l但没有做任何有用的假设。两者和都被视为纯粹真实的吗?我在下面使用了这样的假设。abab

下面,我使用assuming而不是assume,因为我发现它更方便,并且不会导致混淆表面上看起来相同的未假定名称和假定名称的不同实例的混合。

您用于分配的语法,omega并且Omega在用于 2D 数学输入时可以产生运算符(明显的意图),尽管是通过一个对话框弹出。但是这里我们有纯文本源,并且使用 1D Maple Notation 代码这样的语法可以记住表分配而不是运算符。下面我使用在 1D 和 2D 模式下都有效的语法来为这两个名称分配运算符。

在 Intel i5 上运行 Maple 17 的 64 位 Linux 上,以下每个结果都需要几秒钟到大约一分钟的时间。

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
于 2013-07-31T14:11:37.183 回答