R_Test4(線性代數)

矩陣

創建矩陣

matrix

> a <- matrix(c(1:4,2:5,3:6,4:7),ncol=4,nrow = 4)
> a
     [,1] [,2] [,3] [,4]
[1,]    1    2    3    4
[2,]    2    3    4    5
[3,]    3    4    5    6
[4,]    4    5    6    7

創建單位矩陣

diag

> diag(x=1,nrow = 4,ncol = 4)
     [,1] [,2] [,3] [,4]
[1,]    1    0    0    0
[2,]    0    1    0    0
[3,]    0    0    1    0
[4,]    0    0    0    1

創建零矩陣

diag

> e <- diag(x=0,nrow = 3,ncol = 3)
> e
     [,1] [,2] [,3]
[1,]    0    0    0
[2,]    0    0    0
[3,]    0    0    0

創建對角矩陣

diag

> e <- diag(1:4,ncol = 4,nrow=4)
> e
     [,1] [,2] [,3] [,4]
[1,]    1    0    0    0
[2,]    0    2    0    0
[3,]    0    0    3    0
[4,]    0    0    0    4

創建上/下三角矩陣

lower,tre()

> a[lower.tri(a,diag = FALSE)] <- 0
> a
     [,1] [,2] [,3] [,4]
[1,]    1    2    3    4
[2,]    0    3    4    5
[3,]    0    0    5    6
[4,]    0    0    0    7

upper.tri()

> a[upper.tri(a,diag = FALSE)] <- 0
> a
     [,1] [,2] [,3] [,4]
[1,]    1    0    0    0
[2,]    2    3    0    0
[3,]    3    4    5    0
[4,]    4    5    6    7

矩陣轉置

> a
     [,1] [,2] [,3] [,4]
[1,]    1    0    0    0
[2,]    2    3    0    0
[3,]    3    4    5    0
[4,]    4    5    6    7
> a <- t(a)
> a
     [,1] [,2] [,3] [,4]
[1,]    1    2    3    4
[2,]    0    3    4    5
[3,]    0    0    5    6
[4,]    0    0    0    7

求行列式的值

> a
     [,1] [,2] [,3] [,4]
[1,]    1    2    3    4
[2,]    0    3    4    5
[3,]    0    0    5    6
[4,]    0    0    0    7
> det(a)
[1] 105

矩陣求逆

solve

> a
     [,1] [,2] [,3] [,4]
[1,]    1    2    3    4
[2,]    0    3    4    5
[3,]    0    0    5    6
[4,]    0    0    0    7
> solve(a)
     [,1]       [,2]        [,3]        [,4]
[1,]    1 -0.6666667 -0.06666667 -0.03809524
[2,]    0  0.3333333 -0.26666667 -0.00952381
[3,]    0  0.0000000  0.20000000 -0.17142857
[4,]    0  0.0000000  0.00000000  0.14285714

矩陣求秩

> a
     [,1] [,2] [,3] [,4]
[1,]    1    2    3    4
[2,]    0    3    4    5
[3,]    0    0    5    6
[4,]    0    0    0    7
> qr(a)$rank
[1] 4

求解特徵值和特徵向量

eigen

> eigen(a)
eigen() decomposition
$values
[1] 7 5 3 1

$vectors
          [,1]      [,2]      [,3] [,4]
[1,] 0.5602873 0.6163156 0.7071068    1
[2,] 0.6645268 0.7043607 0.7071068    0
[3,] 0.4690778 0.3521804 0.0000000    0
[4,] 0.1563593 0.0000000 0.0000000    0

正交矩陣

t(a)%*%a = E

> c <- matrix(c(sqrt(2)/2,-sqrt(2)/2,sqrt(2)/2,sqrt(2)/2),nrow = 2)
> c
           [,1]      [,2]
[1,]  0.7071068 0.7071068
[2,] -0.7071068 0.7071068
> value <- t(c)%*%c
> value
     [,1] [,2]
[1,]    1    0
[2,]    0    1
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章