Eigenvalues and eigenvectors¶

We have seen that a matrix $$\mathbf{M}$$ operating on a vector $$\mathbf{v}$$ produces a new vector $$\mathbf{v^\prime}$$:

$\mathbf{v}^\prime = \mathbf{M}\cdot\mathbf{v}.$

In general the matrix $$\mathbf{M}$$ can change both the magnitude and direction of the vectors $$\mathbf{v}\to\mathbf{v^\prime}$$.

Consider the matrix $$\mathbf{M}=\begin{bmatrix}2 & 1 \\ 1 & 2\end{bmatrix}$$. This gives the linear transformation shown below.

Fig. 10 The effect of the matrix $$\mathbf{M}=\begin{bmatrix}2&1\\1&2\end{bmatrix}$$ is to transform the basis vectors $$\mathbf{i}=\begin{bmatrix}1 \\ 0\end{bmatrix}$$ and $$\mathbf{j}=\begin{bmatrix}0 \\ 1\end{bmatrix}$$ (left) to $$\mathbf{i^\prime}=\begin{bmatrix}2 \\ 1\end{bmatrix}$$ and $$\mathbf{j^\prime}=\begin{bmatrix}1 \\ 2\end{bmatrix}$$ (right); i.e. the new unit vectors are the columns of $$\mathbf{M}$$.

We can also visualise this transformation by considering the effect on a set of vectors with length $$1$$ and different directions. Now we see that the effect of the matrix transformation is to transform a unit circle into an ellipse.

Fig. 11 The effect of the matrix $$\mathbf{M}$$ is to transform the unit circle (left) into an ellipse (right).

The major and minor axes of this ellipse (given by the longest and shortest transformed vectors) lie along $$\begin{bmatrix}1 \\ 1\end{bmatrix}$$ and $$\begin{bmatrix}-1 \\ 1\end{bmatrix}$$, respectively.

If we compare these transformed vectors to the corresponding original vectors we see that the effect of $$\mathbf{M}$$ operating on these two vectors is only to scale them. Their directions have not changed. Mathematically, this can be expressed as

\begin{split} \begin{aligned} \mathbf{v^\prime}&=&\mathbf{M}\cdot\mathbf{v} \\ s\mathbf{v}&=&\mathbf{M}\cdot\mathbf{v}. \end{aligned} \end{split}

i.e. operating on $$\mathbf{v}$$ by $$\mathbf{M}$$ gives the same vector $$\mathbf{v}$$ back, times a scalar, $$s$$. This only happens for these two “special” vectors, which we call the eigenvectors of the matrix $$\mathbf{M}$$. The scalar values $$s$$ are the eigenvalues of the matrix $$\mathbf{M}$$.

Fig. 12 Left: The two vectors corresponding to the major and minor axes of the ellipse in the previous figure. Right: The same two vectors before the transformation. Both of these vectors have the same direction before and after the transformation by $$\mathbf{M}$$ and are eigenvectors of $$\mathbf{M}$$.

We can calcuate the eigenvalues and eigenvectors of a matrix using np.linalg.eig():

>>> print(np.linalg.eig(M))
(array([3., 1.]), array([[ 0.70710678, -0.70710678],
[ 0.70710678,  0.70710678]]))

This returns two arrays. The first array contains the eigenvalues of $$\mathbf{M}$$, and the second array contains the eigenvectors of $$\mathbf{M}$$.

>>> print(np.linalg.eig(M)[0])
[3., 1]
>>> print(np.linalg.eig(M)[1])
[[ 0.70710678 -0.70710678]
[ 0.70710678  0.70710678]]

Note that the eigenvectors are returned as a matrix. Each of the columns of this matrix correspond to one of the eigenvectors. We can see that for the matrix $$\mathbf{M}=\begin{bmatrix}2 & 1 \\ 1 & 2\end{bmatrix}$$ we get one eigenvector $$\begin{bmatrix}0.70710678 \\ 0.70710678 \end{bmatrix}$$ with eigenvalue $$3$$, and a second eigenvector $$\begin{bmatrix} -0.70710678 \\ \phantom{-}0.70710678\end{bmatrix}$$ with eigenvalue $$1$$.

Calculating eigenvalues and eigenvectors has applications in a number of areas of chemistry. For example:

• Describing the rotational motions of molecules: finding principal axes of rotation and principal moments of inertia (eigenvectors and eigenvalues of the inertia matrix).

• Describing the vibrational motions of molecules: finding normal modes (eigenvectors and eigenvalues of the dynamical matrix).

• Solving the time-independent Schrödinger equation $$\mathbf{H}\Psi=E\Psi$$, which is an eigenvalue equation: finding molecular orbitals and their corresponding energies (eigenvectors and eigenvalues of the Hamiltonian matrix).

Key ideas

• A two-dimensional matrix transforms a unit circle into an ellipse.

• A vector that does not change direction under the operation $$\mathbf{M}$$ is an eigenvector of $$\mathbf{M}$$. The scaling factor of this vector is the corresponding eigenvalue.