본문 바로가기
AI/Linear Algebra

[선형대수] 2일차 - 1차 연립방정식과 가우스 소거법 그리고 행렬곱

by jungcow 2023. 7. 6.

※ 이 글은 한양대학교 이상화교수님의 선형대수 유튜브 강의를 보며 정리한 글입니다. 잘못 이해한 부분이 있을 수도 있으니 많은 피드백 부탁드리겠습니다. 감사합니다. [유튜브 바로가기]

복습 내용

1.2 中 1차 연립방정식의 두가지 해석

  1. 직선들의 교점
  2. 미지수들을 각각 계수로 한 벡터들의 선형결합 - 평행사변형법을 이용하여 새로운 벡터를 생성하기 위한 각 벡터들에 곱해지는 계수들

학습할 내용

1.2 中 Singular Case

no solution과 infinite solutions에 해당하는 경우들을 말한다.

1.3 中 Triangular Matrix

diagonal element(대각 요소)들을 기준으로 위쪽이나 아래쪽이 전부 0인 행렬을 triangular matrix라고 한다.

$$
\begin{bmatrix}
1 &1 &1 \\
0 &2 &5 \\
0 &0 &8 \\
\end{bmatrix}
$$ 이와 같이 주대각선을 이루는 대각요소들(1, 2, 8) 기준으로 아래쪽이 전부 0이다. 이러한 행렬을 triangular matrix, 요소들이 주대각선 위에 전부 놓여져 있는 경우를 두고 upper triangular matrix라고 한다. 이와 비슷한 모양을 살펴보면,

$$
\begin{bmatrix}
1 &0 &0 \\
0 &3 &0 \\
1 &1 &5 \\
\end{bmatrix}
$$ 이와 같이 주대각선 기준으로 아래쪽에 요소들이 몰려 있는 경우를 lower triangular matrix라고 한다.

1.3 中 Gauss Eliminations

가우스 소거법의 방법과 의의, pivot, upper triangular matrix등을 배우고, breakdown에 해당하는 경우와 이에 따른 pivoting을 학습할 것이다.

1.3 中 Break Down과 Pivoting

가우스 소거법 과정 중에 pivot이 0이 되서 막히게 되는 경우가 존재한다. 이 경우를 break down이라고 한다. 예시를 봐보자.

$$
\begin{bmatrix}
1 &1 &1 &| &a \\
2 &2 &5 &| &b \\
4 &6 &8 &| &c \\
\end{bmatrix} \xrightarrow{G\cdot E} \begin{bmatrix}
1 &1 &1 &| &a \\
0 &0 &0 &| &b-2a \\
0 &2 &4 &| &c-4a \\
\end{bmatrix}
$$ 이와 같이 두번째 equation에서 두번째 pivot이 0이 되어 가우스 소거법이 막히게 되는 경우가 바로 break down에 해당한다. 이 경우에 두번째 식과 세번째 식을 교환하는 방법을 생각해볼 수 있다.

$$
\begin{bmatrix}
1 &1 &1 &| &a \\
0 &2 &4 &| &c-4a \\
0 &0 &0 &| &b-2a \\
\end{bmatrix}
$$ 이렇게 연립방정식을 이루는 equation의 순서를 바꿔주는 것을 pivoting이라고 한다.

1.4 中 Matrix notation과 Matrix Multiplication

위 가우스 소거법에선 column vector 등을 신경쓰지 않고 기계적으로 가우스소거법을 적용하는 예시들을 봤다. 이는 square matrix였기 때문임을 상기하고 여기서는 rectangular matrix에 대한 행렬곱을 살펴볼 것이다. 또한 이 행렬곱들의 notation(표기법)들을 살펴볼 것이다. 표기법으로는 sigma notation과 column vector notation을 볼 것이다.

1.4 中 Matrix A의 크기 표현법

$$
A_{m\times n}
$$ row의 개수가 m, column의 개수가 n인 행렬 A를 의미한다. 이를 구두로 말할 때는 m by n matrix A라고 말한다.

1.4 中 Matrix A의 요소 표기법

$$
A_{ij}
$$ 행렬 A의 i번째 row에서 j번째 column 요소를 나타낸다. vector와 같이 row나 column의 수가 1일 경우엔 아래첨자 하나만을 이용해 표기한다. (\(x_i\))

1.4 中 Matrix I와 E

Matrix E는 가우스 소거법 중 하나의 step에 해당하는 연산을 matrix로 나타낸 것이다. 이를 Elementary matrix라고 한다. 만약 가우스 소거법 중 3x3 행렬 A의 두 번째 row에서 첫 번째 row를 x3를 한 후 빼주는 단계가 있다고 해보자. 그럼 이 matrix E를 다음과 같이 쓸 수 있다.

$$
E = \begin{bmatrix}
1 &0 &0 \\
-3 &1 &0 \\
0 &0 &1
\end{bmatrix}
$$ 보통 이 matrix E를 \(E_{ij}\)로 표기하는데, 이는row j에 3을 곱하고 row i에서 빼는 것을 의미한다. 그럼 가우스 소거법의 첫번째 단계를 이 matrix E를 통해 나타내보자.

$$
b = \begin{bmatrix}
5 \\
-2 \\
9
\end{bmatrix}
$$ 일 때, 가우스 소거법의 첫번째 단계로써, 두 번째 행에서 첫번째 행에 2를 곱하여 빼는 연산을 수행한다면,

$$
b = \begin{bmatrix}
5 \\
-2 - (2 \times 5) \\
9
\end{bmatrix} = \begin{bmatrix}
5 \\
-12 \\
9
\end{bmatrix}
$$ 가 결과로 나온다. 그럼 위에서 살펴본 Elementary matrix를 적용해보자. 일단 곱해지는 행렬은 1이고, 곱하는 수는 2이다. 또한 두 번째 행으로부터 뺄셈을 수행하므로 Elementary matrix는 \(E_{21} = \begin{bmatrix}1 &0 &0 \\
-2 &1 &0 \\
0 &0 &1\end{bmatrix}\) 이 된다. 이를 열 벡터 b에 적용하면 다음의 결과를 얻는다.

$$
E_{21}b = \begin{bmatrix}1 &0 &0 \\
-2 &1 &0 \\
0 &0 &1\end{bmatrix}
b = \begin{bmatrix}
5 \\
-2 - (2 \times 5) \\
9
\end{bmatrix} = \begin{bmatrix}
5 \\
-12 \\
9
\end{bmatrix}
$$ 즉, 이 Elementary matrix를 이용해서 가우스 소거법의 한 step에 대한 연산을 수행할 수 있음을 알 수 있다.

matrix I(항등행렬)은 x1(multiplying by 1)의 의미를 지닌다.

1.4 中 행렬곱

행렬 A와 행렬 B의 곱에 의해 나오는 결과에서 3번째 row, 2번째 column에 해당하는 요소의 값은 아래와 같이 구할 수 있다.

$$
(AB)_{32} = a_{31}b_{12} + a_{32}b_{22} + a_{33}b_{32} + a_{34}b_{42}
$$ 위 계산식은 행렬 A의 3번째 row와 행렬 B의 2번째 column 간의 내적(inner product)과 같다.

1.4 中 행렬곱과 내적

행렬 A와 vector x의 곱 Ax를 생각해보자.

$$
A = \begin{bmatrix}
2 &1 &1 \\
4 &-6 &0 \\
-2 &7 &2
\end{bmatrix},\quad
x = \begin{bmatrix}
1 \\
2 \\
2
\end{bmatrix}
$$ 일 때, Ax는 다음과 같이 구할 수 있다.

$$
\begin{bmatrix}
2 &1 &1
\end{bmatrix} \begin{bmatrix}
1 \\
2 \\
2 \end{bmatrix} = [2 \cdot 1 + 1 \cdot 1 + 1 \cdot 2] = [5]
$$ 이 과정을 행렬 A의 3번째 row까지 모두 수행하게 되면 결과는 \(\begin{bmatrix}5 &-2 &9\end{bmatrix}\) 와 같이 나온다.

즉, 행렬 A의 각 행과 열 벡터 x간의 내적에 의해 Ax의 결과를 구할 수 있으며, 내적의 표현은 위와 같이 나타낼 수 있다는 것도 알게 되었다. 즉, 내적은 행 벡터와 열벡터간의 곱으로 표현한다.

$$
\begin{bmatrix}u_1 &v_1 &w_1\end{bmatrix}
\begin{bmatrix}u_2 \\ v_2 \\ w_2\end{bmatrix}
$$ 여기서 또 간단히 알 수 있는 것은, 벡터를 행렬의 특별한 경우, 즉 column이나 row가 하나뿐인 행렬로 간주할 수 있다는 것이다.

1.4 中 AB? BA?

행렬 A에 B를 곱한다는 표현을 할 때 어떤 수식을 사용해야 맞는 것일까? 앞에서 기본행렬(Elementary matrix)을 이용해 가우스 소거법의 한 step을 수행했을 때는 Eb와 같이 앞에 E를 붙히는 방식으로 표기했다. 하지만 이렇게 소거와 관련이 없는 행렬은 보통 뒤에 붙힌다고 한다. 소거와 관련된 행렬로 나중에 PALU, LDU 등을 살펴볼 것이다.

1.4 中 행렬곱의 성질

행렬 곱이 만족하는 성질은 다음과 같다.

  1. 결합 법칙 : \((AB)C = A(BC) = ABC\)
  2. 분배 법칙 : \(A(B + C) = AB + AC, (B + C)D = BD + CD\)

행렬곱이 만족하지 않는 성질은 다음과 같다.

  • 교환법칙 : \(FE \ne EF\)

1.4 中 행렬곱을 관찰하는 3가지 방법

  1. \((AB)_{ij}\) : (A의 i번째 행) 곱하기 (B의 j번째 열)
  2. \(AB\)의 j번째 열 : A 곱하기 (B의 j번째 열)
  3. \(AB\)의 i번째 행 : (A의 i번째 행) 곱하기 B

행렬곱을 관찰하는 4번째 방법? (chapter 1.4 중 problem set#19)
4. 행렬 A의 열 곱하기 행렬 B의 행
예)
$$
\begin{aligned}
&\text{if}\ A = \begin{bmatrix}1 &2\\
3 &4\end{bmatrix} \quad \text{and} \quad
B = \begin{bmatrix}1 &0\\
0 &1\end{bmatrix}, \newline
&AB = \begin{bmatrix}1 \\ 3 \end{bmatrix}
\begin{bmatrix}1 &0\end{bmatrix} + \begin{bmatrix}2 \\ 4 \end{bmatrix}
\begin{bmatrix}0 &1\end{bmatrix} \newline
&= \begin{bmatrix}1 &0\\
3 &0\end{bmatrix} + \begin{bmatrix}0 &2\\
0 &4\end{bmatrix} = \begin{bmatrix}1 &2\\
3 &4\end{bmatrix}
\end{aligned}
$$

1.4 中 Elementary Matrix의 교환법칙?

$$
E = \begin{bmatrix}
1 &0 &0 \\
-2 &1 &0 \\
0 &0 &1
\end{bmatrix}, \quad F = \begin{bmatrix}
1 &0 &0 \\
0 &1 &0 \\
1 &0 &1
\end{bmatrix}
$$ 일 때, EF = FE 가 성립한다. 하지만 이러한 소거 연산을 담당하는 elementary matrix가 교환법칙이 성립한다고 말할 수 있을까? 다음을 봐보자.

$$
G = \begin{bmatrix}
1 &0 &0 \\
0 &1 &0 \\
0 &1 &1
\end{bmatrix}
$$ 이고, E는 위와 동일하다면, GE = EG가 성립하지 않는다. 이유는 연산 과정에 있다. 가우스 소거법의 하나의 step을 담당하는 역할이라는 관점으로 과정을 살펴보자. 먼저 소거 행렬 E를 어느 3x3 행렬 A에 적용한 후에 소거 행렬 G를 적용한다고 해보자.

소거 행렬 G를 먼저 어느 3x3 행렬 A에 적용한 후에 소거 행렬 E를 적용한다고 해보자.

  • 행렬 E : 행렬 A의 첫번째 행에 2를 곱하고 두번째 행에서 뺀다.
  • 행렬 G : 행렬 A의 두번째 행을 세 번째 행에 더한다.

행렬 E를 행렬 A에 적용한다면, 이 결과로 EA의 두번째 행이 행렬 A와 달라지게 된다. 이 후에 행렬 G를 적용할 때, 이 달라진 두번째 행을 세번째 행에 더하게 된다. 하지만 적용 순서를 반대로 해보면 어떨까?

  • 행렬 G : 행렬 A의 두번째 행을 세 번째 행에 더한다.
  • 행렬 E : 행렬 A의 첫번째 행에 2를 곱하고 두번째 행에서 뺀다.

행렬 G를 행렬 A에 적용하면, GA의 세번째 행이 행렬 A와 달라지게 된다. 이후 행렬 E를 적용하면, 행렬 GA의 첫번째 행에 2를 곱하여 두번째 행에서 빼게 된다. 여기서 사용된 GA의 첫번째 행과 두번째 행은 행렬 G를 적용하기 전 행렬 A와 달라지지 않은 행들이다.

이러한 특징으로 행렬 GE와 행렬 EG는 결과가 달라지게 된다. 위의 EFFE가 같은 것과 GEEG가 같이 않은데에는 이유가 있다. 이 이유는 다음 행렬 L(Lower Triangular Matrix)를 살펴보면서 알아본다고 한다.

1.4 中 이 소거행렬들의 곱의 의미

$$
A = \begin{bmatrix}
2 &1 &1 \\
4 &-6 &0 \\
-2 &7 &2
\end{bmatrix}
$$ 이와 같은 3x3 행렬 A에 대해 소거 행렬 E, F, G들을 살펴보자.

$$
E = \begin{bmatrix}
1 &0 &0 \\
-2 &1 &0 \\
0 &0 &1
\end{bmatrix}, \quad F = \begin{bmatrix}
1 &0 &0 \\
0 &1 &0 \\
1 &0 &1
\end{bmatrix}
$$ 이 E와 F의 곱 EF 또는 FE는 각각의 소거 연산을 동시에 수행하는 것과 동일한 기능을 수행하게 된다.

$$
EF = FE = \begin{bmatrix}
1 &0 &0 \\
-2 &1 &0 \\
1 &0 &1
\end{bmatrix}
$$ 그러면 GEEG를 살펴보자.

$$
GE = \begin{bmatrix}
1 &0 &0 \\
-2 &1 &0 \\
-2 &1 &1
\end{bmatrix}, \quad EG = \begin{bmatrix}
1 &0 &0 \\
-2 &1 &0 \\
0 &1 &1
\end{bmatrix}
$$ 이들의 곱은 어떠한 것도 가우스 소거법에서의 의미가 없다.

위 세개의 소거 행렬의 곱(GFE)을 살펴보는 것도 의미가 있는데, 아래 식을 봐보자.

$$
GFE = \begin{bmatrix}
1 &0 &0 \\
-2 &1 &0 \\
-1 &1 &1
\end{bmatrix}
$$ 이 순서로의 곱이 가우스 소거법에서 3가지 소거 연산을 동시에 수행한 것과 같다고 한다. 이는 위 행렬 A에 대해 가우스 소거법을 한 후 결과를 비교해봄으로써 알 수 있다.