擴大時,兩家運營商不上班讓我們先從一些作品:如何告訴楓在泰勒多項式
restart:
with(Physics):
Setup(noncommutativeprefix = {A, B}):
expand((A+B)^2);
給
A^2+A*B+B*A+B^2
楓認識到A和B不通勤。現在,讓我們展開泰勒級數的總和,並展開:
restart:
with(Physics):
Setup(noncommutativeprefix = {A, B}):
S := convert(taylor(exp((A+B)*delta), delta = 0, 3), polynom);
給
1 2 2
S := 1 + (A + B) delta + - (A + B) delta
2
然後
expand(S);
給
1 2 2 2 1 2 2
1 + delta A + delta B + - A delta + A B delta + - B delta
2 2
楓不再認識到A和B不通勤。很明顯(?)我不知道如何正確使用楓木。如何讓楓樹認識到A和B在這種情況下不通勤?這裏有這方面的討論:http://www.mapleprimes.com/questions/95808-Noncommutative-Operators,在楓樹幫助中,和其他地方,我敢肯定..
我應該補充,(顯然),下面的作品,但它變得醜陋。必須有一個更好的辦法:
restart;
unassign(`&*`); define(`&*`, multilinear, zero = 0, identity = 1, flat);
constants := constants, lambda;
No := 3;
S := convert(taylor(exp((A+B)*delta), delta = 0, No), polynom);
1 2 2
S := 1 + (A + B) delta + - (A + B) delta
2
S := subs((A+B)^2 = `&*`(A+B, A+B), (A+B)^3 = `&*`(`&*`(A+B, A+B), A+B), (A+B)^4 = `&*`(`&*`(`&*`(A+B, A+B), A+B), A+B), S);
S := 1 + (A + B) delta
1 2
+ - (A &* A + A &* B + B &* A + B &* B) delta
2
simplify(S);
1 2 1 2
1 + delta A + delta B + - delta (A &* A) + - delta (A &* B)
2 2
1 2 1 2
+ - delta (B &* A) + - delta (B &* B)
2 2
definemore(`&*`, `&*`(A, A) = A^2, `&*`(B, B) = B^2, `&*`(A, B) = AB, `&*`(B, A) = BA);
simplify(S);
1 2 2 1 2 2 1 2
1 + delta A + delta B + - A delta + - B delta + - AB delta
2 2 2
1 2
+ - BA delta
2
現在我使用的是楓木17
編輯:這是一個對上述問題的延續,現在埃德加多的反饋:
我想使用Gtaylor執行以下計算:
with(Physics);
Setup(noncommutativeprefix = {A, B});
exp3 := convert(Gtaylor(exp((a-I*b))*delta*B), delta = 0, No), polynom);
exp5 := convert(Gtaylor(exp((a-I*b))*delta*A), delta = 0, No), polynom);
expansion := coeff(simplify(subs(delta = lambda, exp1*exp2*exp1*exp3*exp5*exp3)), lambda, No-1);
並非所有代碼都包含在內。 exp5 & 3是所有其他exp的例子。 No設置爲5,並且b是分數。此代碼有效(尚未用獨立代碼確認,但讓我們假設它是這樣做的),但這需要很長時間。有什麼方法可以加速嗎?
接受此答案。我認爲如果編輯中的問題沒有得到回答,那就意味着沒有辦法。 – juggler