HELLO!

Teknik Informatika UIN MAULANA MALIK IBRAHIM MALANG Lalu Egiq Fahalik Anggara(220605110066) linier algebra by Prof. Dr. Suhartono, M.Kom

library(matlib)
## Warning: package 'matlib' was built under R version 4.2.3
A <-matrix(c(1,-2,-1,2,3,2,3,-2,1),nrow=3,ncol=3)
inv(A)
##             [,1]       [,2]       [,3]
## [1,]  0.58333333  0.3333333 -1.0833333
## [2,]  0.33333333  0.3333333 -0.3333333
## [3,] -0.08333333 -0.3333333  0.5833333
library(MASS)
fractions(inv(A))
##      [,1]   [,2]   [,3]  
## [1,]   7/12    1/3 -13/12
## [2,]    1/3    1/3   -1/3
## [3,]  -1/12   -1/3   7/12
library(matlib)
A <-matrix(c(1,-2,-1,2,3,2,3,-2,1),nrow=3,ncol=3)
solve(A)
##             [,1]       [,2]       [,3]
## [1,]  0.58333333  0.3333333 -1.0833333
## [2,]  0.33333333  0.3333333 -0.3333333
## [3,] -0.08333333 -0.3333333  0.5833333

In this section we define an elementary matrix which relates to one elementary row operation. Then we discuss how we can obtain the inverse of an inversible matrix using a sequence of elementary row operations. First we define an elementary matrix.

library(matlib)
A <- matrix(c(1, 3, 2, 1, 2, 5, -2, -3, 2, 2, -3, -3,
-4, -2, -1, 4), nrow = 4, ncol = 4, byrow=TRUE)
A
##      [,1] [,2] [,3] [,4]
## [1,]    1    3    2    1
## [2,]    2    5   -2   -3
## [3,]    2    2   -3   -3
## [4,]   -4   -2   -1    4
#Then we create a matrix M with the function diag():
M <- cbind(A, diag(4))
M
##      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8]
## [1,]    1    3    2    1    1    0    0    0
## [2,]    2    5   -2   -3    0    1    0    0
## [3,]    2    2   -3   -3    0    0    1    0
## [4,]   -4   -2   -1    4    0    0    0    1
#Now we upload the pracma package
library(pracma)
## Warning: package 'pracma' was built under R version 4.2.3
## 
## Attaching package: 'pracma'
## The following objects are masked from 'package:matlib':
## 
##     angle, inv
#Then call the rref() function
R <- rref(M)
#If you want to obtain the inverse of the matrix A, then we take the fifth, sixth, seventh and eighth columns of R.
Ainv <- R[, 5:8]
R
##      [,1] [,2] [,3] [,4]        [,5]       [,6]       [,7]        [,8]
## [1,]    1    0    0    0  0.58024691 -0.7037037  0.8641975 -0.02469136
## [2,]    0    1    0    0  0.04938272  0.2592593 -0.1604938  0.06172840
## [3,]    0    0    1    0 -0.14814815  0.2222222 -0.5185185 -0.18518519
## [4,]    0    0    0    1  0.56790123 -0.5185185  0.6543210  0.20987654
#To check if it is the inverse of the matrix A, we can use the inv() function to obtain the inverse of A:
Ainv
##             [,1]       [,2]       [,3]        [,4]
## [1,]  0.58024691 -0.7037037  0.8641975 -0.02469136
## [2,]  0.04938272  0.2592593 -0.1604938  0.06172840
## [3,] -0.14814815  0.2222222 -0.5185185 -0.18518519
## [4,]  0.56790123 -0.5185185  0.6543210  0.20987654

In R, the sample() function generates random integers(s) from a finite set. Using the sample() function create a 5×5 matrix with random numbers sampled from the interval between -100 and 100. The R code to create such a matrix is

A <- matrix(sample(-100:100, 25, replace=TRUE), 5, 5)
A
##      [,1] [,2] [,3] [,4] [,5]
## [1,]  -52  -57   34   98 -100
## [2,]   54   37  -99  -76  -65
## [3,]   38   91  -73  -88   30
## [4,]  -44  -71   -1   -9   25
## [5,]    3   81   84  -30   66

Practical Applications Now we solve the system of linear equations for the working example by using the rref function to compute the inverse of the coefficient matrix. Recall from the practical application in Section 1.4, we define the coefficient matrix for the original problem

A <- matrix(c(1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 0 ,
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
0 , 0 , 0 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 0 ,
0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 0 , 0 , 0 ,
0 , 0 , 0 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 , 0 ,
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 0 , 0 ,
0 , 0 , 0 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 ,
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 0 , 0 ,
0 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 ,
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 0 ,
0 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 0 ,
0 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 0 ,
0 , 0 , 0 , 0 , 0 , 1), nrow = 11, ncol = 18, byrow = TRUE)
A
##       [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13]
##  [1,]    1    1    1    1    1    1    1    1    1     0     0     0     0
##  [2,]    0    0    0    0    0    0    0    0    0     1     1     1     1
##  [3,]    1    0    0    0    0    0    0    0    0     1     0     0     0
##  [4,]    0    1    0    0    0    0    0    0    0     0     1     0     0
##  [5,]    0    0    1    0    0    0    0    0    0     0     0     1     0
##  [6,]    0    0    0    1    0    0    0    0    0     0     0     0     1
##  [7,]    0    0    0    0    1    0    0    0    0     0     0     0     0
##  [8,]    0    0    0    0    0    1    0    0    0     0     0     0     0
##  [9,]    0    0    0    0    0    0    1    0    0     0     0     0     0
## [10,]    0    0    0    0    0    0    0    1    0     0     0     0     0
## [11,]    0    0    0    0    0    0    0    0    1     0     0     0     0
##       [,14] [,15] [,16] [,17] [,18]
##  [1,]     0     0     0     0     0
##  [2,]     1     1     1     1     1
##  [3,]     0     0     0     0     0
##  [4,]     0     0     0     0     0
##  [5,]     0     0     0     0     0
##  [6,]     0     0     0     0     0
##  [7,]     1     0     0     0     0
##  [8,]     0     1     0     0     0
##  [9,]     0     0     1     0     0
## [10,]     0     0     0     1     0
## [11,]     0     0     0     0     1
#and we write the right hand side in R:
b <- c(1298, 1948, 465, 605, 451, 338, 260, 183, 282, 127, 535)
b
##  [1] 1298 1948  465  605  451  338  260  183  282  127  535
#First we create the augmented matrix
C <- cbind(A, b)
C
##                                              b
##  [1,] 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 1298
##  [2,] 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1948
##  [3,] 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0  465
##  [4,] 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0  605
##  [5,] 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0  451
##  [6,] 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0  338
##  [7,] 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0  260
##  [8,] 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0  183
##  [9,] 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0  282
## [10,] 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0  127
## [11,] 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1  535
library(pracma)
E <- rref(C)
#E is the reduced echelon form of the augmented matrix.
E
##                                                       b
##  [1,] 1 0 0 0 0 0 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1483
##  [2,] 0 1 0 0 0 0 0 0 0 0  1  0  0  0  0  0  0  0   605
##  [3,] 0 0 1 0 0 0 0 0 0 0  0  1  0  0  0  0  0  0   451
##  [4,] 0 0 0 1 0 0 0 0 0 0  0  0  1  0  0  0  0  0   338
##  [5,] 0 0 0 0 1 0 0 0 0 0  0  0  0  1  0  0  0  0   260
##  [6,] 0 0 0 0 0 1 0 0 0 0  0  0  0  0  1  0  0  0   183
##  [7,] 0 0 0 0 0 0 1 0 0 0  0  0  0  0  0  1  0  0   282
##  [8,] 0 0 0 0 0 0 0 1 0 0  0  0  0  0  0  0  1  0   127
##  [9,] 0 0 0 0 0 0 0 0 1 0  0  0  0  0  0  0  0  1   535
## [10,] 0 0 0 0 0 0 0 0 0 1  1  1  1  1  1  1  1  1  1948
## [11,] 0 0 0 0 0 0 0 0 0 0  0  0  0  0  0  0  0  0     0
#Since the last row of this matrix has all zeros, we remove the last row vector.
E <- E[-11,]
E
##                                                       b
##  [1,] 1 0 0 0 0 0 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1483
##  [2,] 0 1 0 0 0 0 0 0 0 0  1  0  0  0  0  0  0  0   605
##  [3,] 0 0 1 0 0 0 0 0 0 0  0  1  0  0  0  0  0  0   451
##  [4,] 0 0 0 1 0 0 0 0 0 0  0  0  1  0  0  0  0  0   338
##  [5,] 0 0 0 0 1 0 0 0 0 0  0  0  0  1  0  0  0  0   260
##  [6,] 0 0 0 0 0 1 0 0 0 0  0  0  0  0  1  0  0  0   183
##  [7,] 0 0 0 0 0 0 1 0 0 0  0  0  0  0  0  1  0  0   282
##  [8,] 0 0 0 0 0 0 0 1 0 0  0  0  0  0  0  0  1  0   127
##  [9,] 0 0 0 0 0 0 0 0 1 0  0  0  0  0  0  0  0  1   535
## [10,] 0 0 0 0 0 0 0 0 0 1  1  1  1  1  1  1  1  1  1948

As we did in the previous section, we obtain the augmented matrix for the new system of linear equations with additional equations: x11 = 266, x12 = 223, x13 = 140, x14 = 264, x15 = 137, x16 = 67, x17 = 130, x18 = 24.

G1 <- eye(8)
G2 <- matrix(rep(0, 80), 8, 10)
b2 <- c(266, 223, 140, 264, 137, 67, 130, 24)
G <- cbind(G1, G2, b2)
M <- rbind(E, G)
G1
##      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8]
## [1,]    1    0    0    0    0    0    0    0
## [2,]    0    1    0    0    0    0    0    0
## [3,]    0    0    1    0    0    0    0    0
## [4,]    0    0    0    1    0    0    0    0
## [5,]    0    0    0    0    1    0    0    0
## [6,]    0    0    0    0    0    1    0    0
## [7,]    0    0    0    0    0    0    1    0
## [8,]    0    0    0    0    0    0    0    1
G2
##      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
## [1,]    0    0    0    0    0    0    0    0    0     0
## [2,]    0    0    0    0    0    0    0    0    0     0
## [3,]    0    0    0    0    0    0    0    0    0     0
## [4,]    0    0    0    0    0    0    0    0    0     0
## [5,]    0    0    0    0    0    0    0    0    0     0
## [6,]    0    0    0    0    0    0    0    0    0     0
## [7,]    0    0    0    0    0    0    0    0    0     0
## [8,]    0    0    0    0    0    0    0    0    0     0
b2
## [1] 266 223 140 264 137  67 130  24
G
##                                           b2
## [1,] 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 266
## [2,] 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 223
## [3,] 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 140
## [4,] 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 264
## [5,] 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 137
## [6,] 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0  67
## [7,] 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 130
## [8,] 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0  24
M
##                                                       b
##  [1,] 1 0 0 0 0 0 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1483
##  [2,] 0 1 0 0 0 0 0 0 0 0  1  0  0  0  0  0  0  0   605
##  [3,] 0 0 1 0 0 0 0 0 0 0  0  1  0  0  0  0  0  0   451
##  [4,] 0 0 0 1 0 0 0 0 0 0  0  0  1  0  0  0  0  0   338
##  [5,] 0 0 0 0 1 0 0 0 0 0  0  0  0  1  0  0  0  0   260
##  [6,] 0 0 0 0 0 1 0 0 0 0  0  0  0  0  1  0  0  0   183
##  [7,] 0 0 0 0 0 0 1 0 0 0  0  0  0  0  0  1  0  0   282
##  [8,] 0 0 0 0 0 0 0 1 0 0  0  0  0  0  0  0  1  0   127
##  [9,] 0 0 0 0 0 0 0 0 1 0  0  0  0  0  0  0  0  1   535
## [10,] 0 0 0 0 0 0 0 0 0 1  1  1  1  1  1  1  1  1  1948
## [11,] 1 0 0 0 0 0 0 0 0 0  0  0  0  0  0  0  0  0   266
## [12,] 0 1 0 0 0 0 0 0 0 0  0  0  0  0  0  0  0  0   223
## [13,] 0 0 1 0 0 0 0 0 0 0  0  0  0  0  0  0  0  0   140
## [14,] 0 0 0 1 0 0 0 0 0 0  0  0  0  0  0  0  0  0   264
## [15,] 0 0 0 0 1 0 0 0 0 0  0  0  0  0  0  0  0  0   137
## [16,] 0 0 0 0 0 1 0 0 0 0  0  0  0  0  0  0  0  0    67
## [17,] 0 0 0 0 0 0 1 0 0 0  0  0  0  0  0  0  0  0   130
## [18,] 0 0 0 0 0 0 0 1 0 0  0  0  0  0  0  0  0  0    24

Note that the eye() function outputs the identity matrix. The command “M[, -19]” creates the coefficient matrix for the system of linear equations.

M2 <- M[,-19]
M2
##                                                  
##  [1,] 1 0 0 0 0 0 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1
##  [2,] 0 1 0 0 0 0 0 0 0 0  1  0  0  0  0  0  0  0
##  [3,] 0 0 1 0 0 0 0 0 0 0  0  1  0  0  0  0  0  0
##  [4,] 0 0 0 1 0 0 0 0 0 0  0  0  1  0  0  0  0  0
##  [5,] 0 0 0 0 1 0 0 0 0 0  0  0  0  1  0  0  0  0
##  [6,] 0 0 0 0 0 1 0 0 0 0  0  0  0  0  1  0  0  0
##  [7,] 0 0 0 0 0 0 1 0 0 0  0  0  0  0  0  1  0  0
##  [8,] 0 0 0 0 0 0 0 1 0 0  0  0  0  0  0  0  1  0
##  [9,] 0 0 0 0 0 0 0 0 1 0  0  0  0  0  0  0  0  1
## [10,] 0 0 0 0 0 0 0 0 0 1  1  1  1  1  1  1  1  1
## [11,] 1 0 0 0 0 0 0 0 0 0  0  0  0  0  0  0  0  0
## [12,] 0 1 0 0 0 0 0 0 0 0  0  0  0  0  0  0  0  0
## [13,] 0 0 1 0 0 0 0 0 0 0  0  0  0  0  0  0  0  0
## [14,] 0 0 0 1 0 0 0 0 0 0  0  0  0  0  0  0  0  0
## [15,] 0 0 0 0 1 0 0 0 0 0  0  0  0  0  0  0  0  0
## [16,] 0 0 0 0 0 1 0 0 0 0  0  0  0  0  0  0  0  0
## [17,] 0 0 0 0 0 0 1 0 0 0  0  0  0  0  0  0  0  0
## [18,] 0 0 0 0 0 0 0 1 0 0  0  0  0  0  0  0  0  0

Now we want to obtain the inverse of this matrix using the rref() function. Since this matrix is an 18 × 18 matrix, we add the identity matrix of size 18.

M3 <- cbind(M2, diag(18))
M4 <- rref(M3)
M3
##                                                                                
##  [1,] 1 0 0 0 0 0 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
##  [2,] 0 1 0 0 0 0 0 0 0 0  1  0  0  0  0  0  0  0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
##  [3,] 0 0 1 0 0 0 0 0 0 0  0  1  0  0  0  0  0  0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
##  [4,] 0 0 0 1 0 0 0 0 0 0  0  0  1  0  0  0  0  0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
##  [5,] 0 0 0 0 1 0 0 0 0 0  0  0  0  1  0  0  0  0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
##  [6,] 0 0 0 0 0 1 0 0 0 0  0  0  0  0  1  0  0  0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
##  [7,] 0 0 0 0 0 0 1 0 0 0  0  0  0  0  0  1  0  0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
##  [8,] 0 0 0 0 0 0 0 1 0 0  0  0  0  0  0  0  1  0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
##  [9,] 0 0 0 0 0 0 0 0 1 0  0  0  0  0  0  0  0  1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
## [10,] 0 0 0 0 0 0 0 0 0 1  1  1  1  1  1  1  1  1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0
## [11,] 1 0 0 0 0 0 0 0 0 0  0  0  0  0  0  0  0  0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
## [12,] 0 1 0 0 0 0 0 0 0 0  0  0  0  0  0  0  0  0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
## [13,] 0 0 1 0 0 0 0 0 0 0  0  0  0  0  0  0  0  0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
## [14,] 0 0 0 1 0 0 0 0 0 0  0  0  0  0  0  0  0  0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0
## [15,] 0 0 0 0 1 0 0 0 0 0  0  0  0  0  0  0  0  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
## [16,] 0 0 0 0 0 1 0 0 0 0  0  0  0  0  0  0  0  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
## [17,] 0 0 0 0 0 0 1 0 0 0  0  0  0  0  0  0  0  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
## [18,] 0 0 0 0 0 0 0 1 0 0  0  0  0  0  0  0  0  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
##            
##  [1,] 0 0 0
##  [2,] 0 0 0
##  [3,] 0 0 0
##  [4,] 0 0 0
##  [5,] 0 0 0
##  [6,] 0 0 0
##  [7,] 0 0 0
##  [8,] 0 0 0
##  [9,] 0 0 0
## [10,] 0 0 0
## [11,] 0 0 0
## [12,] 0 0 0
## [13,] 0 0 0
## [14,] 0 0 0
## [15,] 0 0 0
## [16,] 1 0 0
## [17,] 0 1 0
## [18,] 0 0 1
M4
##                                                                               
##  [1,] 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0  0  0  0  0  0  0  0  0 0 0  1  0  0
##  [2,] 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0  0  0  0  0  0  0  0  0 0 0  0  1  0
##  [3,] 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0  0  0  0  0  0  0  0  0 0 0  0  0  1
##  [4,] 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0  0  0  0  0  0  0  0  0 0 0  0  0  0
##  [5,] 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0  0  0  0  0  0  0  0  0 0 0  0  0  0
##  [6,] 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0  0  0  0  0  0  0  0  0 0 0  0  0  0
##  [7,] 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0  0  0  0  0  0  0  0  0 0 0  0  0  0
##  [8,] 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0  0  0  0  0  0  0  0  0 0 0  0  0  0
##  [9,] 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0  1  1  1  1  1  1  1  1 1 0 -1 -1 -1
## [10,] 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0  1  0  0  0  0  0  0  0 0 1 -1  0  0
## [11,] 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0  0  1  0  0  0  0  0  0 0 0  0 -1  0
## [12,] 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0  0  0  1  0  0  0  0  0 0 0  0  0 -1
## [13,] 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0  0  0  0  1  0  0  0  0 0 0  0  0  0
## [14,] 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0  0  0  0  0  1  0  0  0 0 0  0  0  0
## [15,] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0  0  0  0  0  0  1  0  0 0 0  0  0  0
## [16,] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0  0  0  0  0  0  0  1  0 0 0  0  0  0
## [17,] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0  0  0  0  0  0  0  0  1 0 0  0  0  0
## [18,] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 -1 -1 -1 -1 -1 -1 -1 -1 0 0  1  1  1
##                     
##  [1,]  0  0  0  0  0
##  [2,]  0  0  0  0  0
##  [3,]  0  0  0  0  0
##  [4,]  1  0  0  0  0
##  [5,]  0  1  0  0  0
##  [6,]  0  0  1  0  0
##  [7,]  0  0  0  1  0
##  [8,]  0  0  0  0  1
##  [9,] -1 -1 -1 -1 -1
## [10,]  0  0  0  0  0
## [11,]  0  0  0  0  0
## [12,]  0  0  0  0  0
## [13,] -1  0  0  0  0
## [14,]  0 -1  0  0  0
## [15,]  0  0 -1  0  0
## [16,]  0  0  0 -1  0
## [17,]  0  0  0  0 -1
## [18,]  1  1  1  1  1

Note that the 19th column vector to the 36th column vector form the inverse of the matrix M2. Thus we have

Minv <- M4[, 19:36]
Minv
##                                                          
##  [1,]  0  0  0  0  0  0  0  0 0 0  1  0  0  0  0  0  0  0
##  [2,]  0  0  0  0  0  0  0  0 0 0  0  1  0  0  0  0  0  0
##  [3,]  0  0  0  0  0  0  0  0 0 0  0  0  1  0  0  0  0  0
##  [4,]  0  0  0  0  0  0  0  0 0 0  0  0  0  1  0  0  0  0
##  [5,]  0  0  0  0  0  0  0  0 0 0  0  0  0  0  1  0  0  0
##  [6,]  0  0  0  0  0  0  0  0 0 0  0  0  0  0  0  1  0  0
##  [7,]  0  0  0  0  0  0  0  0 0 0  0  0  0  0  0  0  1  0
##  [8,]  0  0  0  0  0  0  0  0 0 0  0  0  0  0  0  0  0  1
##  [9,]  1  1  1  1  1  1  1  1 1 0 -1 -1 -1 -1 -1 -1 -1 -1
## [10,]  1  0  0  0  0  0  0  0 0 1 -1  0  0  0  0  0  0  0
## [11,]  0  1  0  0  0  0  0  0 0 0  0 -1  0  0  0  0  0  0
## [12,]  0  0  1  0  0  0  0  0 0 0  0  0 -1  0  0  0  0  0
## [13,]  0  0  0  1  0  0  0  0 0 0  0  0  0 -1  0  0  0  0
## [14,]  0  0  0  0  1  0  0  0 0 0  0  0  0  0 -1  0  0  0
## [15,]  0  0  0  0  0  1  0  0 0 0  0  0  0  0  0 -1  0  0
## [16,]  0  0  0  0  0  0  1  0 0 0  0  0  0  0  0  0 -1  0
## [17,]  0  0  0  0  0  0  0  1 0 0  0  0  0  0  0  0  0 -1
## [18,] -1 -1 -1 -1 -1 -1 -1 -1 0 0  1  1  1  1  1  1  1  1
Minv %*% M[,19]
##       [,1]
##  [1,]  266
##  [2,]  223
##  [3,]  140
##  [4,]  264
##  [5,]  137
##  [6,]   67
##  [7,]  130
##  [8,]   24
##  [9,]   47
## [10,]  199
## [11,]  382
## [12,]  311
## [13,]   74
## [14,]  123
## [15,]  116
## [16,]  152
## [17,]  103
## [18,]  488
#where “M[,19]” is the vector for the right hand side of the system of linear equations. R outputs the solution as

daftar pustaka : https://www.math.uh.edu/~jmorgan/Math6397/day13/LinearAlgebraR-Handout.pdf