2

I have been working through some matrix problems relating to eigenvalues and eigenvectors using R. For example: Where A is a diagonalizable 3x3 matrix solve A^740.

I find eigen() in R incredibly useful to quickly solve the eigenvalues

A = matrix(c(1,-2,4,0,-1,0,0,0,-1), byrow=T, nrow=3, ncol=3)
eigen(A)$values
[1]  1 -1 -1

However as the eigenvectors get normalized by vector length in eigen() I find myself manually solving them by hand for (A-λI) = 0 These form an adequate solution using:

P = (v1, v2, v3)  #eigenvectors
PI = solve(P)     #inverse
D=diag(3)*c(1,-1,-1)
A740 = P %*% D**740 %*% PI

I was wondering if there was a way to use eigen() and return non-normalized eigenvectors for simple applications such as this.

ggael
  • 28,425
  • 2
  • 65
  • 71
lm5050
  • 789
  • 7
  • 10
  • What is a "non-normalized eigenvector"? You can multiply the eigenvectors my any non-zero constant, and they will still be eigenvectors. R returns eigenvectors with norm 1, but if you want the norm to be something else, just multiply. – mrip Jun 07 '16 at 12:30
  • I mean the general solution for: (A-λI)x = 0 for example given λ1 =0 for the matrix A = [0,1,0,0] solving Ax = 0 (x1, x2) = (0, t) = t(0,1) where t ∈ ℝ giving the eigenvector (0,1) – lm5050 Jun 07 '16 at 12:52

0 Answers0