home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!psinntp!curly.appmag.com!verano!pa
- From: pa@verano.sba.ca.us (Pierre Asselin)
- Newsgroups: sci.math
- Subject: Re: Help - non-integral power of a matrix?
- Keywords: matrix
- Message-ID: <1127@verano.sba.ca.us>
- Date: 13 Aug 92 04:18:24 GMT
- References: <Aug.10.15.45.34.1992.26563@clam.rutgers.edu>
- Organization: None. Santa Barbara, CA
- Lines: 41
-
- In <Aug.10.15.45.34.1992.26563@clam.rutgers.edu>
- gonzalez@clam.rutgers.edu (Ralph Gonzalez) writes:
-
- >Hi. Does anyone know of an algorithm to find a non-integral
- >power of a matrix, e.g. A^.5 or A^1.3? Thus, A^2 is the same
- >as AxA and A^0 is the identity.
-
- At that level of generality, there is only one way:
-
- 1) diagonalize A:
- P^-1 * A * P = D, where P nonsingular, D diagonal.
- The diagonal entries of D are the eigenvalues of A,
- the columns of P are the eigenvectors. Get EISPACK
- or LAPACK.
-
- 2) massacre the diagonal entries of D:
- D'ii := Dii^r
-
- 3) un-diagonalize:
- A^r := P * D' * P^-1
-
- This works for other functions besides just raising to a power.
-
- >I imagine if such a thing is defined, then there are conditions
- >on A...
-
- You hope that the eigenvalues of A are real and positive.
- Otherwise, you have to pick a sensible branch cut.
-
- >The application is a matrix which represents a transformation
- >which is applied to a 3D homogeneous coordinate vector, to
- >represent change per unit time. Then, if I want to find out
- >where the coordinate moves to at time=t, I would multiply by
- >the matrix A^t. Thus, at time=0 there is no change and at time=2
- >the unit transformation matrix is applied twice...
-
- Sounds like you want exp(A*t), but that's up to you.
- --
-
- --Pierre Asselin, Santa Barbara, California
- pa@verano.sba.ca.us
-