library(pracma)

Find the eigenvalues, eigenspaces, algebraic and geometric multiplicities for A =

A <- matrix(c(1,-1,1,-1,1,-1,1,-1,1),nrow=3)
A
##      [,1] [,2] [,3]
## [1,]    1   -1    1
## [2,]   -1    1   -1
## [3,]    1   -1    1
eigenvalues <- eigen(A)
round(eigenvalues$values, digits=14)
## [1] 3 0 0
eigenvalues$vectors
##            [,1]       [,2]      [,3]
## [1,]  0.5773503 -0.8164966 0.0000000
## [2,] -0.5773503 -0.4082483 0.7071068
## [3,]  0.5773503  0.4082483 0.7071068
charpoly(A)
## [1]  1 -3  0  0
geometric_multiplicities <- A - 3*diag(3)
Result<- rref(geometric_multiplicities)
Result
##      [,1] [,2] [,3]
## [1,]    1    0   -1
## [2,]    0    1    1
## [3,]    0    0    0