source("adjoint.R")
ls()
## [1] "adjoint" "cofactor" "minor"
source("adjoint.R")
A <- matrix(c(0, 0, 0, 5, 0, 0, 4, 0, 0, 7, 0, 0, 3, 0, 0, 0), 4)
det(A)
## [1] 420
adjoint(A)
## [,1] [,2] [,3] [,4]
## [1,] 0 0 0 84
## [2,] 0 0 105 0
## [3,] 0 60 0 0
## [4,] 140 0 0 0
adjoint(A)/det(A)
## [,1] [,2] [,3] [,4]
## [1,] 0.0000000 0.0000000 0.00 0.2
## [2,] 0.0000000 0.0000000 0.25 0.0
## [3,] 0.0000000 0.1428571 0.00 0.0
## [4,] 0.3333333 0.0000000 0.00 0.0
solve(A)
## [,1] [,2] [,3] [,4]
## [1,] 0.0000000 0.0000000 0.00 0.2
## [2,] 0.0000000 0.0000000 0.25 0.0
## [3,] 0.0000000 0.1428571 0.00 0.0
## [4,] 0.3333333 0.0000000 0.00 0.0
B <- matrix(c(1, 0, 0, 0, 0, 1, 0, 0, 6, 5, -1, 0, 8, 4, 0, -1), 4)
det(B)
## [1] 1
B %*% B
## [,1] [,2] [,3] [,4]
## [1,] 1 0 0 0
## [2,] 0 1 0 0
## [3,] 0 0 1 0
## [4,] 0 0 0 1
adjoint(B)
## [,1] [,2] [,3] [,4]
## [1,] 1 0 6 8
## [2,] 0 1 5 4
## [3,] 0 0 -1 0
## [4,] 0 0 0 -1
solve(B)
## [,1] [,2] [,3] [,4]
## [1,] 1 0 6 8
## [2,] 0 1 5 4
## [3,] 0 0 -1 0
## [4,] 0 0 0 -1
\(\frac{1}{adf}\begin{bmatrix}df&-bf&be-cd\\0&af&-ae\\0&0&ad\end{bmatrix}\)
(A2 <- matrix(c(6, 2, 1, -1, 5, 1, 4, -3, 2), 3))
## [,1] [,2] [,3]
## [1,] 6 -1 4
## [2,] 2 5 -3
## [3,] 1 1 2
t(A2)
## [,1] [,2] [,3]
## [1,] 6 2 1
## [2,] -1 5 1
## [3,] 4 -3 2
det(A2)
## [1] 73
adjoint(A2)
## [,1] [,2] [,3]
## [1,] 13 6 -17
## [2,] -7 8 26
## [3,] -3 -7 32
adjoint(A2)/det(A2)
## [,1] [,2] [,3]
## [1,] 0.17808219 0.08219178 -0.2328767
## [2,] -0.09589041 0.10958904 0.3561644
## [3,] -0.04109589 -0.09589041 0.4383562
solve(t(A2))
## [,1] [,2] [,3]
## [1,] 0.17808219 -0.09589041 -0.04109589
## [2,] 0.08219178 0.10958904 -0.09589041
## [3,] -0.23287671 0.35616438 0.43835616
t(solve(A2))
## [,1] [,2] [,3]
## [1,] 0.17808219 -0.09589041 -0.04109589
## [2,] 0.08219178 0.10958904 -0.09589041
## [3,] -0.23287671 0.35616438 0.43835616
solve(solve(A2))
## [,1] [,2] [,3]
## [1,] 6 -1 4
## [2,] 2 5 -3
## [3,] 1 1 2
(A3 <- matrix(c(3, -1, 1, 4, -1, -7, -2, 3, -1), 3))
## [,1] [,2] [,3]
## [1,] 3 4 -2
## [2,] -1 -1 3
## [3,] 1 -7 -1
(b3 <- c(4, 6, -2))
## [1] 4 6 -2
det(A3)
## [1] 58
adjoint(A3)
## [,1] [,2] [,3]
## [1,] 22 18 10
## [2,] 2 -1 -7
## [3,] 8 25 1
adjoint(A3)/det(A3)
## [,1] [,2] [,3]
## [1,] 0.37931034 0.31034483 0.17241379
## [2,] 0.03448276 -0.01724138 -0.12068966
## [3,] 0.13793103 0.43103448 0.01724138
(adjoint(A3)/det(A3)) %*% b3
## [,1]
## [1,] 3.0344828
## [2,] 0.2758621
## [3,] 3.1034483
solve(A3) %*% b3
## [,1]
## [1,] 3.0344828
## [2,] 0.2758621
## [3,] 3.1034483
solve(A3, b3)
## [1] 3.0344828 0.2758621 3.1034483
(A4 <- matrix(c(-3, 1, -2, 4, 0, -3, 0, 7, -8), 3))
## [,1] [,2] [,3]
## [1,] -3 4 0
## [2,] 1 0 7
## [3,] -2 -3 -8
(b4 <- c(2, -8, -11))
## [1] 2 -8 -11
det(A4)
## [1] -87
adjoint(A4)
## [,1] [,2] [,3]
## [1,] 21 32 28
## [2,] -6 24 21
## [3,] -3 -17 -4
adjoint(A4)/det(A4)
## [,1] [,2] [,3]
## [1,] -0.24137931 -0.3678161 -0.32183908
## [2,] 0.06896552 -0.2758621 -0.24137931
## [3,] 0.03448276 0.1954023 0.04597701
(adjoint(A4)/det(A4)) %*% b4
## [,1]
## [1,] 6
## [2,] 5
## [3,] -2
solve(A4) %*% b4
## [,1]
## [1,] 6
## [2,] 5
## [3,] -2
solve(A4, b4)
## [1] 6 5 -2
(A5 <- matrix(c(2, 0, 0, 0, 0, 8, 0, 0, 8, 0, 4, 0, -1, -3, 3/2, 3/8), 4))
## [,1] [,2] [,3] [,4]
## [1,] 2 0 8 -1.000
## [2,] 0 8 0 -3.000
## [3,] 0 0 4 1.500
## [4,] 0 0 0 0.375
(b5 <- c(0, -4, 42, 7.5))
## [1] 0.0 -4.0 42.0 7.5
det(A5)
## [1] 24
adjoint(A5)
## [,1] [,2] [,3] [,4]
## [1,] 12 0 -24 128
## [2,] 0 3 0 24
## [3,] 0 0 6 -24
## [4,] 0 0 0 64
adjoint(A5)/det(A5)
## [,1] [,2] [,3] [,4]
## [1,] 0.5 0.000 -1.00 5.333333
## [2,] 0.0 0.125 0.00 1.000000
## [3,] 0.0 0.000 0.25 -1.000000
## [4,] 0.0 0.000 0.00 2.666667
(adjoint(A5)/det(A5)) %*% b5
## [,1]
## [1,] -2
## [2,] 7
## [3,] 3
## [4,] 20
solve(A5) %*% b5
## [,1]
## [1,] -2
## [2,] 7
## [3,] 3
## [4,] 20
solve(A5, b5)
## [1] -2 7 3 20
(A6 <- matrix(c(1, 4, 5, 3, -1, 2, -1, 2, 1), 3))
## [,1] [,2] [,3]
## [1,] 1 3 -1
## [2,] 4 -1 2
## [3,] 5 2 1
(b6 <- c(7, 8.5, 10))
## [1] 7.0 8.5 10.0
det(A6)
## [1] 0
# adjoint(A6)
# adjoint(A6) %*% matrix(b6, ncol = 1)
# adjoint(A6) %*% matrix(b6, ncol = 1)/det(A6)
# solve(A6) %*% matrix(b6, ncol = 1)
# solve(A6, b6)
(A7 <- matrix(c(1, 2, 0, -4, 7, 1, 1, 0, 0), 3))
## [,1] [,2] [,3]
## [1,] 1 -4 1
## [2,] 2 7 0
## [3,] 0 1 0
det(A7)
## [1] 2
adjoint(A7)
## [,1] [,2] [,3]
## [1,] 0 1 -7
## [2,] 0 0 2
## [3,] 2 -1 15
solve(A7)
## [,1] [,2] [,3]
## [1,] 0 0.5 -3.5
## [2,] 0 0.0 1.0
## [3,] 1 -0.5 7.5
(A8 <- matrix(c(1/2, 1/4, 4, 1/4, 1/8, 0, 1/8, 0, 1), 3))
## [,1] [,2] [,3]
## [1,] 0.50 0.250 0.125
## [2,] 0.25 0.125 0.000
## [3,] 4.00 0.000 1.000
det(A8)
## [1] -0.0625
adjoint(A8)
## [,1] [,2] [,3]
## [1,] 0.125 -0.25 -0.015625
## [2,] -0.250 0.00 0.031250
## [3,] -0.500 1.00 0.000000
solve(A8)
## [,1] [,2] [,3]
## [1,] -2 4 0.25
## [2,] 4 0 -0.50
## [3,] 8 -16 0.00
(A9 <- matrix(c(1, 0, 1, 1, 1, 0, 0, 1, 1), 3))
## [,1] [,2] [,3]
## [1,] 1 1 0
## [2,] 0 1 1
## [3,] 1 0 1
det(A9)
## [1] 2
adjoint(A9)
## [,1] [,2] [,3]
## [1,] 1 -1 1
## [2,] 1 1 -1
## [3,] -1 1 1
solve(A9)
## [,1] [,2] [,3]
## [1,] 0.5 -0.5 0.5
## [2,] 0.5 0.5 -0.5
## [3,] -0.5 0.5 0.5
save.image("chapter_5_lab_II.rda")