veca = c(1,2,3)
veca
## [1] 1 2 3
\[\vec{c} = \begin{bmatrix} 9 \\ 7 \\ 6 \end{bmatrix}\]
vecc = c(9,7,6)
dim(vecc) = c(3,1)
vecc
## [,1]
## [1,] 9
## [2,] 7
## [3,] 6
t(veca)
## [,1] [,2] [,3]
## [1,] 1 2 3
t(t(veca))
## [,1]
## [1,] 1
## [2,] 2
## [3,] 3
The function t() takes the vector back to its original matrix, but if you use it twice, it takes the row and puts it into a column vector instead. 3 times would take it back to its original horizontal.
7*veca
## [1] 7 14 21
vecb = c(4,5,6)
veca+vecb
## [1] 5 7 9
\[x_1 - x_2 = 2 \\ 2x_1 + 2x_2 = 1\]
A = matrix(c(1,-1,2,2), nrow = 2, ncol = 2, byrow=TRUE)
A
## [,1] [,2]
## [1,] 1 -1
## [2,] 2 2
b = matrix(c(2,1), nrow = 2, ncol = 1, byrow=TRUE)
b
## [,1]
## [1,] 2
## [2,] 1
#install.packages("matlib")
library(matlib)
showEqn(A,b)
## 1*x1 - 1*x2 = 2
## 2*x1 + 2*x2 = 1
c( R(A), R(cbind(A,b)))
## [1] 2 2
all.equal( R(A), R(cbind(A,b)))
## [1] TRUE
plotEqn(A,b)
## x1 - 1*x2 = 2
## 2*x1 + 2*x2 = 1
all.equal(R(A), R(cbind(A,b)))
## [1] TRUE
solve(A,b)
## [,1]
## [1,] 1.25
## [2,] -0.75
\[2x_1 + x_2 - x_3 = 8 \\ 3x_1 + x_2 - 2x_3 = 11 \\ 2x_1 - x_2 - 2x_3 = 3 \]
B = matrix(c(2, 1, -1, 3, 1, -2,2, -1, -2), nrow = 3, ncol = 3, byrow=TRUE)
B
## [,1] [,2] [,3]
## [1,] 2 1 -1
## [2,] 3 1 -2
## [3,] 2 -1 -2
c = matrix(c(8,11,3), nrow=3, ncol=1, byrow=TRUE)
c
## [,1]
## [1,] 8
## [2,] 11
## [3,] 3
solve(B,c)
## [,1]
## [1,] 2
## [2,] 3
## [3,] -1
We get the same answer on Wolfram as we do in R, 2, 3, -1:
#plotEqn3d(B,c)
det(B)
## [1] -1
inv(B)
## [,1] [,2] [,3]
## [1,] 4 -3 1
## [2,] -2 2 -1
## [3,] 5 -4 1
BI = matrix(c(4, -3, 1, -2, 2, -1,5, -4, -1), nrow = 3, ncol = 3, byrow=TRUE)
BI
## [,1] [,2] [,3]
## [1,] 4 -3 1
## [2,] -2 2 -1
## [3,] 5 -4 -1
B
## [,1] [,2] [,3]
## [1,] 2 1 -1
## [2,] 3 1 -2
## [3,] 2 -1 -2
BI%*%B
## [,1] [,2] [,3]
## [1,] 1 0 0
## [2,] 0 1 0
## [3,] -4 2 5
B%*%BI
## [,1] [,2] [,3]
## [1,] 1 0 2
## [2,] 0 1 4
## [3,] 0 0 5