Eigenvectors in Matlab/Octave, function "eig()", why are the eigenvectors output like that?

17.2k Views Asked by At

You can calculate eigenvectors of a matrix with eig() function like this:

[eigenvectors, eigenvalues] = eig (matrix)

But I can't manage to understand why the eigenvector output is in some kind of unitary module format.

Example:

Matrix: $$\left(\begin{matrix} 2 & -4\\ -1 & -1\end{matrix}\right)$$

Eigenvalues output of the function: $$\left(\begin{matrix} 3 & 0\\ 0& -2\end{matrix}\right)$$

(I get it, -2 and 3 are the eigenvalues, they are in the main diagonal)

Eigenvectors output of the function: $$\left(\begin{matrix} 0.97014& 0.70711\\ -0.24254 & 0.70711\end{matrix}\right)$$ Why those values instead of the eigenvectors?: $$\left(\begin{matrix} -4\\ 1\end{matrix}\right)$$ and

$$\left(\begin{matrix} 1\\ 1\end{matrix}\right)$$

1

There are 1 best solutions below

4
On BEST ANSWER

Eigenvectors are determined only up to a scaling by a constant multiplier. So for an eigenvector $(1,1)$, the vectors $(2,2)$ and $(0.5,0.5)$ are the same eigenvector. It looks like Matlab chooses to normalize the eigenvectors to unit norm. This normalization is the most commonly used.