faqts : Science : Mathematics : Algebra : Linear

+ Search
Add Entry AlertManage Folder Edit Entry Add page to http://del.icio.us/
Did You Find This Entry Useful?

3 of 7 people (43%) answered Yes
Recently 3 of 7 people (43%) answered Yes

Entry

Math: Matrix: Eigenvector: Eigenvalue: Operation: Calculate: How to calculate?

Jan 21st, 2006 18:44
Knud van Eeden,


----------------------------------------------------------------------
--- Knud van Eeden --- 15 January 2006 - 04:22 am --------------------

Math: Matrix: Eigenvector: Eigenvalue: Operation: Calculate: How to 
calculate?

===

Steps: Overview:

 1. -Given the eigenvector equation


      -   -            -
      A . x = lambda . x



     1. -This equation says thus:

         1. -If I multiply a given matrix with any vector, for which of
             this vectors do I get the result that only the length of
             that vectors is changed (or thus scaled)?

             1. -As a result of finding lambda, you find thus what this
                 scaling factor is (e.g. the length of that particular
                 vector is scaled 2 times, 3 times, 4.1 times, ...,
                 after you applied that given matrix)

         2. -You are given thus some matrix, you put any vector in,
             and calculate the result vector.

             This process is similar to a function, where you put an x
             value in, and get an y value out.

             If the result vector is such that only the length is
             changed (and not the direction, because the vector is
             rotated or translated), or thus in other words the result
             vector is parallel to the original vector, you have found
             an eigenvector.

 2. -Writing this equation in components


     [ a11 a12 a13 ... a1N ]
     [                     ]
     [ a21 a22 a23 ... a2N ]   _             -
     [                     ] . x  = lambda . x
     [ a31 a32 a33 ... a3N ]

     ...

     [ aN1 aN2 aN3 ... aNN ]


 3. -Writing this out further


     [ a11 a12 a13 ... a1N ]   [ x1 ]              [ x1 ]
     [                     ]   [    ]              [    ]
     [ a21 a22 a23 ... a2N ]   [ x2 ]              [ x2 ]
     [                     ] . [    ]  =  lambda . [    ]
     [ a31 a32 a33 ... a3N ]   [ x3 ]              [ x3 ]

     ...                         ...                 ...

     [ aN1 aN2 aN3 ... aNN ]   [ xN ]              [ xN ]


 4. -Similar to writing

       4 = 1 . 4

       or

       10 = 1 . 10

       or

       x = 1 . x

     you can introduce a unit vector,
     and so equivalently write this as


     [ a11 a12 a13 ... a1N ]   [ x1 ]
     [                     ]   [    ]
     [ a21 a22 a23 ... a2N ]   [ x2 ]             -   -
     [                     ] . [    ]  = lambda . 1 . x
     [ a31 a32 a33 ... a3N ]   [ x3 ]

     ...                         ...

     [ aN1 aN2 aN3 ... aNN ]   [ xN ]


 5. -Writing this out further

     [ a11 a12 a13 ... a1N ]   [ x1 ]
     [                     ]   [    ]
     [ a21 a22 a23 ... a2N ]   [ x2 ]
     [                     ] . [    ]  =
     [ a31 a32 a33 ... a3N ]   [ x3 ]

     ...                         ...

     [ aN1 aN2 aN3 ... aNN ]   [ xN ]



              [ 1       0       0       ...  0 ]    [ x1 ]
              [                                ]    [    ]
              [ 0       1       0       ...  0 ]    [ x2 ]
     lambda . [                                ]  . [    ]
              [ 0       0       1       ...  0 ]    [ x3 ]

              ...                                     ...

              [ 0       0       0       ...  1 ]    [ xN ]


 6 -Writing this out further, you will have to multiply lambda
    with all the components (because you, by design, want to
    have uniform scaling, this means you have to apply the
    scaling to all the components)


   [ a11 a12 a13 ... a1N ]   [ x1 ]
   [                     ]   [    ]
   [ a21 a22 a23 ... a2N ]   [ x2 ]
   [                     ] . [    ]
   [ a31 a32 a33 ... a3N ]   [ x3 ]

   ...                         ...

   [ aN1 aN2 aN3 ... aNN ]   [ xN ]



      [ lambda  0       0       ...  0      ]    [ x1 ]
      [                                     ]    [    ]
      [ 0       lambda  0       ...  0      ]    [ x2 ]
   =  [                                     ]  . [    ]
      [ 0       0       lambda  ...  0      ]    [ x3 ]
                                            ]
      ...                                   ]      ...
                                            ]
      [ 0       0       0       ...  lambda ]    [ xN ]


 7. -Put everything on one side of the equation


   [ a11 -lambda  a12          a13          ... a1N          ]
   [                                                         ]
   [ a21          a22 - lambda a23          ... a2N          ]
   [                                                         ]    -   -
   [ a31          a32          a33 - lambda ... a3N          ]  . x = 0

   ...

   [ aN1          aN2          aN3              aNN - lambda ]


 7. -This equation will only be generally true if the determinant is
     zero

                    -
     (as the vector x is in general not zero)


     | a11 -lambda  a12          a13          ... a1N          |
     |                                                         |
     | a21          a22 - lambda a23          ... a2N          |
     |                                                         |
     | a31          a32          a33 - lambda ... a3N          |  = 0

     ...

     | aN1          aN2          aN3              aNN - lambda |


 8. -Thus you have to work out the equation that the determinant is
     zero.


 9. -Working that equation out according to the determinant rules shows
     that you will need to solve an Nth degree polynomial in the
     unknown lambda.
     This equation is called the 'characteristic polynomial',
     or also 'secular polynomial'.

     1. -There are thus always exactly N solutions for the eigenvalues
         (as according to the fundamental theorem of algebra, an Nth
          degree polynomial has exactly N solutions)

          1. -According to Abel and Galois theory for Nth degree
              polynomials there are thus exact solutions for lambda
              possible for the

               1 x 1 determinant

               2 x 2 determinant (using the root formula)

               3 x 3 determinant (using the Cardano formula)

               4 x 4 determinant (using the Ferrari formula)

              ---

              But no exact solutions for lambda in 5 x 5, or higher,
              determinants.

              ---

              You can otherwise use numeric method solutions for all
              cases.

     2. -The characteristic polynomial can have

          1. real roots

             1. -This is indicates that it is business as usual, the
                 scaling can take place and good eigenvectors can be
                 found

          2. non real roots (=complex roots)

             1. -This indicates usually that you will not be able to
                 find good eigenvectors

                 1. -E.g. the rotation matrix over 90 degrees will by
                     definition rotate over 90 degrees all vectors
                     which you put in.

                            [ 0   -1 ]
                            [        ]
                            [ 1    0 ]

                          So you will not be able to find any
                          eigenvector here (except the null vector).
                          So its eigenvalues will be complex

                          To quickly calculate this,
                          from the trace and determinant rule
                          (see video lecture Gilbert Strang)

                            lambda1 + lambda2 = 0 + 0 = 0

                            lambda1 . lambda2 = 0 . 0 - (-1 . 1) = 1

                          you get

                           lambda1 = i

                           lambda2 = -i

     3. -The polynomial can have

          1. Non-repeating (=unique) roots

             1. -This is indicates that it is business as usual, the
                 scaling can take place and good eigenvectors can be
                 found

          2. Repeating (=unique) roots

             1. -This indicates usually that you will not be able to
                 find all independent eigenvectors

                 1. -E.g. the identity matrix

                            [ 1   0 ]
                            [       ]
                            [ 0   1 ]

                          which leaves all vectors you put in
                          unchanged.

                          To quickly calculate this,
                          from the trace and determinant rule
                          (lambda^2 + (trace) . lambda + (determinant) 
= 0)
                          (see video lecture Gilbert Strang)

                            lambda1 + lambda2 = 1 + 1 = 2

                            lambda1 . lambda2 = 1 . 1 - (0 . 0) = 1

                          you get

                           lambda1 = 1

                           lambda2 = 1

10. -Once you have found the eigenvalues, you can find the eigenvectors
     by for each of the eigenvalues filling in this in the equation,
     and solving for the x.
     Each solution gives an eigenvector.

     1. -So you have to solve this equation

| a11 -lambda  a12           a13           ... a1N        |   [x1]
|                                                         |   [  ]
| a21          a22 - lambda  a23           ... a2N        |   [x2]
|                                                         | . [  ] = 0
| a31          a32           a33 - lambda  ... a3N        |   [x3]

  ...                                                         ...

| aN1          aN2           aN3           ... aNN-lambda |   [xN]

11. -The problem is though that if you solve this equation
     with the given lambda, it will give you the trivial solution
     that all independent variables have to be zero.
     Thus you will find that

      x1 = 0, x2 = 0, x3 = 0, ...

     ---

     This is because the substitution of an eigenvalue lambda
     in the eigenvector equation always gives a singular
     homogeneous linear system, and among its infinity of
     solutions you generally have to seek a 'simple' solution
     (with small integer values (if this is possible)).

     [book: Edwards, Charles Henry / Penney, David E. - differential 
equations and boundary value problems / Computing and modeling - p. 
279 'Distinct real eigenvalues']


12. To circumvent this problem, you can follow the following
    procedure to find the eigenvectors

    ---

    [book: Cannon, Robert H. - dynamics of physical systems - p. 
509 'Matrix description of eigenvector calculation']

    ---

    [book: Slater, John C. / Frank, Nathaniel H. - mechanics - p. 
272 'Tensors']

    ---

    Steps: Overview:

    1. -Given the original system of linear equations

    2. -Remove (arbitrarily) one of the equations (say the first 
equation)

    3. -Select one of the variables (say the first variable, x1)

    4. -Divide by that variable (say that that variable x1 is not zero)

    5. -Solve this linear equations for this new variables

        x2/x1

        x3/x1

        x4/x1

        ...

        xN/x1

     6. -Possibly multiply nominator and denominator of
         the solution quotient with some multiple m
         (because a scaled version of the eigenvector is also
          a solution). This will give the eigenspace for that
          specific eigenvalue.

     7. -Possibly normalize the magnitudes of the eigenvectors, by
         making it a unit vector, as usual by dividing by its length
         (where mi are multiples)

                 2            2            2                 2
         sqrt( x1  + (m1 . x1)  + (m2 . x1) + ... + (mN . x1) )

    ===

    Steps: Worked out:

    1. -Given the original system of linear equations


| a11 -lambda  a12           a13           ... a1N        |   [x1]
|                                                         |   [  ]
| a21          a22 - lambda  a23           ... a2N        |   [x2]
|                                                         | . [  ] = 0
| a31          a32           a33 - lambda  ... a3N        |   [x3]

  ...                                                          ...

| aN1          aN2           aN3               aNN-lambda |   [xN]



      -You can write this also as


(a11-lambda ).x1+ a12         .x2+ a13         .x3... a1N         .xN=0

 a21         .x1+(a22-lambda ).x2+ a23         .x3... a2N         .xN=0

 a31         .x1+ a32         .x2+(a33-lambda ).x3... a3N         .xN=0

...

 aN1         .x1+ aN2         .x2+ aN3         .x3...(aNN-lambda ).xN=0


    2. Remove (arbitrarily) one of the equations (say the first 
equation)


| a11 -lambda  a12           a13           ... a1N        |   [x1]
|                                                         |   [  ]
| a21          a22 - lambda  a23           ... a2N        |   [x2]
|                                                         | . [  ] = 0
| a31          a32           a33 - lambda  ... a3N        |   [x3]

  ...                                                          ...

| aN1          aN2           aN3               aNN-lambda |   [xN]


      -You can write this also as


 a21         .x1+(a22-lambda ).x2+ a23         .x3... a2N         .xN=0

 a31         .x1+ a32         .x2+(a33-lambda ).x3... a3N         .xN=0

 ...

 aN1         .x1+ aN2         .x2+ aN3         .x3...(aNN-lambda ).xN=0


    3. Select one of the variables (say the first variable, x1)

    4. -Divide by that variable (say that that variable x1 is not zero)


 (a22-lambda ).x2+ a23         .x3... a2N         .xN= - a21 . x1
               --               --                 --          --
               x1               x1                 x1          x1


  a32         .x2+(a33-lambda ).x3... a3N         .xN= - a31 . x1
               --               --                 --          --
               x1               x1                 x1          x1

  ...


  aN2         .x2+ aN3         .x3...(aNN-lambda ).xN= - aN1 . x1
               --               --                 --          --
               x1               x1                 x1          x1

    5. -Solve this linear equations for this new variables

        x2/x1

        x3/x1

        x4/x1

        ...

        xN/x1

    6. -Possibly multiply nominator and denominator of
        the solution quotient with some multiple m
        (because a scaled version of the eigenvector is also
         a solution). This will give the eigenspace for that
         specific eigenvalue.

    10. -Possibly normalize the magnitudes of the eigenvectors, by
         making it a unit vector, as usual by dividing by its length
         (where mi are multiples)

                2            2            2                 2
        sqrt( x1  + (m1 . x1)  + (m2 . x1) + ... + (mN . x1) )


13. -Apply this procedure

     1. -Fill in each of the found lambdas and solve for the x

         1. -Fill in lambda1 and solve that equations. That gives the 
1st eigenvector.

         2. -Fill in lambda2 and solve that equations. That gives the 
2nd eigenvector.

         ...

         3. -Fill in lambdaN and solve that equations. That gives the 
Nth eigenvector.

14. -If (some of) the eigenvalues are equal, then you form a sum of 
multiples of the corresponding eigenvectors

       m1 . x1 + m2 . x2 + ... + mN . xN

      [book: Bronshtein, I. N. / Semendyayev, K. A. - handbook of 
mathematics - page 151 'Eigenvalues and eigenvectors' - in example 
of 'transformation of matrix to diagonal form']

---
---

Internet: see also:

---

Math: Transformation: Eigenvector: Eigenvalue: Link: Can you give an 
overview of links?
http://www.faqts.com/knowledge_base/view.phtml/aid/39001/fid/1856

----------------------------------------------------------------------