고급물리학을 위한 미적분학

고급물리학을 위한 미적분학_2. 행렬

cmsp 2025. 4. 26. 11:25

이번 글에서는 행렬을 소개하고, 행렬의 본질적 의미에 대해서 알아보겠습니다. 행렬과 더불어 행렬식의 의미와 계산하는 방법 등을 간략하게 소개했습니다. 댓글에 궁금한 점이나 오류 지적등을 남겨주시면 감사하겠습니다. 

2.1 행렬과 열벡터

 행렬이란 숫자들을 행과 열로 나열한 것을 의미합니다. 행렬의 세로줄은 가장 왼쪽 세로줄부터 세며 이를 이라고 합니다. 행렬의 가로줄은 가장 위쪽 가로줄부터 세며 이를 이라고 합니다. n개의 행과 m개의 열을 가진 행렬을 행렬이라고 합니다. 개의 열을 가진 행렬을 $m\times n$행렬이라고 합니다.

이를 간단히 $(a_{ij})$라고 표기하기도 합니다. 
 
 우리는 지금까지 벡터를 $\mathbf {a}=(a_1,.., a_n)$꼴로 표현하였습니다. 이는 $1\times n$행렬로 볼 수 있습니다. 이를 행벡터라고 부릅니다. 이를 세워서--전치시켜서--다음과 같이 쓸 수 있습니다.
$$\pmatrix {a_1&a_2&...&a_n}^t=\pmatrix {a_1\\a_2\\...\\a_n}$$
이처럼 벡터를 $n\times 1$ 행렬 꼴로 쓰는 것을 열벡터라고 부릅니다. 
앞으로 미적분학이나 선형대수학에서는 거의 대부분의 벡터는 열벡터를 의미합니다. 왜 굳이 직관적인 행벡터가 아닌 열벡터 꼴로 벡터를 표기할까요?
 
이 질문에 대답하기 전에 먼저 행렬과 좀 더 친해지는 시간을 가지면 좋겠습니다. 실수나 벡터에서와 같이 행렬에서도 몇 가지 연산들과 그 연산들에 관한 규칙이 존재합니다. 
먼저 $m\times n$ 행렬 $A$와 $B$의 덧셈은 다음과 같이 정의합니다. 
$$\pmatrix {a_{11}&...&a_{1n}\\...&...&...\\a_{m1}&...&a_{mn}}+ \pmatrix {b_{11}&...&b_{1n}\\...&...&...\\b_{m1}&...&b_{mn}}= \pmatrix {a_{11}+b_{11}&...&a_{1n}+b_{1n}\\...&...&...\\a_{m1}+b_{m1}&...&a_{mn}+b_{mn}}$$
행렬의 덧셈의 정의는 자연 습니다. 
 
$m\times n$ 행렬 $A$와 스칼라 $r$에 대해서 상수배를 다음과 같이 정의합니다.
$$ r\pmatrix {a_{11}&...&a_{1n}\\...&...&...\\a_{m1}&...&a_{mn}}= \pmatrix {ra_{11}&...&ra_{1n}\\...&...&...\\ra_{m1}&...&ra_{mn}}$$
상수배의 정의 역시 덧셈의 정의처럼 자연스럽습니다. 
 
행렬의 덧셈과 실수배에는 다음 몇 가지 규칙들이 성립합니다. 
 

$m\times n$ 행렬 $A, B, C$와 스칼라 $r, s$에 대해서
[1]$(A+B)+C=A+(B+C)$
[2]$A+B=B+A$
[3]$A+0=A$
[4]$A-A=0$
[5]$(r+s) A=rA+sA$
[6]$r(A+B)=rA+rB$
[7]$r(sA)=(rs) A$
[8]$1A=A$

 

0은 행렬의 덧셈에 대한 항등원으로 영행렬이라고 부르며 모든 성분이 0인 행렬을 의미합니다.
 
행렬의 덧셈과 상수배가 자연스럽게 정의된 것에 반해, 행렬의 곱셈은 다소 복잡하고 직관적이지 않은 방식으로 정의합니다. 먼저, 행렬을 곱할 때에는 앞 행렬의 열의 개수와 뒤 행렬의 행의 개수가 일치하여야 합니다. 
 $m\times n$행렬 $A=(a_{ij})$와 $n \times l$행렬 $B=(b_{jk})$의 곱셈은 다음과 같이 정의합니다.
$$AB=(c_{ik}), 단, c_{ik}=\sum_{j=1}^{n} a_{ij} b_{jk}$$
정의에 의하면 곱셈의 결과로써 나오는 행렬$(c_{ik})$는 $m\times l$행렬이 됩니다. 

 행렬의 곱셈을 유심히 보면 $A$의 $i$번째 행벡터와 B의 k번째 열벡터의 내적이 C의 i행 k열의 원소가 됩니다. 내적이 정의되기 위해서는 두 벡터의 차원이 같아야 하므로 행렬의 곱셈에서 이런 특별한 조건이 등장한 것입니다. 

$\mathbf{a^1,...,a^m}$는 $A$의 행벡터, $\mathbf{b_1,...,b_l}$은 $B$의 열벡터

행렬의 곱셈에서도 몇 가지 규칙들이 성립합니다. 

[1]$(AB) C=A(BC)$
[2]$AI=A, IA=A$
[3]$(A+B) C+AC+BC, A(B+C)=AB+AC$
[4]$(rA) B=r(AB)=A(rB)$

 
$I$는 행렬의 곱셈에 대한 항등원으로 항등행렬이라고 부릅니다. 항등행렬은 모든 대각선 원소$(a_{ii})$가 1이고 나머지 성분이 모두 0인 행렬입니다.

행렬의 곱셈에서 중요한 것은, 교환법칙이 성립하지 않는 것입니다. 이는 뒤에서 좀 더 자세히 설명하겠습니다. 
 
처음 행렬의 곱셈을 접하게 되면, 이걸 어떻게 계산해야 할지 막막하기도 하고, 도대체 수학자들은 왜 이렇게 계산하기 귀찮게 행렬의 곱셈을 정의했는지 이해되지도 않습니다. 그러나 행렬의 곱셈을 단순히 계산하는 것은 선형대수학에서 크게 중요하지 않습니다. 행렬의 곱셈에서 가장 중요한 사실은 행렬이 벡터를 벡터로 보내는 함수라는 것입니다.

2.2 행렬과 함수 

$m \times n$행렬 $A$와 $n \times 1$행렬 $\mathbf {x}$--다시 말해, 열벡터 $\mathbf {x}$--곱하는 연산을 생각해 봅시다. 

이를 좀 더 풀어쓰면 다음과 같이 쓸 수 있습니다. 
$$A\mathbf {x}=\pmatrix {a_{11}\\...\\a_{m1}}x_1+...+\pmatrix {a_{1n}\\...\\a_{mn}}x_n $$
이 식이 바로, 행렬이 어떻게 함수가 되는지 보여주는 첫 단계입니다. 
 
간단한 예시를 확인해 보겠습니다. 다음과 같은 $2\times 2$행렬 $A$가 있습니다
$$A=\pmatrix {2&1\\-1&1}$$
이때 $A$에 열벡터 $\mathbf {b}=\pmatrix {2&0}^t$을 곱하는 것은 다음과 같습니다. 
$$A\mathbf {b}=\pmatrix {2&1\\-1&1}\pmatrix {2\\0}=\pmatrix {2\\-1}\times2+\pmatrix {1\\1}\times0=\pmatrix {4\\-2}$$
이번에는 $A$에 또 다른 벡터 $\mathbf {c}=\pmatrix {1&1}^t$을 곱해봅시다. 
$$A\mathbf {c}=\pmatrix {2&1\\-1&1}\pmatrix {1\\1}=\pmatrix {2\\-1}\times1+\pmatrix {1\\1}\times1=\pmatrix {3\\0}$$ 
이를 2차원 좌표평면 상에 표현하면 다음과 같습니다.

여기까지 왔을 때, 스크롤을 잠시 멈추고 변화 전의 벡터와 변화 후의 벡터가 어떤 과정을 통해 변화하였는지 잠시 고민해 보기를 바랍니다. $\mathbf {b}$와 $\mathbf {c}$의 변화에는 어떠한 규칙성이 있는지 천천히 고민해 보시기를 바랍니다. 
 
사실 아직까지는 무슨 규칙이 있는지 잘 이해되지 않을 수 있습니다. 하지만 다음 예시를 확인하면 바로 놀라운 규칙성이 보입니다. 
$A$에 2차원 표준기저벡터 $\mathbf {i}=\pmatrix {1&0}^t$,$\mathbf {j}=\pmatrix {0&1}^t$를 곱해보겠습니다. 
$$A\mathbf {i}=\pmatrix {2&1\\-1&1}\pmatrix {2\\0}=\pmatrix {2\\-1}\times1+\pmatrix {1\\1}\times0=\pmatrix {2\\1}$$
$$A\mathbf {j}=\pmatrix {2&1\\-1&1}\pmatrix {0\\1}=\pmatrix {2\\1}\times0+\pmatrix {-1\\1}\times1=\pmatrix {-1\\1}$$

이제 이들을 한꺼번에 표현해 보겠습니다. 

이제 이들의 놀라운 규칙성이 보입니다. 행렬을 곱함으로써 표준기저벡터쌍$(\mathbf {i, j})$가 $(\mathbf {i', j'})$으로 이동하고, 이동한 기저벡터가 새로운 표준기저로서 작용합니다. 

 어떠한 행렬에 벡터를 곱하는 행위는 그 벡터를 표현하는 축을 비틀어 새로운 축에서 표현하는 행위를 의미합니다. 즉 행렬은 벡터를 새로운 벡터로 보내는 함수입니다. 
 위에서 살펴본 내용을 계산을 통해서 다시 확인해 보겠습니다. 벡터 $\mathbf {b}$는 $\mathbf {i}$와 $\mathbf {j}$를 사용하여 다음과 같이 표현할 수 있습니다. 
$$\mathbf {b}=\pmatrix {2\\0}=2\pmatrix {1\\0}+0\pmatrix {0\\1}=2\mathbf {i}+0\mathbf {j}$$
이를 이용하여 행렬 $A$와 $\mathbf {b}$의 곱셈을 다시 표현해 볼 수 있습니다. 
$$A\mathbf {b}=A(2\mathbf {i}+0\mathbf {j})=2A\mathbf {i}+0A\mathbf {j}=2\mathbf {i'}+0\mathbf {j'}$$
즉, 행렬을 곱하는 것은 벡터를 표현하는 축을 비틀어 새로운 축을 생성하는 것이라고 볼 수 있습니다. 이때 곱해지는 행렬의 각각의 열벡터는 새롭게 설정되는 축--여기서는 $\mathbf {i', j'}$--을 표현하고 있습니다. 

여기까지 왔으면, 이제 왜 벡터를 행벡터가 아니라 열벡터로 쓰는지 깨달을 수 있습니다. 우리는 고전적으로 함수를 쓸 때 $f(x)$로 써 왔습니다. 그러므로 행렬--즉, 함수의 일종--을 쓸 때에도 $A\mathbf {x}$로 쓰는 편이 자연스럽습니다. 그러나 행렬을 곱할 때의 규칙을 만족시키기 위해서는 뒤에 곱해지는 행렬 $\mathbf {x}$의 행의 개수가 $A$의 열의 개수와 일치해야 합니다. 그렇기에 $\mathbf {x}$를 행벡터가 아닌 열벡터로 사용합니다. 만약 $\mathbf {x}$가 행벡터였다면 $A\mathbf {x}$가 아닌 $\mathbf {x} A$꼴로 썼어야 했을 것입니다. $(x) f$로 쓰는 게 편리한 사람은 행벡터를 고수하면 될 것 같습니다.  

 

또한 행렬에서 곱셈의 교환법칙이 성립하지 않는 근본적인 이유도 확인할 수 있습니다.

$$f(g(x))\not=g(f(x))$$ 

고등학교 1학년 수학에서 합성함수를 처음 공부할 때, 합성하는 순서를 바꾸면 전혀 다른 함수가 나온다는 것을 이미 배웠습니다. 행렬에서도 마찬가지입니다. 행렬도 역시 함수이기에 곱해지는 순서, 즉 합성하는 순서를 바꾸면 전혀 다른 함수가 나옵니다. 

$$AB\not=BA$$

이것이 행렬의 교환법칙이 성립하지 않는 근본적인 이유입니다. 


한 가지 예시를 확인하며 마무리하겠습니다. 2차원 평면에서 벡터를 회전시키는 변환 역시 축이 되는 벡터를 회전시켜 표현함으로써 행렬로 표현할 수 있습니다. 2차원 평면상의 벡터 $\mathbf {p}$를 생각해 봅시다. 

이 $\mathbf{p}$를 시계 반대방향으로 $\theta$만큼 회전시키면 그에 따라 $\mathbf{p}$를 표현하는 축 또한 시계 반대방향으로 $\theta$만큼 회전합니다. 

이때 회전된 축 벡터 $\mathbf {i'}$과 $\mathbf {j'}$은 다음과 같이 표현됩니다. 
$$\mathbf {i'}=\pmatrix {cos\theta\\sin\theta}, \mathbf {j'}=\pmatrix {-sin\theta\\cos\theta}$$

이를 기반으로 회전시키는 행렬 $A$를 다음과 같이 쓸 수 있습니다. 
$$A=\pmatrix {cos\theta&-sin\theta\\sin\theta&cos\theta}$$
이는 2차원 상의 임의의 벡터$\mathbf {p}$를 시계 반대방향으로 $\theta$만큼 회전시키는 행렬입니다. 이를 회전행렬이라고 부릅니다. 

2.3 행렬식

행렬식은 어떤 정사각행렬--행의 개수와 열의 개수가 같은 행렬--의 다양한 정보를 담은 스칼라입니다. 그중, 행렬식의 절댓값은 은 행렬로 인해 변화하는 부피를 표현합니다. 예를 들어, 행렬
$$\pmatrix {2&1\\-1&1}$$
은 좌표공간을 다음과 같이 변형시킵니다. 

 $\mathbf {i}$와 $\mathbf {j}$가 이루는 평행사변형의 넓이는 1이었다가 $A$에 의해 $\mathbf {i'}$와 $\mathbf {j'}$로 변형된 이후 이들이 이루는 평행사변형의 넓이는 3으로 변화합니다. 이때 부피의 변화비 $3$이 바로 행렬식의 절댓값과 같습니다. 
 3차원에서는 행렬식의 절댓값이 평행육면체의 부피 변화율을 나타냅니다. 
$A$의 행렬식의 기호는 $detA$ 혹은 $|A|$로 표기합니다. 
 
이 글에서 행렬식의 자세한 정의를 다루지는 않겠습니다--너무 할 이야기가 많기에 다음으로 미루겠습니다. 그래도 계산은 해야 하니까 $2\times 2$ 행렬과 $3\times 3$행렬의 행렬식을 계산하는 방법만 소개하고 마무리하겠습니다. 
$$det\pmatrix {a_{11}&a_{12}\\a_{21}&a_{22}}=a_{11} a_{22}-a_{12} a_{21}$$
$$det\pmatrix {a_{11}&a_{12}&a_{13}\\a_{21}&a_{22}&a_{23}\\a_{31}&a_{32}&a_{33}}=a_{11} a_{22} a_{33}+a_{12} a_{23} a_{31}+a_{13} a_{21} a_{32}-a_{11} a_{23} a_{32}-a_{12} a_{21} a_{33}-a_{13} a_{22} a_{31}$$