| [ KAIST ] in KIDS 글 쓴 이(By): guest (rhew) <yong-a-128.resne> 날 짜 (Date): 2000년 8월 6일 일요일 오후 12시 44분 23초 제 목(Title): Re: [Q] matrix square root 구하는 법 Generalized SVD If a matrix D is diagonal, the following is true: (the proof is not shown here) F(D)_ij = f(D_ij) if i=j = 0 if i~=j --(1) where F of the LHS is a function of a matrix whereas f of the RHS is a function of a number in the same functional form as F in LHS. (One can check this property using Matlab functions, expm() and exp(), or logm() and log().) For a nondiagonal matrix X, one can calculate any function F of X in the following way if f(D_ii) is well-defined for all i: 1. Diagonalize X using its orthonoraml set of eigenvectors, then X=V*D*V+. --(2) V: eigen vector matrix V+: transpose (hermitian) of V D: diagonal matrix whose diagonal elements are the eigenvalues of X Note that V*V+ = V+*V = I. --(3) 2. Using eq.(2) and eq.(3) in the Taylor expansion definition of a matrix function F, one can see that F(X) = V*F(D)*V+. --(4) where one obtain F(D) from eq.(1) Thus, F(X)=SQRT(X)=V*SQRT(D)*V+ where SQRT(D)_ij = sqrt(D_ij) if i=j = 0 otherwise. One can try COS(X), TAN(X), and so on. |