[R] understanding eigen(): getting non-normalized eigenvectors
Prof Brian Ripley
ripley at stats.ox.ac.uk
Tue Jun 10 09:19:59 CEST 2003
Eigenvectors are defined only up to a scalar constant (assuming distinct
eigenvalues). However, your `by hand' answer does not pass the simple
test Av = lambda v for some lambda. So you cannot reproduce incorrect
answers in R!
Your example is unusual: A is of rank 1.
On 9 Jun 2003, Christoph Lehmann wrote:
> Hi, dear R pros
>
> I try to understand eigen(). I have seen, that eigen() gives the
> eigenvectors normalized to unit length.
>
> What shall I do to get the eigenvectors not normalized to unit length?
Multiply them by any randomly chosen non-zero scalar!
> E.g. take the example:
>
> A
>
> [,1] [,2]
> V1 0.7714286 -0.2571429
> V2 -0.4224490 0.1408163
>
> Calculating eigen(A) "by hand" gives the eigenvectors (example from
> Backhaus, multivariate analysis):
>
> 0.77143 and 0.25714
> -0.42245 0.14082
The second is not an eigenvector of A: try it! They look like rounded
versions of A with a sign error.
--
Brian D. Ripley, ripley at stats.ox.ac.uk
Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/
University of Oxford, Tel: +44 1865 272861 (self)
1 South Parks Road, +44 1865 272866 (PA)
Oxford OX1 3TG, UK Fax: +44 1865 272595
More information about the R-help
mailing list