Diagonalization of a MatrixDate: 12/10/98 at 13:24:59 From: Michael Subject: Diagonalization of a 3x3 real symmetric matrix Do you know a quick algorithm for diagonalizing a 3x3 real symmetric matrix, also obtaining the transformation matrix? Given A, a real symmetric 3x3 matrix. Find: P, a nonsingular 3x3 matrix D, a diagonal 3x3 matrix such that: A = P D P^(-1) Date: 12/10/98 at 16:58:01 From: Doctor Rob Subject: Re: Diagonalization of a 3x3 real symmetric matrix The diagonal entries of D are the eigenvalues of A. The columns of P are the eigenvectors of A. I proceed as follows: Find the characteristic polynomial of A: det(x*I-A) = f(x). Find the three roots of f(x) = 0. Those are the eigenvalues a1, a2, and a3. Find a vector v1 such that (A-a1*I)*v1' = 0. It is a vector in the right nullspace of A - a1*I. Do the same to find v2 in the right nullspace of A - a2*I, and v3 in the right nullspace of A - a3*I. Then v1, v2, and v3 are eigenvectors of A, and the columns of P are v1', v2', and v3', in that order. P^(-1) has to be computed from P in the usual way. This may not be quick or simple, but it is effective. Example: ( 3 4 -1) A = ( 4 3 1) (-1 1 1) f(x) = x^3 - 7*x^2 - 3*x + 21 = (x-7)*(x-sqrt[3])*(x+sqrt[3]) so the eigenvalues are 7, sqrt[3], and -sqrt[3]. (-4 4 -1) (A-7*I)*v1' = ( 4 -4 1)*v1' = 0 (-1 1 -6) v1 = (1, 1, 0) (3-sqrt[3] 4 -1 ) (A-sqrt[3]*I)*v2' = ( 3 3-sqrt[3] 1 )*v2' = 0 ( -1 1 1-sqrt[3]) v2 = (1-sqrt[3], sqrt[3]-1, 2) (3+sqrt[3] 4 -1 ) (A+sqrt[3]*I)*v3' = ( 3 3+sqrt[3] 1 )*v3' = 0 ( -1 1 1+sqrt[3]) v3 = (1+sqrt[3], -1-sqrt[3], 2) (1 1-sqrt[3] 1+sqrt[3]) P = (1 -1+sqrt[3] -1-sqrt[3]) (0 2 2 ) ( 1/2 1/2 0 ) P^(-1) = (-sqrt[3]/12 sqrt[3]/12 (3+sqrt[3])/12). ( sqrt[3]/12 -sqrt[3]/12 (3-sqrt[3])/12) - Doctor Rob, The Math Forum http://mathforum.org/dr.math/ |
Search the Dr. Math Library: |
[Privacy Policy] [Terms of Use]
Ask Dr. Math^{TM}
© 1994-2013 The Math Forum
http://mathforum.org/dr.math/