2014-05-05 20 views
0

我想做到以下幾點楓 讓區分並採取複雜的矢量值函數的極限與楓

omega := z -> 2*<Re(z), Im(z), 1>/(1+abs(z)^2): 

phi := -> z (l*z+a)/(1-l*conjugate(a)*z): 

其中a是複雜的,l是真實的。 我認爲歐米茄=歐米茄(PHI(Z)),我想,以評估差異(歐米茄,x)的差異(歐米茄,Y),而且還計算像

> expr := omega(phi(1/e)); 
> Omega := simplify(map(limit, expr, e = 0)); 
> expr2 := (omega(phi(1/(e^2*conjugate(z))))-Omega)/e^2; 
> H := limit(expr2, e = 0); 

不幸的是我已經嘗試每一件事情的一些限制( Vector Calculus,Complex ...),而且我總是有一個問題,要麼是因爲我使用矢量,要麼是因爲變量很複雜。

有人有任何想法的代碼這樣的問題的好方法嗎? Thx

+0

請將您的表達式以Maple形式發佈,而不是在LaTex中發佈。 –

+0

已完成,thx – Paul

+0

您忘記將您的任務中的'limit'命令映射到'H'。你需要這麼做,就像'Omega'一樣,因爲'expr2'就像'expr'一樣是一個Vector。 – acer

回答

1

[編輯:]我不能告訴你的原始定義是運算符phi,因爲原始文章中有語法錯誤(無效語法)。特別是我不能告訴你,是否意味着,

phi := z -> (l*z+a)/(1-l*conjugate(a)*z): 

,或者

phi := z -> z (l*z+a)/(1-l*conjugate(a)*z): 

我用前者下方。當然,結果將取決於選擇。

在你之前提出的一個問題中,使用evalc的答案,在這個答案下所有的未知數都將被視爲真實。

但現在你似乎有一個混合,其中l被視爲真實,而a可能是複雜的。

如您在先前的問題中所示,另一種方法是對未知數採用假設,在這種情況下可以更好地控制混合。

請注意,默認情況下,a將被視爲可能很複雜。所以我們可以在l上使用一個假設。

restart:          

omega := z -> 2*<Re(z), Im(z), 1>/(1+abs(z)^2): 

phi := z -> (l*z+a)/(1-l*conjugate(a)*z):  

expr := omega(phi(1/e)):      

map(limit,expr,e=0) assuming l::real: 

map(simplify,%); 
          [ 2 Re(a) ] 
          [- ----------] 
          [  2 ] 
          [ | a | + 1] 
          [   ] 
          [ 2 Im(a) ] 
          [- ----------] 
          [  2 ] 
          [ | a | + 1] 
          [   ] 
          [   2 ] 
          [ 2 | a | ] 
          [ ---------- ] 
          [  2  ] 
          [ | a | + 1 ] 

這是另一種獲得結果的方法。我們可以讓a=S+T*I和使用evalc完全處理ST(和l)純粹是真實的假設。

map(limit,subs(a=S+T*I,expr),e=0) assuming l::real: 

simplify(map(evalc,%));        

          [  2 S ] 
          [- -----------] 
          [ 2 2 ] 
          [ S + T + 1] 
          [    ] 
          [  2 T ] 
          [- -----------] 
          [ 2 2 ] 
          [ S + T + 1] 
          [    ] 
          [  2 2 ] 
          [ 2 (S + T) ] 
          [ ----------- ] 
          [ 2 2  ] 
          [ S + T + 1 ]