선형대수학이 뭔지 물어보는 사람한테 가장 간단하게 설명할 수 있는 방법은 그것이 행렬을 다루는 수학이라고 대답해주는 것입니다. 수학에서 행렬이 차지하는, 행렬과 관련된 분야는 함수가 차지하는 크기가 걸맞을 정도로 거대하고 방대합니다.
공학에서 사용하는 일종의 프로그래밍 언어인 MATLAB, 세계가 가상임을 깨닫고 주인공이 현실과 가상을 넘나드는 영화 매트릭스의 제목처럼 일상생활에서도 행렬의 영어 표현 'Matrix(Plural : matirices)'는 라틴어로 탄생의 기원인 '자궁'이나 '어머니'에 기반을 두고 있을 정도로 세상의 수많은 현상을 표현할 수 있음을 내포하고 있습니다.
그리하여 응용적인 측면에서 보아도 행렬은 공학과 과학에서 약방의 감초이며, 연립방정식을 푸는데도 지대한 공헌을 했기 때문에 그 영향력과 관련성은 공부를 하면 할수록 이루 말할 수 없을 정도로 놀랍다는 것을 알게 될 것입니다. 당장 물리학의 예를 들자면 물리학에서 벡터와 스칼라를 정의할 때는 좌표변환에 대해 불변인지의 여부로 이를 구분하게 되고, 여기서 좌표변환 - 사실 모든 도형의 일차변환 - 은 행렬로 나타낼 수 있습니다. 고전역학에서는 특수상대성 이론이나 관성텐서를 나타낼 때 행렬이 들어가고, 양자역학은 가히 행렬의 세상입니다.
이러한 점에서 도대체 왜 행렬과 일차변환을 고등학교 교육과정에서 삭제했는지 백번 이해하려 노력해봐도 항상 실패합니다. 행렬은 2017학년도 입시부터 교육과정에서 사라졌는데, 물론 그 전에도 그리 많은 내용을 배우진 않았지만 기본적인 개념마져 배울 기회를 박탈시켰다는 생각을 떨칠 수 없습니다. 행렬이 선형대수학의 진짜 전부는 아니지만, 행렬조차 모른다면 시작부터 꼬이게 되기 때문입니다. 이젠 아예 문이과 통합교육이라는 명목 하에 기하와 미적분2를 동시에 선택할 수 없는 모순덩어리에 봉착하기에 다다랐네요.
할 말이 많지만, 배우는 학생의 입장에선 교육정책이 막다른 길로 방향을 트는 바람에 피해를 입게 된 억울한 존재일 뿐이겠죠? 이 블로그는 최대한 그러한 피해자나 수포자를 줄이려는 작은 바람으로 운영되고 있는 겁니다. 그리하여 기본적이고 기초적인 내용부터 시작하여, 행렬에 대해 선형대수학에서 다루는 주제를 저는 크게 6가지 영역으로 나누어 보려고 합니다. 그것은 바로 1) 행렬의 기초와 행렬의 종류, 2) 연립방정식과 행렬, 3) 행렬식, 4) 대각화, 5) 내적공간, 마지막으로 6) 행렬과 선형변환 입니다. 난이도별로 정렬한 건 아니지만 경험상 뒤쪽으로 갈수록 내용이 어려워지는 것 같네요. 글을 다 쓰려면 생각보다 시간이 오래 걸리겠지만, 하나하나 손쉽고 효과적인 방법을 찾아 공유해 보도록 하겠습니다.
이번 포스팅에서는 행렬이 무엇인지 정의함과 동시에 기본적인 연산들을 어떻게 수행할 수 있는지 확인해보겠습니다. 참고로 행렬을 공부할 때 등장하는 몇몇 개념들은 벡터공간에 대한 지식습득을 필요로 할 수 있음을 기억해주시기 바랍니다. 이러한 개념들에 대해서는 미리 포스팅을 해 두었습니다.
1. 행렬의 정의
행렬은 일반적인 형태는 위와 같이 몇개의 숫자들을 사각형 모양으로 배치하고 괄호(소괄호나 대괄호를 주로 사용)로 양 옆을 닫아 놓은 모습을 띠고 있습니다. 이 때 가로줄을 '행(行, Row)'이라 하고 세로줄을 '열(列, Column)'이라 부릅니다. 행렬을 완전 처음 배울 때 행과 열 중 뭐가 가로고 뭐가 세로인지 헷갈릴 수 있습니다. 그럴때마다 전 허공에 십자가를 그렸었는데요, 보통 십자가를 그릴 때 가로부터 그리기 때문에, 순서대로 가로줄을 그으며 행, 세로줄을 그으며 열이라 외웠던 기억이 납니다. 이러한 방법으로 외우면 간편할 것 같습니다.
$m$개의 행과 $n$개의 열을 가진 행렬을 '$m \times n$ 행렬(m by n matrix)'라고 부릅니다. 즉 $m$개의 가로줄과 $n$개의 세로줄로 구성되어 있다는 뜻입니다. 행렬 안에 놓인 숫자들은 행렬의 '성분(component)'라고 부르는데, 그러면 성분의 개수는 총 $m\times n$개가 되겠지요? 학부 수준의 수학이나 물리, 공학에서는 주로 2X2행렬과 3X3행렬을 자세히 다룹니다. 그리고 특정 성분을 가리킬 때는 몇번째 행과 몇번째 열에 있는지를 지시하면 되므로, $a_{mn}$ 으로 표기하거나 이 행렬을 $A$라고 했을 때 $A(m,n)$이라고 나타냅니다. 아래 그림을 참고해 볼까요? 여기서 예를 들자면 3행 1열 성분은 $a_{31}$ 또는 $A(3,1)$이라 표기하면 되고 그것이 4라고 쓰면 되는 것입니다.
$$ \begin{pmatrix}
1 & 5 &-4 \\
2 & -3&7 \\
4 &-1 & 0
\end{pmatrix} \rightarrow \;\; a_{31}=A(3,1)=4 $$
행렬의 정의를 조금 더 정확하게 하자면, 행렬이란 체(F, Field)의 원소들을 직사각형 모양으로 배열한 것입니다. 체에 대해서는 이미 설명한 바 있는데, 급하다면 실수라고 생각해도 큰 문제는 없습니다. 이 때 $F$상의 $m \times n$ 행렬 전체의 집합은 다음과 같은 기호로 표현합니다.
$$ M_{m,n}(F) \;\;\mathrm{or}\;\; M_{m\times n}(F) $$
2. 행벡터와 열벡터
그런데 행렬을 보니까 그저 괄호안에 마구잡이로 숫자를 넣으면 되는 간단한 행위에 불과한 것이 아닌가 하는 생각이 들 수 있습니다. 자연현상을 기술하거나 수학에서 집중적으로 관찰하는 행렬들은 실제로는 굉장히 의미있는 숫자들이 들어가 아무런 규칙 없이 숫자를 배열하지는 않습니다. 그리하여 행렬은 배열된 숫자 하나하나가 중요하고, 그들이 모여 행렬의 특성을 결정하게 됩니다. 행렬의 특징은 무수히 많지만 그 중 하나는 행렬의 랭크(rank) 를 관찰하는 것으로, 이는 행벡터와 열벡터를 관찰하면 구할 수 있습니다. 행벡터는 1개의 열과 $m$개의 행으로 구성된 행렬이고, 열벡터는 1개의 행과 $n$개의 열로 구성된 행렬입니다. 행렬이지만 사실상 벡터처럼 사용할 수 있어서 벡터라는 이름을 붙여준 것입니다. 1
$$\mathrm{Row\;vector}\;:\;\begin{pmatrix}
a_1 &a_2 &\cdots &a_n
\end{pmatrix}\;\;,\;\;
\mathrm{Colunm\;vector}\;:\;\begin{pmatrix}
a_1\\
a_2\\
\vdots\\
a_n
\end{pmatrix}$$
$m \times n$ 행렬에서 각 행과 열을 벡터로 만들었을 때, 행벡터는 1개의 행과 $n$개의 열을 가지고 있습니다. 반면 열벡터는 $m$개의 행과 1개의 열을 가집니다. 이 특징을 헷갈리지 않도록 기억해 줍시다.
3. 행렬의 덧셈과 스칼라 배
행렬도 숫자나 벡터처럼 덧셈과 상수배(스칼라배)를 자유롭게 할 수 있습니다. 덧셈, 뺄셈, 상수배는 동일한 성분의 숫자끼리 더하고, 빼고, 상수배를 하면 됩니다.
$$ \mathrm{For}\;A,B \in M_n(F)\,,\,c\in F,$$
$$cA\pm B=
\begin{pmatrix}
ca_{11}\pm b_{11} & ca_{12}\pm b_{12} & \cdots & ca_{1n}\pm b_{1n}\\
ca_{21}\pm b_{21} & \ddots & & \vdots \\
\vdots & & \\
ca_{m1}\pm b_{m1} &ca_{m2}\pm b_{m2} & \cdots &ca_{mn}\pm b_{mn} &
\end{pmatrix} $$
예제 1) 두 행렬의 덧셈 $A+B$를 구하여라.
$$A=\begin{pmatrix}
2 &-1 \\
3 & 0
\end{pmatrix}\,,\,B=\begin{pmatrix}
2 &-1 \\
3 & 0
\end{pmatrix}$$
$$\rightarrow\;\; A+B=\begin{pmatrix}
2 &-1 \\
3 & 0
\end{pmatrix}+\begin{pmatrix}
-4 &3 \\
1 & 7
\end{pmatrix}=\begin{pmatrix}
-2 &2 \\
4 & 7
\end{pmatrix}$$
4. 행렬의 종류
행렬은 모양과 구조, 그 특징에 따라 몇가지로 구분할 수 있습니다. 설명하면서 중간에 행렬의 곱셈을 언급하는데, 이는 다음 포스팅에서 설명합니다.
1) 정사각행렬/정방행렬 (square matrix)
정사각행렬은 행의 개수와 열의 개수가 같은 정사각형 모양의 행렬을 말합니다. $n \times n$ 행렬로 표기하고, '$n$차 정사각행렬'이라고 말합니다. 기호를 사용하면 정사각행렬의 집합은 $M_n(F)$ 로 표현합니다.
2) 영행렬(zero matirx)
행렬의 모든 성분이 0으로 구성되어 있는 행렬을 영행렬이라고 합니다. 영행렬의 기호는 (약간 기울어지게 쓴) '$O$'입니다. 예컨대 2차 정사각행렬의 영행렬은 아래와 같습니다. 어떤 행렬에 영행렬을 곱하면 반드시 영행렬이 되고, 영행렬을 더하면 더해봤자 자기 자신이 됩니다. 즉 행렬 덧셈에 대한 항등원이라 할 수 있습니다.
$$O_{2,2}=\begin{pmatrix}
0 &0 \\
0 & 0
\end{pmatrix}$$
3) 항등행렬(Identity matrix), 단위행렬(Unit matirx)
항등행렬은 행렬 곱의 항등원 역할을 하는 행렬로, 대각성분(diagonal component)이 모두 1인 정사각행렬입니다. 대각성분이란 행의 넘버와 열의 넘버가 같은 성분을 말하는 것입니다. 항등행렬은 단위행렬이라고도 하며, 이러한 성질 덕분에 항등행렬은 간단히 크로네커 델타로 나타내기도 합니다. 아래 식으로 보면 이해할 수 있을 것입니다.
$$ \left ( I_n \right )_{ij}=\delta _{ij}\;\;\rightarrow\;\; e.g)\;\;
I_2=\begin{pmatrix}
1 &0 \\
0 & 1
\end{pmatrix}\;\;,\;\;I_3=\begin{pmatrix}
1 &0 &0 \\
0 & 1 &0 \\
0 & 0 &1
\end{pmatrix}$$
4) 전치행렬(transposed matrix)
$$A^T=\left [ a^T_{ij} \right ]=\left[ a_{ji} \right]$$
전치행렬은 행렬의 오른쪽 위에 'T'를 달아 표기하며, 행과 열을 뒤집은 행렬을 말합니다. 표기로 보는 것이 더 빠르게 이해할 수 있을 듯 합니다. 즉 $i$행과 $j$열을 교환한다는 것입니다. 그렇다면 대각성분은 어차피 변하지 않고 고정되어 있을 것이며, 대각성분을 기준으로 양쪽이 서로 뒤바뀌는 성질이 있습니다. 어떤 행렬에 전치를 취하면, $m \times n$ 행렬은 $n \times m$ 행렬이 됩니다. 정사각행렬의 전치는 그대로 정사각행렬이고요.
$$ A^T=\begin{pmatrix}
1 & 5 &4 \\
2 & -3 & 6\\
4 & -1 & 0
\end{pmatrix}\;\;\rightarrow\;\;A^T=\begin{pmatrix}
1 & 2 &4 \\
5 & -3 & -1\\
4 & 6 & 0
\end{pmatrix}$$
전치행렬의 활용은 무수히 많습니다. 나중에 행렬의 한 행이나 열을 벡터로 사용하는 경우가 많은데, 이들의 곱셈(내적)을 계산할 때 쓰이기도 하고, 특히 대각화나 LU분해 등에서 유용히 사용합니다. 행과 열을 교환하는 것이 그리 어려운 내용은 아니니까, 연습해보면서 꼭 숙달해 두어야 합니다.
5) 삼각행렬(Triangular matrix)
$m \times n$ 행렬 $A$에 대하여 대각성분 아래의 모든 성분이 0인 행렬은 '상삼각행렬(upper triangular matrix)' 라 부릅니다. 반대로 대각성분의 위쪽 모든 성분이 0이라면, '하삼각행렬(lower triangular matrix)'라 부릅니다. 이 둘을 합쳐 보통 삼각행렬이라 부릅니다. 물론 상삼각행렬이라고 해서 대각성분 위쪽에 0이 있으면 안되라는 법은 없고, 반대로 하삼각행렬이라고 해도 대각성분 아래에 0이 있을 수도 있습니다.
$$ \begin{pmatrix}
1 & 0 & 5 \\
0 & -3 & -7\\
0 & 0 & 0
\end{pmatrix}\;\;\;\begin{pmatrix}
3 & 0 & 0 \\
-1 & 5 & 0\\
0 & 6 & -2
\end{pmatrix}$$
삼각행렬은 연립방정식을 풀 때 요긴하게 쓰여 빈번하게 등장합니다. 또한 대각행렬을 포함하는 꼴로 변형하는 연습 등을 해야 하기 때문에 간단히 뜻이라도 알아두는 것이 좋습니다.
6) 역행렬(Inverse matrix)
역행렬은 행렬 곱의 역원으로, 어떤 행렬에 그것의 역행렬을 곱하면 항등행렬이란 결과가 탄생합니다.
행렬 $ A \in M_n(F) $ 에 대하여 $AB=BA=I_n$ 을 만족하는 행렬 $B \in M_n(F)$가 존재할 때, $A$는 '가역(invertible)'이라 하고 $B$를 $A$의 '역행렬(inverse matrix)'이라 부른다.
역행렬의 정의는 위와 같습니다. 그러나 역행렬은 반드시 존재하는 것은 아니고, 존재할 수도 있고 존재하지 않을 수도 있습니다. 역행렬이 존재하는 행렬은 '가역(invertible)'이라고 하는데, 행렬의 가역성은 행렬이란 분야에서 굉장히 심오한 주제이고 여러가지 행렬의 특징과 유기적으로 연결되어 있어서 어마어마하게 중요합니다. 이것은 이 포스팅에서 다 설명할 수가 없으니 뒤로 미룰 것입니다. 맛보기로 n차 정사각행렬의 역행렬을 구하는 공식을 소개하면, 아래와 같습니다.
$$A^{-1}=\frac{1}{\mathrm{det}A}\,C^T\;\;\mathrm{where}\;\;C_{ij}=(-1^{i+j})M_{ij}$$
$C_{ij}$는 '여인수(cofactor)'라 하며 그 안의 $\mathrm{det}M_{ij}$는 '소행렬식(Minor)'라 불리는 $A$의 $i$행과 $j$열을 지우고 남은 성분으로 만든 행렬식입니다. 그리고 $A$의 '행렬식(determinant)'은
$$\mathrm{det}A=\sum_{j=1}^{n}\,(-1)^{i+j}A_{ij}\cdot \mathrm{det}M_{ij}$$
와 같이 구합니다. 모양만 봐도 범상치 않고 복잡해 보임을 알 수 있는데, 그리하여 가역성에 대한 논의는 무척 중요하지만 쌓아올려야 할 예행 연습과 개념의 가치가 무거워 상당한 지식량을 요합니다.
- 책에 따라 '계수'라고 번역하기도 함. [본문으로]
'선형대수학(Linear Algebra) > 행렬과 행렬식' 카테고리의 다른 글
행렬의 계수, 랭크(The Rank of matrix) (7) | 2020.11.29 |
---|---|
선형 연립일차방정식 3) 소거행렬과 치환행렬(Elimination matrix and Permutation matrix) (2) | 2020.11.29 |
선형 연립일차방정식 2) 피벗과 소거법(Pivots and Elimination method) (0) | 2020.11.29 |
선형 연립일차방정식 1) 연립일차방정식의 뜻 (System of equation) (0) | 2020.11.28 |
행렬의 곱셈(Multiplication of matrices) (1) | 2020.11.28 |
댓글