{r} # summary(cars) #

A = matrix(c(1,-1,0,-1,2,1,0,-1,1), byrow=T, ncol=3)
A
##      [,1] [,2] [,3]
## [1,]    1   -1    0
## [2,]   -1    2    1
## [3,]    0   -1    1
dim(A)
## [1] 3 3
t(A)
##      [,1] [,2] [,3]
## [1,]    1   -1    0
## [2,]   -1    2   -1
## [3,]    0    1    1
A == t(A)
##      [,1]  [,2]  [,3]
## [1,] TRUE  TRUE  TRUE
## [2,] TRUE  TRUE FALSE
## [3,] TRUE FALSE  TRUE
A*A
##      [,1] [,2] [,3]
## [1,]    1    1    0
## [2,]    1    4    1
## [3,]    0    1    1
A%*%A
##      [,1] [,2] [,3]
## [1,]    2   -3   -1
## [2,]   -3    4    3
## [3,]    1   -3    0
det(A)
## [1] 2
solve(A)
##      [,1] [,2] [,3]
## [1,]  1.5  0.5 -0.5
## [2,]  0.5  0.5 -0.5
## [3,]  0.5  0.5  0.5
sum(diag(A))
## [1] 4
eigen(A)
## eigen() decomposition
## $values
## [1] 2+0i 1+0i 1-0i
## 
## $vectors
##               [,1]                       [,2]                       [,3]
## [1,]  0.5773503+0i 7.071068e-01+0.000000e+00i 7.071068e-01+0.000000e+00i
## [2,] -0.5773503+0i 5.744170e-16-9.702837e-09i 5.744170e-16+9.702837e-09i
## [3,]  0.5773503+0i 7.071068e-01+0.000000e+00i 7.071068e-01-0.000000e+00i
class(A)
## [1] "matrix"
E = eigen(A)
class(E)
## [1] "eigen"
names(E)
## [1] "values"  "vectors"
l = E$values
l
## [1] 2+0i 1+0i 1-0i
D = diag(l)
class(l)
## [1] "complex"
U = E$vectors
class(U)
## [1] "matrix"
diag(l)
##      [,1] [,2] [,3]
## [1,] 2+0i 0+0i 0+0i
## [2,] 0+0i 1+0i 0+0i
## [3,] 0+0i 0+0i 1-0i
D = diag(l)
U%*%D%*%solve(U)
##                      [,1]  [,2]                [,3]
## [1,]  1e+00+0.000000e+00i -1-0i 0e+00-1.490116e-08i
## [2,] -1e+00-0.000000e+00i  2+0i 1e+00+0.000000e+00i
## [3,]  0e+00+1.490116e-08i -1+0i 1e+00-0.000000e+00i
D^10
##         [,1]         [,2]         [,3]
## [1,] 1024+0i 0e+00+0e+00i 0e+00+0e+00i
## [2,]    0+0i 1e+00+1e-07i 0e+00+0e+00i
## [3,]    0+0i 0e+00+0e+00i 1e+00-1e-07i
U%*%(D^10)%*%solve(U)
##          [,1]     [,2]     [,3]
## [1,]  1014+0i -1023-0i -1013-0i
## [2,] -1023-0i  1024+0i  1023+0i
## [3,]  1013+0i -1023-0i -1012-0i
U%*%(sqrt(D))%*%solve(U)
##                      [,1]          [,2]                [,3]
## [1,]  9.142136e-01+0e+00i -0.4142136-0i 8.578644e-02+7e-09i
## [2,] -4.142136e-01-0e+00i  1.4142136-0i 4.142136e-01+0e+00i
## [3,] -8.578644e-02+7e-09i -0.4142136+0i 1.085786e+00+0e+00i