Finding the Eigenvalues of a Symmetric Matrix
Author's Data: Housam BINOUS
Department of Chemical Engineering
National Institute of Applied Sciences and Technology
Tunis, TUNISIA
Email: binoushousam@yahoo.com

Reference :

Kenneth J. Beers, Numerical Methods for Chemical Engineering, Applications in Matlab, Cambridge University Press, 2007.

Finding the eigenvalues using the Mathematica built-in function Eigenvalues.

A = {{1, -1, 2}, {-1, 5, 3}, {2, 3, 5}}

A // MatrixForm

Eigenvalues[A] // N

Eigenvectors[A] // N

Finding the largest eigenvalue (λ=8.07888). The corresponding eigenvector is u=(0.110785,0.674885,0.729559).

v[0] = {1. , 1, 1};

For[i = 1, 
      i < 100, {v[i] = A . v[i - 1]/Norm[A . v[i - 1]], 
        l[i] = v[i] . A . v[i], 
        Print[i, "  ", l[i]], i++}]

v[99]

A . v[99]/l[99]

{0.15185176161944192`, 0.9250593587995715`, 
        1.`} 0.7295590409188228`

Finding the smallest eigenvalue (λ=-0.714895). The corresponding eigenvector is u=(-0.786375,-0.389362,0.479595).

For[i = 1, 
      i < 100, {v[i] = Inverse[A] . v[i - 1]/Norm[Inverse[A] . v[i - 1]], 
        l[i] = v[i] . Inverse[A] . v[i], 
        Print[i, "  ", 1/l[i]], i++}]

v[99]

A . v[99] l[99]

{-1.6396654706172242`, -0.8118548314507897`, 
        1.`} (0.47959500848286024`)

Finding the eigenvalue near 4  (λ=3.63601). The corresponding eigenvector is u=(-0.607734,0.626839,-0.487578).

For[i = 1, 
      i < 100, {v[i] = 
          Inverse[(A - 4 IdentityMatrix[3])] . v[i - 1]/
            Norm[Inverse[(A - 4 IdentityMatrix[3])] . v[i - 1]], 
        l[i] = 1/v[i] . Inverse[(A - 4 IdentityMatrix[3])] . v[i] + 4, 
        Print[i, "  ", l[i]], i++}]

v[99]

A . v[99] 1/l[99]

{1.246434398652954`, -1.2856183204522296`, 
        1.`} (-0.4875779257225787`)