강의영상

행렬과 연립일차방정식

- 예를들어 아래와 같은 문제가 있다고 하자.

$\begin{cases} w+2x+3y+4z=1 \\ 2w+2x+y=9 \\ x-y=4 \\ 3w+x-y+3y=7 \end{cases}$

- 매트릭스 형태로 위의 식을 표현하면 아래와 같다.

$\begin{bmatrix} 1 & 2 & 3 & 4 \\ 2 & 2 & 1 & 0 \\ 0 & 1 &-1 & 0 \\ 3 & 1 &-1 & 3 \end{bmatrix} \begin{bmatrix} w \\ x \\ y \\z \end{bmatrix}=\begin{bmatrix} 1 \\ 9 \\ 4 \\7 \end{bmatrix}$

- 양변에

$\begin{bmatrix} 1 & 2 & 3 & 4 \\ 2 & 2 & 1 & 0 \\ 0 & 1 &-1 & 0 \\ 3 & 1 &-1 & 3 \end{bmatrix}$

의 역행렬을 취하면

$\begin{bmatrix} w \\ x \\ y \\z \end{bmatrix}=\begin{bmatrix} 1 & 2 & 3 & 4 \\ 2 & 2 & 1 & 0 \\ 0 & 1 &-1 & 0 \\ 3 & 1 &-1 & 3 \end{bmatrix}^{-1}\begin{bmatrix} 1 \\ 9 \\ 4 \\7 \end{bmatrix}$

R로 구현

- 방법1

A=rbind(c(1,2,3,4),c(2,2,1,0),c(0,1,-1,0),c(3,1,-1,3))
A
     [,1] [,2] [,3] [,4]
[1,] 1    2     3   4   
[2,] 2    2     1   0   
[3,] 0    1    -1   0   
[4,] 3    1    -1   3   
b=c(1,9,4,7)
dim(b)=c(4,1)
b
     [,1]
[1,] 1   
[2,] 9   
[3,] 4   
[4,] 7   
solve(A) %*% b
     [,1]
[1,]  2  
[2,]  3  
[3,] -1  
[4,] -1  
  • solve(A): $A^{-1}$
  • %*% : 매트릭스의 곱셈을 해주는 연산자.

따라서 $(w,x,y,z)=(2,3,-1,-1)$ 이다.

- 방법2

A=rbind(c(1,2,3,4),c(2,2,1,0),c(0,1,-1,0),c(3,1,-1,3))
A
     [,1] [,2] [,3] [,4]
[1,] 1    2     3   4   
[2,] 2    2     1   0   
[3,] 0    1    -1   0   
[4,] 3    1    -1   3   
b=c(1,9,4,7)
b
[1] 1 9 4 7
solve(A)%*%b
     [,1]
[1,]  2  
[2,]  3  
[3,] -1  
[4,] -1