C24

Find the eigenvalues, eigenspaces, algebraic and geometric multiplicities for \[A = \begin{bmatrix} 1&−1&1\\ −1&1&−1\\ 1&−1&1 \end{bmatrix} \]

A <- matrix(c(1, -1, 1, -1, 1, -1, 1, -1, 1), nrow = 3, byrow = TRUE)
# Find the eigenvalues
eigenvalues<-eigen(A)$value
print(eigenvalues)
## [1] 3.000000e+00 8.881784e-16 0.000000e+00
# Find eigenvectors
eigenvectors<-eigen(A)$vectors
print(eigenvectors)
##            [,1]       [,2]      [,3]
## [1,]  0.5773503 -0.8164966 0.0000000
## [2,] -0.5773503 -0.4082483 0.7071068
## [3,]  0.5773503  0.4082483 0.7071068
# Find eigenspaces
eigenspaces <-lapply(seq_along(eigenvalues), function(i) {
  eigenvectors[, i]
})

print(eigenspaces)
## [[1]]
## [1]  0.5773503 -0.5773503  0.5773503
## 
## [[2]]
## [1] -0.8164966 -0.4082483  0.4082483
## 
## [[3]]
## [1] 0.0000000 0.7071068 0.7071068
# Calculate algebraic multiplicities (the multiplicity of each eigenvalue)
algebraic_multiplicities<-table(round(eigenvalues, digits = 10))
print(algebraic_multiplicities)
## 
## 0 3 
## 2 1
# Calculate geometric multiplicities (the dimension of each eigenspace)
geometric_multiplicities<-sapply(eigenvalues, function(lambda) {
  sum(abs(eigenvalues - lambda) < 1e-10)
})
print(geometric_multiplicities)
## [1] 1 2 2