Comment to C21 posted by Yuen Chun Way
#create matrix A
A = array(
c(-1,-6,2,6),
dim=c(2,2))
print("matrix A")
## [1] "matrix A"
print(A)
## [,1] [,2]
## [1,] -1 2
## [2,] -6 6
#create matrix A
C = array(
c(1,0,0,1),
dim=c(2,2))
#eigenvalues
print("eigenvalues")
## [1] "eigenvalues"
eigenvalues <- eigen(A)
round(eigenvalues$values,0)
## [1] 3 2
eigen_space <- function(eig_v){
print("matrix I")
eig_v_I = array(
c(eig_v,0,0,eig_v),
dim=c(2,2))
B <- A-eig_v_I
print("matrix A-eigenvalue*I")
print(B)
#B[1,1]x1=-B[2,2]x2
#B[2,1]x1=-B[1,2]x2
print(B[2,1])
x1 <- -B[1,1]/B[1,2]
x2 <- -B[2,2]/B[2,1]
print("x1")
print(x1)
print("x2")
print(x2)
}
eigen_space(3)
## [1] "matrix I"
## [1] "matrix A-eigenvalue*I"
## [,1] [,2]
## [1,] -4 2
## [2,] -6 3
## [1] -6
## [1] "x1"
## [1] 2
## [1] "x2"
## [1] 0.5
eigen_space(2)
## [1] "matrix I"
## [1] "matrix A-eigenvalue*I"
## [,1] [,2]
## [1,] -3 2
## [2,] -6 4
## [1] -6
## [1] "x1"
## [1] 1.5
## [1] "x2"
## [1] 0.6666667
For matrix
\[A = \begin{bmatrix} 0 & 4 & -1 & 1 \\ -2 & 6 & -1 & 1 \\ -2 & 8 & -1 & -1 \\ -2 & 8 & -3 & 1 \\ \end{bmatrix}\]
, the characteristic polynomial of A is pA(x) =\((x + 2)\)\((x − 2)^2\)\((x − 4)\) Find the eigenvalues and corresponding eigenspaces of A.
#create matrix A
A = array(
c(0,-2,-2,-2,4,6,8,8,-1,-1,-1,-3,1,1,-1,1),
dim=c(4,4))
print(A)
## [,1] [,2] [,3] [,4]
## [1,] 0 4 -1 1
## [2,] -2 6 -1 1
## [3,] -2 8 -1 -1
## [4,] -2 8 -3 1
#calculate eigenvalues
eigenvalues <- eigen(A)
round(eigenvalues$values,0)
## [1] 4 -2 2 2
#build function for calculating eigenspaces
eigenspace <- function(eig_v) {
eig_v_I = array(
c(eig_v,0,0,0,0,eig_v,0,0,0,0,eig_v,0,0,0,0,eig_v),
dim=c(4,4))
print(eig_v_I)
#printeigenspace
print(A-eig_v_I)
}
#eigenspaces for corresponding eigenvalues
eigenspace(2)
## [,1] [,2] [,3] [,4]
## [1,] 2 0 0 0
## [2,] 0 2 0 0
## [3,] 0 0 2 0
## [4,] 0 0 0 2
## [,1] [,2] [,3] [,4]
## [1,] -2 4 -1 1
## [2,] -2 4 -1 1
## [3,] -2 8 -3 -1
## [4,] -2 8 -3 -1
eigenspace(-2)
## [,1] [,2] [,3] [,4]
## [1,] -2 0 0 0
## [2,] 0 -2 0 0
## [3,] 0 0 -2 0
## [4,] 0 0 0 -2
## [,1] [,2] [,3] [,4]
## [1,] 2 4 -1 1
## [2,] -2 8 -1 1
## [3,] -2 8 1 -1
## [4,] -2 8 -3 3
eigenspace(4)
## [,1] [,2] [,3] [,4]
## [1,] 4 0 0 0
## [2,] 0 4 0 0
## [3,] 0 0 4 0
## [4,] 0 0 0 4
## [,1] [,2] [,3] [,4]
## [1,] -4 4 -1 1
## [2,] -2 2 -1 1
## [3,] -2 8 -5 -1
## [4,] -2 8 -3 -3
#calculate eigenvectors
round(eigenvalues$vectors,0)
## [,1] [,2] [,3] [,4]
## [1,] -1 0 -1 -1
## [2,] -1 0 0 0
## [3,] -1 -1 -1 0
## [4,] 0 -1 0 0