Re: How to compute a MatrixPower using: A^n = P D^n Inverse[P]
- To: mathgroup at smc.vnet.net
- Subject: [mg34988] Re: [mg34976] How to compute a MatrixPower using: A^n = P D^n Inverse[P]
- From: Murray Eisenberg <murraye at attbi.com>
- Date: Tue, 18 Jun 2002 02:48:28 -0400 (EDT)
- Organization: Mathematics & Statistics, Univ. of Mass./Amherst
- References: <200206170726.DAA18874@smc.vnet.net>
- Reply-to: murray at math.umass.edu
- Sender: owner-wri-mathgroup at wolfram.com
You do it in Mathematica just like the theory says to do it! That means
that you construct P from the eigenvectors of A and the diagonal matrix
from the corresponding eigenvalues of A. The essential Mathematica
function is Eigensystem. Here's a "toy" example, using exact
arithmetic. (With floating point arithmetic, of course, your results
may or may not be as good as you would wish).
A = {{2/5, 3/10}, {-13/40, 6/5}};
esys = Eigensystem[A]
{{11/20, 21/20}, {{2, 1}, {6/13, 1}}}
evecs = Last[esys]; evals = First[esys];
P = Transpose[evecs] ; Pinv = Inverse[P];
diag = DiagonalMatrix[evals];
A == P . diag . Pinv (* theory says they're the same *)
True
a[n_] := P . DiagonalMatrix[evals^n] . Pinv
a[9] == MatrixPower[A, 9]
True
"J. Guillermo Sanchez" wrote:
>
> I have the matrix
>
> A == {{3,1,0},{1,2,-1},{0,-1,3}}
>
> For educational purpose I would like to evaluate
>
> A^n (* I mean MatrixPower[A,n]*)
>
> using the following matrix property
>
> A^n == P D^n Inverse[P] (*D mean Diagonal Matrix *)
>
> How can I do with Mathematica? (Methods to obtain P and D)
>
> Thanks
>
> Guillermo Sanchez
--
Murray Eisenberg murray at math.umass.edu
Mathematics & Statistics Dept.
Lederle Graduate Research Tower phone 413 549-1020 (H)
University of Massachusetts 413 545-2859 (W)
710 North Pleasant Street
Amherst, MA 01375
- References:
- How to compute a MatrixPower using: A^n = P D^n Inverse[P]
- From: "J. Guillermo Sanchez" <guillerm@usal.es>
- How to compute a MatrixPower using: A^n = P D^n Inverse[P]