(A1 <- matrix(c(2, 3, 6, 0, -4, 1), 2))
## [,1] [,2] [,3]
## [1,] 2 6 -4
## [2,] 3 0 1
(B1 <- matrix(c(2, 3, 6, 0, -4, 1), 2))
## [,1] [,2] [,3]
## [1,] 2 6 -4
## [2,] 3 0 1
(C1 <- matrix(c(2, 2, 6, 0, -4, 1), 2))
## [,1] [,2] [,3]
## [1,] 2 6 -4
## [2,] 2 0 1
A1 - B1
## [,1] [,2] [,3]
## [1,] 0 0 0
## [2,] 0 0 0
dim
)가 \(r\times c\)일 때, \(r = c\)이면, 정방행렬(A2 <- matrix(c(3, 1, -2, 4, 0, 6, 4, 2, 5, -3, 0, 10, -4, 5, 12, 6), 4))
## [,1] [,2] [,3] [,4]
## [1,] 3 0 5 -4
## [2,] 1 6 -3 5
## [3,] -2 4 0 12
## [4,] 4 2 10 6
diag(A2)
## [1] 3 6 0 6
dim(A2)
## [1] 4 4
(A3 <- diag(c(3, 5, -4, 7)))
## [,1] [,2] [,3] [,4]
## [1,] 3 0 0 0
## [2,] 0 5 0 0
## [3,] 0 0 -4 0
## [4,] 0 0 0 7
(A4 <- matrix(c(1, 0, 0, 0, 2, 0, 0, 0, 3, -1, 3, 0, 4, 2, 0, 5), 4))
## [,1] [,2] [,3] [,4]
## [1,] 1 2 3 4
## [2,] 0 0 -1 2
## [3,] 0 0 3 0
## [4,] 0 0 0 5
Matrix::isTriangular(A4)
## [1] TRUE
## attr(,"kind")
## [1] "U"
(A5 <- matrix(c(1, 3, 0, 2, 0, -2, 0, 3, 0, 0, 3, -1, 0, 0, 0, 5), 4))
## [,1] [,2] [,3] [,4]
## [1,] 1 0 0 0
## [2,] 3 -2 0 0
## [3,] 0 0 3 0
## [4,] 2 3 -1 5
Matrix::isTriangular(A5)
## [1] TRUE
## attr(,"kind")
## [1] "L"
diag(n)
으로 표시함.
(I3 <- diag(3))
## [,1] [,2] [,3]
## [1,] 1 0 0
## [2,] 0 1 0
## [3,] 0 0 1
3*I3
## [,1] [,2] [,3]
## [1,] 3 0 0
## [2,] 0 3 0
## [3,] 0 0 3
(R <- matrix(c(3.5, 0.6, 2.1, 0.6, 4.5, 1.9, 2.1, 1.9, 6.8), 3))
## [,1] [,2] [,3]
## [1,] 3.5 0.6 2.1
## [2,] 0.6 4.5 1.9
## [3,] 2.1 1.9 6.8
(A6 <- matrix(c(1, 2, 2, 3), 2))
## [,1] [,2]
## [1,] 1 2
## [2,] 2 3
(B6 <- matrix(c(3, 7, 7, 6), 2))
## [,1] [,2]
## [1,] 3 7
## [2,] 7 6
A6 %*% B6
## [,1] [,2]
## [1,] 17 19
## [2,] 27 32
t(A6 %*% B6)
## [,1] [,2]
## [1,] 17 27
## [2,] 19 32
B6 %*% A6
## [,1] [,2]
## [1,] 17 27
## [2,] 19 32
(A7 <- matrix(c(1, 3, 2, 0, -1, 1), 2))
## [,1] [,2] [,3]
## [1,] 1 2 -1
## [2,] 3 0 1
A7 %*% t(A7)
## [,1] [,2]
## [1,] 6 2
## [2,] 2 10
t(A7) %*% A7
## [,1] [,2] [,3]
## [1,] 10 2 2
## [2,] 2 4 -2
## [3,] 2 -2 2
임의의 실수행렬 \(A\)에 대하여 \(A^t A = 0\)이면 \(A = 0\)이다.
임의의 실수행렬 \(A\)에 대하여 \(tr(A^t A) = 0\)이면 \(A = 0\)이다.
(x1 <- matrix(c(1, 0, 2), 3))
## [,1]
## [1,] 1
## [2,] 0
## [3,] 2
(y1 <- matrix(c(2, 2, 1), 3))
## [,1]
## [1,] 2
## [2,] 2
## [3,] 1
(z1 <- matrix(c(3, 2), 2))
## [,1]
## [1,] 3
## [2,] 2
x1 %*% t(y1)
## [,1] [,2] [,3]
## [1,] 2 2 1
## [2,] 0 0 0
## [3,] 4 4 2
y1 %*% t(x1)
## [,1] [,2] [,3]
## [1,] 2 0 4
## [2,] 2 0 4
## [3,] 1 0 2
t(y1 %*% t(x1))
## [,1] [,2] [,3]
## [1,] 2 2 1
## [2,] 0 0 0
## [3,] 4 4 2
x1 %*% t(z1)
## [,1] [,2]
## [1,] 3 2
## [2,] 0 0
## [3,] 6 4
z1 %*% t(x1)
## [,1] [,2] [,3]
## [1,] 3 0 6
## [2,] 2 0 4
(A8 <- matrix(1:6, 3))
## [,1] [,2]
## [1,] 1 4
## [2,] 2 5
## [3,] 3 6
(B8 <- matrix(7:10, 2, byrow = TRUE))
## [,1] [,2]
## [1,] 7 8
## [2,] 9 10
A8 %*% B8
## [,1] [,2]
## [1,] 43 48
## [2,] 59 66
## [3,] 75 84
# A8[, 1] %*% B8[1, ]
# A8[, 2] %*% B8[2, ]
A8[, 1] %*% B8[1, , drop = FALSE]
## [,1] [,2]
## [1,] 7 8
## [2,] 14 16
## [3,] 21 24
A8[, 2] %*% B8[2, , drop = FALSE]
## [,1] [,2]
## [1,] 36 40
## [2,] 45 50
## [3,] 54 60
A8[, 1] %*% t(B8[1, ]) + A8[, 2] %*% t(B8[2, ])
## [,1] [,2]
## [1,] 43 48
## [2,] 59 66
## [3,] 75 84
(A9 <- matrix(1:6, 2, byrow=TRUE))
## [,1] [,2] [,3]
## [1,] 1 2 3
## [2,] 4 5 6
t(A9)
## [,1] [,2]
## [1,] 1 4
## [2,] 2 5
## [3,] 3 6
A9 %*% t(A9)
## [,1] [,2]
## [1,] 14 32
## [2,] 32 77
A9[, 1] %*% t(A9[, 1])
## [,1] [,2]
## [1,] 1 4
## [2,] 4 16
A9[, 2] %*% t(A9[, 2])
## [,1] [,2]
## [1,] 4 10
## [2,] 10 25
A9[, 3] %*% t(A9[, 3])
## [,1] [,2]
## [1,] 9 18
## [2,] 18 36
A9[, 1] %*% t(A9[, 1]) + A9[, 2] %*% t(A9[, 2]) + A9[, 3] %*% t(A9[, 3])
## [,1] [,2]
## [1,] 14 32
## [2,] 32 77
(A10 <- matrix(c(2, 5, 3, 7), 2))
## [,1] [,2]
## [1,] 2 3
## [2,] 5 7
(e2 <- matrix(0:1, 2))
## [,1]
## [1,] 0
## [2,] 1
t(e2) %*% A10
## [,1] [,2]
## [1,] 5 7
A10[2, ]
## [1] 5 7
A10 %*% e2
## [,1]
## [1,] 3
## [2,] 7
A10[, 2, drop = FALSE]
## [,1]
## [1,] 3
## [2,] 7
(one.4 <- matrix(rep(1, 4), 4))
## [,1]
## [1,] 1
## [2,] 1
## [3,] 1
## [4,] 1
(x11 <- matrix(c(3, 6, 8, -2), 4))
## [,1]
## [1,] 3
## [2,] 6
## [3,] 8
## [4,] -2
t(one.4) %*% x11
## [,1]
## [1,] 15
t(x11) %*% one.4
## [,1]
## [1,] 15
(one.3 <- matrix(rep(1, 3), 3))
## [,1]
## [1,] 1
## [2,] 1
## [3,] 1
(X12 <- matrix(c(2, -5, 4, -1, -3, 5), 3))
## [,1] [,2]
## [1,] 2 -1
## [2,] -5 -3
## [3,] 4 5
t(one.3) %*% X12
## [,1] [,2]
## [1,] 1 1
(A13 <- matrix(c(1, 2, -1, 2, 4, -2, 5, 10, -5), 3))
## [,1] [,2] [,3]
## [1,] 1 2 5
## [2,] 2 4 10
## [3,] -1 -2 -5
(B13 <- matrix(c(1, 0, 0, 0, 0, 1, 0, 0, 3, 2, -1, 0, 5, -4, 0, 1), 4))
## [,1] [,2] [,3] [,4]
## [1,] 1 0 3 5
## [2,] 0 1 2 -4
## [3,] 0 0 -1 0
## [4,] 0 0 0 1
A13 %*% A13
## [,1] [,2] [,3]
## [1,] 0 0 0
## [2,] 0 0 0
## [3,] 0 0 0
B13 %*% B13
## [,1] [,2] [,3] [,4]
## [1,] 1 0 0 10
## [2,] 0 1 0 -8
## [3,] 0 0 1 0
## [4,] 0 0 0 1
x14 <- c(2, 4, 3, 1)
# norm(x14, "F")
norm(matrix(x14, 4), "F")
## [1] 5.477226
x14^2
## [1] 4 16 9 1
sum(x14^2)
## [1] 30
sqrt(sum(x14^2))
## [1] 5.477226
(x15 <- c(1, 2, 2, 4))
## [1] 1 2 2 4
(y15 <- c(6, 3, -2, -2))
## [1] 6 3 -2 -2
x15 %*% y15
## [,1]
## [1,] 0
(u16 <- 1/6*c(1, 1, 3, 3, 4))
## [1] 0.1666667 0.1666667 0.5000000 0.5000000 0.6666667
(v16 <- c(-0.1, -0.9, -0.1, -0.1, 0.4))
## [1] -0.1 -0.9 -0.1 -0.1 0.4
u16 %*% u16
## [,1]
## [1,] 1
v16 %*% v16
## [,1]
## [1,] 1
u16 %*% v16
## [,1]
## [1,] 0
(P17 <- matrix(c(1, 0, 0, 1, 0, 0), 2))
## [,1] [,2] [,3]
## [1,] 1 0 0
## [2,] 0 1 0
P17 %*% t(P17)
## [,1] [,2]
## [1,] 1 0
## [2,] 0 1
t(P17) %*% P17
## [,1] [,2] [,3]
## [1,] 1 0 0
## [2,] 0 1 0
## [3,] 0 0 0
(P18 <- 1/sqrt(6)*matrix(c(sqrt(2), sqrt(3), 1, sqrt(2), -sqrt(3), 1, sqrt(2), 0, -2), 3))
## [,1] [,2] [,3]
## [1,] 0.5773503 0.5773503 0.5773503
## [2,] 0.7071068 -0.7071068 0.0000000
## [3,] 0.4082483 0.4082483 -0.8164966
round(t(P18) %*% P18, digits=5)
## [,1] [,2] [,3]
## [1,] 1 0 0
## [2,] 0 1 0
## [3,] 0 0 1
P18 %*% t(P18)
## [,1] [,2] [,3]
## [1,] 1 0 0
## [2,] 0 1 0
## [3,] 0 0 1
\(x\ne0\)인 모든 벡터 \(x\)에 대하여 \(x^tA\ x > 0\)일 때 행렬 \(A\)는 양정치 행렬.
save.image("chapter_3_class.rda")