2011년 6월 20일 월요일

행렬식의 기하학적 의미(geometric meaning of determinant)


[경고] 아래 글을 읽지 않고 "행렬식의 기하학적 의미"를 보면 바보로 느껴질 수 있습니다.
1. 행렬
2. 행렬식


[그림 1] 2차원의 면적과 3차원의 부피(출처: wikipedia.org)

행렬식(行列式, determinant)과 부피(volume)와의 관계를 라플라스 전개(Laplace expansion)를 기반으로 수학적으로 유추해 보도록 하자. 고통스러운 과정이 되겠지만 행렬식과 부피의 관계를 이해하면 행렬식을 새로운 눈으로 좀더 편안하게 볼 수 있다. 정말 그렇겠냐고? 한 번 믿어봐라, 정말이다.
구체적인 증명으로 들어가기 전에 벡터(vector)를 이용해서 행렬식이 [그림 1]과 같은 1,2,3차원 공간의 방향성 있는 부피라는 것을 느껴보도록 하자.

                       (1)

벡터 이론(vector theory)으로 이미 증명을 했지만 기하학적으로 음미해보도록 하자. 당연히 부피의 원래 의미는 3차원에서 정의하지만 1차원에서 부피는 길이(length)이며, 2차원에서 부피는 면적(area)이라 생각할 수도 있다.
[그림 1]과 식 (1)의 $V_2$에 있는 면적이라는 것은 길이를 수직 방향(normal direction)으로 쌓은 것이라 생각할 수 있다. 수직 방향이기 때문에 서로 다른 좌표계값을 식 (1)처럼 곱해야 한다. 또한, 수식에 기하학적 의미를 부여하기 위해 식 (2)처럼 곱하는 순서에 따라 면적의 부호가 다르게 생기도록 한다.

                              (2)

또한, [그림 1]과 식 (1)의 $V_3$에 있는 부피라는 것도 면적을 수직 방향으로 쌓은 것이라 생각할 수 있다. 면적을 수직으로 쌓기 위해 어떤 좌표값과 이 좌표 방향으로 정의한 면적을 곱한다. 예를 들면 $x$축에 대해 면적을 쌓으려면 $y$-$z$ 평면에 있는 면적값을 $x$축의 길이와 곱한다. 기하 구조를 수식에 집어넣기 위해 식 (2)와 같은 순서를 정의한다.
이 과정을 $n$차원 공간으로 확장한 것이 식 (3)의 라플라스 전개이다.

                       (3)

여기서 $C_{ij}$는 행렬 $\bf A$의 여인자(餘因子, cofactor), $M_{ij}$는 원소 $a_{ij}$의 소행렬식(小行列式, minor)이다. 예를 들어 소행렬식 $M_{23}$은 아래와 같이 계산할 수 있다.

                       (4)

즉, $M_{23}$은 2행과 3열 원소 전체를 식 (4)처럼 삭제한 후 계산하는 행렬식이다.
식 (3)을 식 (1)과 유사하게 설명하자. $a_{ij}$는 어떤 좌표값이며 $M_{ij}$는 $a_{ij}$ 좌표에 수직한 $n-1$차원에서 정의한 부피이다. 또한, 식 (3)에 있는 $(-1)^{i+j}$의 원래 의미는 순열(順列, permutation)이지만 식 (2)와 같은 기하구조를 $n$차원 공간으로 확장하는 표현식이 된다. 그러면 식 (3)은 자연스럽게 $n$차원 공간의 방향성 있는 부피가 된다.

이상의 논의는 억지스럽지만 행렬식이 식 (5)의 부피 공리(volume axioms)를 모두 만족함을 보임으로써 수학적인 연관성을 명확히 할 수 있다.

                       (5)

식 (5)의 첫째식은 서로 수직인 단위 벡터(unit vector)들의 부피는 1이라는 것이다.
둘째식은 부피가 0이 아니기 위해서는 각 벡터들에 수직인 성분이 반드시 있어야 된다는 뜻이다. 벡터들이 평행하면 당연히 부피는 0이 된다. [그림 1]을 보면 이는 자명하다.
세째식은 $n$차원 물체의 한쪽 방향을 키우면 부피는 키운 만큼 커진다는 뜻이다.

                          (6)

식 (6)의 행렬식 정의를 이용해 식 (5)를 차례로 증명해보자.

  • 식 (5)의 첫째식 증명

먼저 식 (5)의 첫째식은 항등 행렬(identity matrix)의 행렬식이 1인 것으로 쉽게 증명할 수 있다.

  • 식 (5)의 둘째식 증명

                          (7)

여기서 벡터 차원(vector dimension) $n$은 행렬 차원(matrix dimension) $N$과 동일하다고 가정한다.
식 (5)의 둘째식을 행렬식으로 표현하면 식 (7)과 같다. 식 (7)은 식 (3)에 있는 라플라스 전개로 증명한다. 임의의 행렬에 대해 라플라스 전개를 하면 행렬의 마지막행인 $N$행(예를 들면 식 (5)에서 벡터 $\bar r_j$)과 $N-1$행(예를 들면 식 (5)에서 벡터 $\bar r_i$)에 있는 임의의 두 열은 식 (1)에 있는 면적 $V_2$처럼 표현된다. 식 (5)의 조건에서처럼 벡터 $\bar r_i$와 $\bar r_j$가 동일하다면 식 (1)에 의해 $V_2 = 0$이 된다. 그러면 재귀 호출을 의미하는 식 (3)의 전체 행렬식은 당연히 0이 된다. (∵ $2 \times 2$ 행렬식에 부호 함수를 고려해서 다른 원소를 계속 곱하면 전체 행렬식이 된다는 것이 라플라스 전개이므로) 고려하는 행이 식 (7)처럼 $N$행과 $N-1$행이 아니라면 한 번 교환된 행렬의 행렬식을 이용해서 주어진 행들(식 (7)에서 벡터 $\bar r_i$)을 $N$행과 $N-1$행이 되도록 교환해주면 동일한 결과를 얻을 수 있다.
혹은 더 쉽게 증명하기 위해 행렬식의 공식을 활용하자. 한 번 교환된 행렬의 행렬식($|{\bf A}_{ij}|$: $i,j$는 서로 다른 $i,j$ 행이나 열을 교환한 행렬식)은 원래 행렬식($|{\bf A}|$)에 (-)를 곱한 값이므로 $|{\bf A}_{ij}| = -|{\bf A}|$가 성립한다. 하지만, 조건에서 $|{\bf A}_{ij}| = |{\bf A}|$가 성립해야 하므로 $|{\bf A}| = 0$이 되어야 한다.

  • 식 (5)의 세째식 증명

                          (8)

식 (8)에 제시된 것처럼 식 (5)의 세째식은 식 (6)으로 쉽게 증명된다. 행렬의 한 행(식 (8)에서 벡터 $\bar r_i$)을 $c$배하면 식 (6)에서 이 행의 원소(식 (6)에서 $a_{ij}$)가 항상 $c$배가 되므로 당연히 행렬식 전체가 $c$배가 된다.
식 (5)의 세째식은 다음과 같이 일반화할 수 있다.

   (9)

식 (9)를 행렬식으로 표현하면 식 (10)과 같다. 식 (10)은 식 (6)으로 증명 가능하다. 식 (8)처럼 행렬의 한 행이 $\bar r_i + \bar r_j$로 표현되면 이를 식 (6)에 대입하고 배분 법칙을 적용하면 식 (10)이 증명된다.

                          (10)

식 (9)에서 그 부피는 방향성이 있기 때문에(∵ (+) 혹은 (-)가 될 수 있기 때문에) 벡터 $\bar r_i, \bar r_j$를 더한다 하더라도 그 최종 부피는 커질 수도 있고 작아질 수도 있다. $\bar r_j = c\bar r_i$이면 식 (8)과 동일한 의미가 된다.
혹은, 식 (7)에 의해 부피가 변하기 위해서는 $i$행을 제외한 모든 행벡터(row vector)에 대해 $\bar r_j \ne c \bar r_k$($k = 1,2, \cdots, n$, $k \ne i$)가 성립해야 한다. (or $\bar r_j$는 $\bar r_k$와는 평행이 아니어야 한다.)
[그림 2] 3차원 벡터 공간의 예(출처: wikipedia.org)

조금 더 식 (10)의 성질을 고민하면 [그림 2]와 같은 벡터 공간(vector space)을 주로 다루는 선형 대수학(線型代數學, linear algebra)에 입문할 수 있다. 무슨 말인가 하면 식 (10)을 $n$차원 공간에서 기하학적으로 어떻게 이해해야 하는가를 고민해보자는 것이다.
만약 식 (5)처럼 $n$차원 공간에서 $n$개의 벡터가 이미 있을 때 식 (10)에 있는 추가적인 행벡터 $\bar r_j$는 어떻게 생각해야 하나? 새로운 $\bar r_j$는 이전의 $n$개 벡터와 비슷할 수도 있고 전혀 다를 수도 있다. 편하게 $\bar r_j$가 이전의 $n$개 벡터와 비슷해서 등호(=) 관계가 성립한다고 가정하자. 그러면 $\bar r_j$를 이전의 $n$개 벡터($\bar r_i$)에 대한 관계식으로 다음처럼 정의할 수 있다.

                         (11)

식 (11)에서 행벡터 $\bar r_j$는 $n$개의 벡터($\bar r_i$)로 표현된다고 가정했다. 이 가정이 맞으려면 둘째식에 있는 $n$개의 벡터로 구성된 행렬이 역행렬(逆行列, inverse matrix)을 가지면 된다. 역행렬이 존재한다면 식 (11)을 행벡터 $\alpha_i$에 대해 풀어 $\alpha_i$를 일의적으로(or 단 하나로) 결정할 수 있다. 이때 역행렬 여부를 판별할 수 있는 식은 행렬식이다. 만약 역행렬을 얻을 수 없다면 행렬식이 0인 경우이므로 벡터 $\bar r_i$의 좌표값 자체를 바꾸어 행렬식이 0이 되지 않도록 할 수 있다.
또한, 역행렬이 존재한다면(or 행렬식이 0이 아니면 or $n$차원 공간의 부피가 0이 아니면) 식 (11)이 성립하기 때문에 식 (10)은 다음 식으로 간략화된다.

                         (12)

즉, 우리가 벡터 $\bar r_j$를 더했지만 실제 부피에 기여하는 것은 벡터 $\bar r_i$와 평행한 성분이다. 이 사실은 우리가 알고 있는 면적이나 부피 정의와 일치한다. 예를 들어 2차원에서 면적을 키우려면 밑변과 수직인 높이 방향으로 길이를 쌓아야 한다. 밑변과 평행인 방향으로 쌓으면 길이는 늘지 모르지만 면적은 늘어나지 않는다.
이와 같은 성질을 얻게 해주는 벡터 $\bar r_i$($i = 1, \cdots, n$)는 뭐라고 불러야 할까? 식 (11)에서 벡터 $\bar r_j$는 어떤 $n$차원 벡터이든 될 수 있기 때문에 식 (11)에 있는 $n$개의 벡터($\bar r_i$)는 $n$차원 공간을 생성(span)할 수 있다. 이 경우 $n$개의 벡터 $\bar r_i$는 기저(基底, basis)가 된다. 행렬식이 0이 되지 않는, 다른 말로 하면 $n$차원 공간의 부피가 0이 되지 않는 서로 다른 독립적인 벡터들이 $n$차원 공간의 기저를 이룬다. 기저를 이용하면 임의의 $n$차원 벡터를 식 (11)을 이용해 만들 수 있다.

오해하지는 말라. 선형 대수학을 이런 방법으로 설명할 필요는 없다. 하지만, 무미건조한 벡터 공간의 공리(axioms of vector space)가 그냥 생긴 것이 아니고 현실적인 문제를 고민하여 공리 형태로 정리되었다는 것을 느끼기 위해서 식 (11)을 고민해 보는 것도 색다른 재미가 있다.

댓글 33개 :

  1. 전공공부에 너무너무 많은 도움이 되고 있습니다.
    정말 고맙습니다.

    답글삭제
  2. :-) 행렬 부분은 난이도가 있는 부분이라 쓰느라 시간낭비한 것 같기도 하다는 생각을 했는데 도움이 되었다니 저도 좋습니다.

    답글삭제
  3. 와 정말 좋은 글입니다. 선형대수 공부에 많은 도움이 되었습니다.

    답글삭제
  4. 왜 다들 익명으로 댓글을 다시지?ㅋ.
    저도 도움 많이 되었습니다. 감사합니다~~

    답글삭제
  5. 댓글 달려고 없는 ID 만들기는 어렵지요. 충분히 이해합니다.

    kipid님도 좋은 자료 많이 만드세요. 감사합니다.

    답글삭제
  6. 시험공부하는데 이해되지 않았던 부분이 글을 읽고 다 이해되었습니다. 정말 감사합니다.

    답글삭제
  7. 저의 작은 노력이 도움되었다니 기쁘네요.
    정의가 복잡한 행렬식이지만 n차원 공간의 부피가 행렬식이라 정의하면 직관적으로 이해할 수 있습니다.

    답글삭제
    답글
    1. 감사합니다.. 많이배우고갑니다!

      삭제
  8. 많이 배우게 되네요!.. 이 블로그 다른글들도 읽어볼만한게 많은거같네요

    답글삭제
    답글
    1. 그러시다면 자주 놀러오세요. ^^ 감사합니다.

      삭제
  9. 고등학교 2학년 때 처음으로 배우는게 행렬이죠. 더군다나 2차 정사각행렬만 배우다 보니 행렬이란 학문(정확히는 선형대수학)이 그렇게 어렵지 않다고 생각하는 경향이 짙은 것 같습니다.


    하지만 현실은 ...ㅠㅠ

    답글삭제
    답글
    1. 행렬 잘 하는 나라가 과학기술 선진국입니다. 우리도 열심히 노력해야지요. ^^

      삭제
  10. 오 정말 좋은 자료입니다..너무너무 감사합니다..

    답글삭제
    답글
    1. 감사합니다. 자주 놀러 오세요.

      삭제
  11. 야... 내공이 대단하시네요.
    많은 도움되었습니다.
    단, 수학전공자이고 지금 중학교수학강사인데도 오랫만에 보니까 한참을 고민하네요...
    의미에 대한 설명을 엄밀한 증명과 함께 넣어주셔서 감사합니다!

    답글삭제
  12. 그렇다면 4×4행렬식은 4차원의 방향성 있는 부피가 되는 건가요??! 상상도 못 했던거라 놀라 질문 드립니다.

    답글삭제
    답글
    1. 예, 맞습니다. 4차원에 물체를 만들었다면 그 부피는 4x4 행렬의 행렬식이 됩니다.
      이런 것을 생각해낸 수학자들이 대단하지요. ^^

      삭제
    2. 빠른 답변 정말 감사합니다!
      정말 수학자들 대단하네요. 어떻게 이런 생각을 해서 이걸 계산할 생각을 했을지. ㅎㅎ 근데 4×4 행렬식 풀어보니 3×3 행렬식이 4개나 나와서 식이 엄청 복잡해지네요 ㅋㅋㅋ
      4차원, 어떤 건지 상상은 안 가지만 수학을 이용해 계산할 수 있다는 것에 감탄하고 갑니다.
      좋은 하루 되세요 ^^

      삭제
  13. 식 (11) 부터 나오는 설명이 무슨 말인지 잘 모르겠어요...왜 말이 되려면 역행렬을 가져야 하는지..식 11에 의해서 식 10이 간략화되는 과정도 잘 와닿지가 않네요. 그 결과는 이해가 되지만요. 조금 더 자세히 설명해주실 수 있으신가요?

    답글삭제
    답글
    1. 본문을 조금 수정했습니다. 다시 한 번 봐주세요. ^^

      삭제
  14. 아 alpha_j를 구한다는 의미였군요.
    그런데, 저기서 역행렬이 0이라는 것은(즉 행들이 독립이 아니라는 것은) 무슨 의미인지 잘 와닿지가 않네요..
    r_j가 N-1개의 벡터로 구성된다는 것일 텐데 그럼 subspace?뭐 그런 개념이 필요하겠죠??(아직 선형대수를 안 공부해서...좀 공부하고 다시 읽어봐야겠네요)
    그리고, 행들이나 열들이 서로 같다면, 그중 두 행이나 두 열을 교환했을 때 행렬식의 부호가 바뀌어야 하지만, 같은 행렬이니까 또 행렬식의 값은 같아야 하니 행렬식은 0이라고 생각해도 문제가 없을까요?

    답글삭제
    답글
    1. 1. 그래서, 제시한 개념이 행렬식과 공간의 부피를 같이 생각하자는 것입니다.

      2. $\bar r_j$는 $n$개의 벡터로 구성할 수 있습니다. 이런 과정은 선형 결합(linear combination)이라 부릅니다.

      3. 맞습니다. 행렬식 공식 이용하면 더 쉽게 설명할 수 있겠네요. 본문에 이 내용도 추가하겠습니다. 감사합니다. ^^

      삭제
  15. 항상 감사합니다.^^
    많이 배워갑니다.

    답글삭제
    답글
    1. 이곳에서 일신우일신(日新又日新)하신다니 영광이네요, 박성빈님. ^^

      삭제
  16. 헐 감사합니다. 항상 외우기만 했었는데.ㅠㅠㅠ

    답글삭제
    답글
    1. 뭘요, 익명님. 자주 놀러오세요. ^^

      삭제
  17. 이해가 안됬었는데 덕분에 많이 알아갑니다^^ 감사합니다 정리가 잘 되어 있어 이해하기 쉽네요

    답글삭제
    답글
    1. 도움이 되었다니 영광입니다, 양해린님. ^^

      삭제

욕설이나 스팸글은 삭제될 수 있습니다. [전파거북이]는 선플운동의 아름다운 인터넷을 지지합니다.