home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #18 / NN_1992_18.iso / spool / sci / math / 10263 < prev    next >
Encoding:
Internet Message Format  |  1992-08-13  |  1.7 KB

  1. Path: sparky!uunet!psinntp!curly.appmag.com!verano!pa
  2. From: pa@verano.sba.ca.us (Pierre Asselin)
  3. Newsgroups: sci.math
  4. Subject: Re: Help - non-integral power of a matrix?
  5. Keywords: matrix
  6. Message-ID: <1127@verano.sba.ca.us>
  7. Date: 13 Aug 92 04:18:24 GMT
  8. References: <Aug.10.15.45.34.1992.26563@clam.rutgers.edu>
  9. Organization: None.  Santa Barbara, CA
  10. Lines: 41
  11.  
  12. In <Aug.10.15.45.34.1992.26563@clam.rutgers.edu>
  13. gonzalez@clam.rutgers.edu (Ralph Gonzalez) writes:
  14.  
  15. >Hi.  Does anyone know of an algorithm to find a non-integral
  16. >power of a matrix, e.g. A^.5 or A^1.3? Thus, A^2 is the same
  17. >as AxA and A^0 is the identity.
  18.  
  19. At that level of generality, there is only one way:
  20.  
  21. 1) diagonalize A:
  22.    P^-1 * A * P = D,   where P nonsingular, D diagonal.
  23.    The diagonal entries of D are the eigenvalues of A,
  24.    the columns of P are the eigenvectors.  Get EISPACK
  25.    or LAPACK.
  26.  
  27. 2) massacre the diagonal entries of D:
  28.    D'ii := Dii^r
  29.  
  30. 3) un-diagonalize:
  31.    A^r := P * D' * P^-1
  32.  
  33. This works for other functions besides just raising to a power.
  34.  
  35. >I imagine if such a thing is defined, then there are conditions
  36. >on A...
  37.  
  38. You hope that the eigenvalues of A are real and positive.
  39. Otherwise, you have to pick a sensible branch cut.
  40.  
  41. >The application is a matrix which represents a transformation
  42. >which is applied to a 3D homogeneous coordinate vector, to 
  43. >represent change per unit time. Then, if I want to find out
  44. >where the coordinate moves to at time=t, I would multiply by
  45. >the matrix A^t. Thus, at time=0 there is no change and at time=2
  46. >the unit transformation matrix is applied twice...
  47.  
  48. Sounds like you want exp(A*t), but that's up to you.
  49. -- 
  50.  
  51. --Pierre Asselin, Santa Barbara, California
  52.   pa@verano.sba.ca.us
  53.