Eigenvectors for Non-Symmetric Matrices

Let A be an invertible n × n matrix and let A = QTQT be a Schur’s factorization of A. We now show how to calculate the eigenvectors of A.

Property 1: Suppose that QTQT is a Schur’s factorization of A. If X is an eigenvector of T corresponding to eigenvalue λ, then QX is an eigenvector of A corresponding to λ.

Proof: Assume X is an eigenvector of T corresponding to eigenvalue λ. Then TX = λX, and so AQX = QTQTQX = QTX = QλX =λQX.

Observation: By Property 1, it is sufficient to be able to construct eigenvectors for upper triangular square matrices, which we can do as described in the following property.

Property 2: If λ is an eigenvalue of an invertible upper triangular matrix T, we can construct an eigenvector of T corresponding to λ.

Proof: We start by investigating the characteristics of such an eigenvector. Let X be an eigenvector corresponding to the eigenvalue λ of the upper triangular n × n matrix T. Thus λ = tii for some i, 1 ≤ in,  and (TλI)X = O.

Now we express T and X as follows:

image9241

where T22 = λ. Thus, (TλI)X can be expressed as

image9242

Since T is invertible and upper triangular, by Property 1c of Eigenvalues and Eigenvectors, none of the values on its main diagonal is zero. Since T11 and T33 are upper triangular (whose diagonal contain elements from the main diagonal of T), if we assume that λ has multiplicity of 1, then T11λI and T33λI don’t have any zero values on their main diagonal, and so by Property 1c of Eigenvalues and Eigenvectors, they are invertible.

Since T33λI is invertible and (T33λI)X3= O, it follows that X3= O. We set X= 1  (X2 is a scalar) since any non-zero value will yield an equivalent result. Thus

image9243

and so we conclude that

image9244

We have therefore shown how to construct the eigenvector X where

image9245

Here, the first block is an i−1 × 1 vector, the second block is the scalar 1, and the third block is the n−i × 1 zero vector.

Example 1: Find the eigenvectors for matrix A in range A2:C4 of Figure 1 of Schur’s Factorization (repeated in range V2:X4 of Figure 1 below).

We start by finding the eigenvalues and eigenvectors of the upper triangular matrix T from Figure 3 of Schur’s Factorization (repeated in range R2:T4 of Figure 1 below).

Eigenvectors non-symmetric matrices

Figure 1 – Eigenvectors of a non-symmetric matrix

The eigenvalues shown in range R8:T8 are the diagonal elements of T. The corresponding eigenvectors are shown in ranges R9:R11, S9:S11 and T9:T11 using the formulas shown in Figure 2.

Cells/Range Value/Formula
R2:T4 =E32:G34
R8:T8 =DIAG(R2:T4)
R9, S10, T11 1
R10, R11, S11 0
S9 =-1/(R2-S8)*S2
T9:T10 =-MMULT(MINVERSE(R2:S3-T8*Identity(2)),T2:T3)
T12 =SQRT(SUMSQ(T9:T11))
T27:T29 =R9:T11/R12:T12
V2:X4 =A2:C4
V8:X8 = R8:T8
V9:X11 =MMULT(E27:G29,R9:T11)
V27:X29 =V9:X11/V12:X12

Figure 2 – Formulas from Figure 1

The normalized versions of these eigenvalues are shown in R27:R29, S27:S29 and T27:T29. The eigenvalues of A (range V8:X8) are the same as those for T and the eigenvectors take the form QX (range V9:X11) where X are eigenvectors for T. The unit eigenvectors of A are shown in range V27:X29.

Real Statistics Function: The Real Statistics Resource Pack contains the following array function to calculate the eigenvalues and eigenvectors of any square matrix (including a non-symmetric matrix) A in range R1:

eVECT(R1, iter, order): returns an n+3 × n range, where n = the number of rows/columns in the square range R1. The first row of the output consists of the real eigenvalues of the square matrix A corresponding to the data in R1. Below each eigenvalue λ in the first row is a unit n × 1 eigenvector corresponding to λ. In the second-to-last row of the output are the values det(A−λI). In the last row of the output, below each eigenvalue λ and eigenvector X is the value max {bi: i = 1 to n} where B = AX− λX.

The algorithm used is iterative with iter iterations (default 100). The diagonal of T contains the eigenvalues of A. If order = TRUE (default) then the eigenvalues are arranged in descending order based on their absolute values; if order = FALSE then the eigenvalues are in descending order.

All the values in the second-to-last row of the output which correspond to real eigenvalues should be close to zero. You may need to increase the value of iter to find all the real eigenvalues, but values that don’t get close to zero correspond to imaginary eigenvalues. Since B = AX− λX = O for an eigenvalue λ with corresponding eigenvector X, values in the last row that correspond to real eigenvalues should be close to zero (if not then you may need to increase the value of iter).

Real Statistics Data Analysis Tool: The eigenvalues and eigenvectors of any square matrix (including a non-symmetric matrix) can be computed using the Eigenpairs (non-sym) option of the Matrix Operations data analysis tool.

Leave a Reply

Your email address will not be published. Required fields are marked *