[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference rusure::math

Title:Mathematics at DEC
Moderator:RUSURE::EDP
Created:Mon Feb 03 1986
Last Modified:Fri Jun 06 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:2083
Total number of notes:14613

1563.0. "Fast ways to evaluate function of matrix.." by STAR::ABBASI () Fri Feb 14 1992 11:52

                      100
    if asked to find A     , where A is nxn matrix, i.e evaluate a function 
    of a matrix.
    how would you do it?
    
    this is a nice method to do it i just learned,using Cayley-Hamilton theory.
    
    This is how to evaluate a function of matrix:
    example :
    exp(A) , where A is a matrix.
                                   i
    exp(A) is  SUM i=0..n-1 { a(i)A  }   ----- (1)
    
    where n is the order of the square matrix. and the "a" terms are
    found like this:
    
    find the eigenvalues of A, say W1,W2,...Wn
    then
                      
      Generate an equation like this for each eignevalue:
    
                                           i
         exp(W(j))= SUM i=0..n-1 { a(i) W(j)  } 
    
     where j goes over all the eigenvalues
     Solve the above n sets of equations for the "a"'s
     plug them in (1), and you got the value of the function.
    
     much faster than evaluating A^100  by mutiplying A 100 times :-)
    
    /nasser
    
    
T.RTitleUserPersonal
Name
DateLines
1563.1may or may not be practical depending...ALLVAX::JROTHI know he moves along the piersFri Feb 14 1992 23:2411
    If the eigensystem of the matrix is ill conditioned, then this
    approach will be troublesome in practice.  Other approaches that
    may be practical would be the usual binary powering approach,
    particulary if you have an integral matrix or are doing something
    with number theory or in finite fields...

    I'd recommend looking thru the chapter on functions of matrices in
    Golub and Van Loan _Matrix Computations_ - an excellent reference
    on this sort of thing.
    
    - Jim
1563.2on the different methods, when to use which..STAR::ABBASITue Feb 18 1992 04:0117
    
    more relating to this:
    
     Expansion by power series is certinaly faster method on a digital computer
    but the resulting matrix might not be in closed form. 
    
    example to evaluate exp(A):
    
    expand exp(A) as  1 + At + A^2/2! + ....  (is a convergent)
    
    is faster to find exp(A) this way than the cayley-hamilton method,
    but might not be closed form.. i dont know what is it, i just love
    closed form solutions, does not every one?..
    
    back to study more on this...
    
    /nasser
1563.3a belated replyCSSE::NEILSENWally Neilsen-SteinhardtFri Oct 16 1992 15:0413
In a well-conditioned system, most methods give eigenvalues and eigenvectors
as part of the same solution.

Transform the matrix to the basis set of the eigenvectors, in which it is a
diagonal matrix.  Apply the function to each eigenvalue along the diagonal.
Transform the resulting matrix back to the original basis set.

This works for all functions which can be expanded in a series.

If you work out the algebra, you will see a lot of products of the transform
matrix and its inverse, and these products must be equal to the unit matrix.
I forget the (common) condition which makes this true, but it was true for 
the matrices I worked on for my thesis.
1563.4Been wondering about the silenceVMSDEV::HALLYBFish have no concept of fire.Fri Oct 16 1992 15:331
    Nice to see you're still around, Wally