# How do you calculate eigenvector/value of a non-square matrix in R?

I have been wanting to calculate eigenvalues and eigenvectors for a non-square matrix and I know that svd method is used.

But, given my poor background, I don't understand how to figure out eigenvalues and eigenvectors from the u, d and v matrices.

• You are not precise terminologically. Eigenvalues/vectors that you imply here are not a characteristic of non-square matrix X, they are property of square matrix X'X. – ttnphns Oct 4 '11 at 3:24

## 1 Answer

According to the man page, svd returns a list with the following elements:

• d: a vector containing the singular values of x, of length min(n, p).
• u: a matrix whose columns contain the left singular vectors of x, present if nu 0. Dimension c(n, nu).
• v: a matrix whose columns contain the right singular vectors of x, present if nv 0. Dimension c(p, nv).

Wikipedia describes the relation between Eigendecomposition and SVD as follows: Given the SVD of $M$

$$M = U \; \Sigma \; V^*,$$

then

• The left singular vectors of $M$ are eigenvectors of $MM^*$.
• The right singular vectors of $M$ are eigenvectors of $M^*M$.
• The non-zero singular values of $\Sigma$ are the square roots of the non-zero eigenvalues of $M^*M$ or $MM^*$.

Does that help answer your question on how to identify the results returned by svd?