number^matrix plz help me on this, I cant understand this, plz help me

number^matrix example a=[1 2;3 4] is a 2x2 matrix 3^a= [87.8864,127.1198;190.6797,278.5661] how come these numbers? [87.8864,127.1198;190.6797,278.5661]
plz help me on this algorithm of calculation these numbers...

 採用された回答

Teja Muppirala
Teja Muppirala 2011 年 7 月 21 日

2 投票

If the exponent was a scalar, say a=2, then :
a = 2;
3^2 = 9 = exp(2 * log(3))
If you define z = 2*log(3), then
3^2 = 9 = exp(z) = z^0 + z^1 + z^2/2 + z^3/6 + z^4/24 + z^5/120 + ...
The matrix exponential can be defined in the same way
a = [1 2; 3 4]
3^a = exp([1 2; 3 4] * log(3))
If you define z = a*log(3), then
3^a = z^0 + z^1 + z^2/2 + z^3/6 + z^4/24 + z^5/120 + ...
where a and z are now 2x2 matrices.
This infinite sum will converge to the answer. The actual method MATLAB uses is somewhat different (it doesn't use the Taylor series, it uses a Pade approximation) but the general result is the same.

2 件のコメント

Jan
Jan 2011 年 7 月 21 日
@Teja: Where did you find this information?
Teja Muppirala
Teja Muppirala 2011 年 7 月 22 日
I remember learning this in a control systems class back in graduate school. The matrix exponential comes up as part of the general solution to a state space system.
dx/dt = A*x + B*u
y = C*x + D*u
--> y(t) = (some long expression with e^(At) in it somewhere)

サインインしてコメントする。

その他の回答 (7 件)

Jan
Jan 2011 年 7 月 20 日

1 投票

The documentation explains it: "Z = x^Y is x to the Y power [...]. Computed using eigenvalues and eigenvectors."
Well. Hm. Everything clear now?
[EDITED] See this link: http://freemat.sourceforge.net/help/operators_matrixpower.html. But here some strange limitations are embedded: "(problems arise with non-symmetric matrices b, so let us assume that b is symmetric)" - without any further explanations.
John D'Errico
John D'Errico 2011 年 7 月 20 日

1 投票

Start with the (updated) classic reference.
They did a better job of explaining it all than I will do in a short space anyway.
aliya
aliya 2011 年 7 月 20 日

0 投票

no my dear, I know that. my purpose is 3^a....
aliya
aliya 2011 年 7 月 20 日

0 投票

but how? how Computed using eigenvalues and eigenvectors? what is this algorithm?

1 件のコメント

Jan
Jan 2011 年 7 月 20 日
+1 for this fair question. Matlab's documentation reminds me to a German commercial: "Contains the best of a 1/4 liter of milk" - when pure fat is meant.
20 minutes with Google did not increase my knowledge about a^B, but I've learnt something about "quantum healing".

サインインしてコメントする。

Honglei Chen
Honglei Chen 2011 年 7 月 21 日

0 投票

Hi ailya,
As Teja mentioned above, the key thing to understand is a^x can be expanded using Taylor series. The second piece that the matrix power can be carried out using eigen-decomposition. For example, assume that
A = EDE^(-1)
where E is the eigenvector and D is the diagonal matrix of eigenvalues, then the power of A can be written as
A^2 = EDE^(-1)*EDE^(-1) = ED^2E^(-1)
Similar derivation can show that
A^n = ED^nE^(-1)
So putting both pieces together, you get
3^A = e^(A*ln3) = 1+A*ln3+A^2*(ln3)^2+... = 1+ln3*EDE^(-1) + (ln3)^2*ED^2E^(-1)...
HTH,
Honglei
aliya
aliya 2011 年 7 月 21 日

0 投票

thanks to all of you. and sorry Honglei Chen, I couldn't accept two answer, but your answer was nice too. thanks teja Muppirala thanks to all of you again.
aliya
aliya 2011 年 7 月 21 日

0 投票

but I try this 3^a = exp([1 2; 3 4] * log(3)) and the answer was 3.0000 9.0000 27.0000 81.0000 and was not equal to 3^a answer! why?

1 件のコメント

Jan
Jan 2011 年 7 月 21 日
EXP works elementwise. What happens with EXPM? Just a guess - I cannot test this current because the Matlab computer is shut down already.

サインインしてコメントする。

カテゴリ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by