Eigen vectors and values
Overview
An eigenvector of a matrix is a column vector that when left multiplied by the matrix, returns the same column vector, possibly multiplited by a scaler.
The column vector is referred to as an eigenvector, and the corresponding scale is called the eigenvalue.
{% A\vec{v} = a\vec{v} %}
let la = await import('/lib/linear-algebra/v1.0.0/linear-algebra.mjs');
let matrix1 = [[1,2],[3,4]];
let ans = la.eigenvalues(matrix1);
Try it!
Eigen Decomposition
{% A = Q \Sigma Q^{-1} %}
Q is an nxn matrix whose columns are eigenvectors of A and {% \Sigma %} is a diagonal matrix of eigenvalues. The eigendecomposition
does not exist for all matrices. However, a similar decomposition, the
SVD decomposition, does exist for all matrices.
QR Algorithm
The QR algorithm is an algorithm for computing the eigen values/vectors of a real matrix {% A %}.
The alogorithm starts by defining {% A_0 = A %}.
Define
{% A_k = Q_k R_k %}
where {% QR %} is the
QR decomposition
of {% A_k %}
Rayleigh Quotient
The Rayleigh Quotient is defined to be
{% \frac{\vec{x}^T A \vec{x}}{\vec{x}^T \vec{x}} %}
Given a matrix {% A %} with the following eigenvalue/eigenvector pair
{% A\vec{x} = \lambda \vec{x} %}
The quotient simplies to
{% \frac{\vec{x}^T A \vec{x}}{\vec{x}^T \vec{x}} = \lambda \frac{\vec{x}^T \vec{x}}{\vec{x}^T \vec{x}} = \lambda %}
The eigenvector with the largest eigenvalue solves the problem of optimizing the Rayleigh Quotient.