본문으로 건너뛰기

절4.1행렬식: 정의

목표
  1. 행렬식의 정의를 익힙니다.
  2. 행렬식이 0인 행렬을 한눈에 알아보는 몇 가지 방법과 상삼각행렬 및 하삼각행렬의 행렬식을 계산하는 방법을 익힙니다.
  3. 행렬식의 기본 성질과 그 활용 방법을 익힙니다.
  4. 계산 절차: 행 연산과 열 연산을 이용하여 행렬식을 계산합니다.
  5. 정리: 존재 정리, 가역성 성질, 곱셈성, 전치 성질.
  6. 용어: 대각, 상삼각, 하삼각, 전치.
  7. 필수 용어: 행렬식.

이 절에서는 행렬식을 정의하고, 이를 계산하는 한 가지 방법을 제시합니다. 그런 다음 행렬식이 지닌 수많은 훌륭한 성질 가운데 몇 가지를 살펴봅니다.

소절4.1.1행렬식의 정의

정사각행렬 A의 행렬식은 실수 \det(A)입니다. 행렬식은 행 연산에 대해 어떻게 변하는지를 통해 정의됩니다. 이는 행 축약을 이용하여 행렬식을 계산할 수 있다는 뜻입니다. 절 4.2에서는 행렬식의 재귀적 공식을 제시합니다. 또한 이 소절에서는 행렬식이 가역성과 관련되어 있음을, 절 4.3에서는 부피와 관련되어 있음을 보입니다.

정의

행렬식은 다음 성질을 만족하는 함수

\begin{equation*}
\det\colon \bigl\{\text{square matrices}\bigr\}\To\R
\end{equation*}

입니다.

  1. A에 행 대체를 하여도 \det(A)는 변하지 않습니다.
  2. A의 한 행에 스칼라 c를 곱하면 행렬식에 c가 곱해집니다.
  3. 행렬의 두 행을 맞바꾸면 행렬식에 -1이 곱해집니다.
  4. 단위행렬 I_n의 행렬식은 1입니다.

다시 말해, 모든 정사각행렬 A에 위의 성질을 만족하도록 수 \det(A)를 대응시킵니다.

처음 세 경우 각각에서, 행렬에 행 연산을 수행하면 행렬식에 0이 아닌 수가 곱해집니다. (한 행에 0을 곱하는 것은 행 연산이 아닙니다.) 따라서 정사각행렬 A에 행 연산을 수행해도 행렬식이 0인지 아닌지는 변하지 않습니다.

이러한 특정한 성질들로 정의하는 주된 동기는 기하학적인 것입니다. 절 4.3를 참고하십시오. 이 정의의 또 다른 동기는 행렬식을 계산하는 방법을 알려 준다는 점입니다. 즉, 행 축약을 하면서 그 변화를 추적하면 됩니다.

예제

\det\smallmat2114.를 계산해 봅시다. 먼저 행 축약을 한 다음, 반대 순서로 행렬식을 계산합니다.

\begin{align*}
\amp\mat{2 1; 1 4} \amp\strut\det\amp=7\\
\;\xrightarrow{\hbox to 1.7cm{\hss\tiny$R_1\longleftrightarrow R_2$\hss}}\;\amp
\mat{1 4; 2 1} \amp \strut\det \amp= -7\\
\;\xrightarrow{\hbox to 1.7cm{\hss\tiny$R_2 = R_2 - 2R_1$\hss}}\;\amp
\mat{1 4; 0 -7} \amp \strut\det \amp= -7\\
\;\xrightarrow{\hbox to 1.7cm{\hss\tiny$R_2 = R_2 \div -7$\hss}}\;\amp
\mat{1 4; 0 1} \amp \strut\det \amp= 1\\
\;\xrightarrow{\hbox to 1.7cm{\hss\tiny$R_1 = R_1 - 4R_2$\hss}}\;\amp
\mat{1 0; 0 1} \amp \strut\det \amp= 1
\end{align*}

이 행렬의 기약 행 사다리꼴은 단위행렬 I_2이므로, 그 행렬식은 1입니다. 행 축약의 끝에서 두 번째 단계는 행 대체였으므로, 끝에서 두 번째 행렬의 행렬식도 1입니다. 행 축약의 이전 단계는 -1/7에 의한 행 스케일링이었습니다. (두 번째 행렬의 행렬식에 -1/7를 곱한 값)이 1이므로, 두 번째 행렬의 행렬식은 -7이어야 합니다. 행 축약의 첫 단계는 행 교환이었으므로, 첫 번째 행렬의 행렬식은 두 번째 행렬의 행렬식에 음의 부호를 붙인 값입니다. 따라서 원래 행렬의 행렬식은 7입니다.

이 답이 행렬식의 이 정의와 일치한다는 점에 주목하십시오.

다음은 행 축약을 이용하여 행렬식을 계산하는 일반적인 방법입니다.

계산 절차: 행 축약으로 행렬식 계산하기

A를 정사각행렬이라고 합시다. A에 몇 번의 행 연산을 수행하여 행 사다리꼴인 행렬 B를 얻었다고 가정합시다. 그러면

\begin{equation*}
\det(A) = (-1)^r\cdot
\frac{\text{(product of the diagonal entries of $B$)}}
{\text{(product of scaling factors used)}},
\end{equation*}

이 성립합니다. 여기서 r은 수행한 행 교환의 횟수이며, 대각성분은 행 사다리꼴 B의 대각성분입니다.

다시 말해, A의 행렬식은 행 사다리꼴 B의 대각성분의 곱에 행 교환 횟수에 따른 인수 \pm1을 곱하고, 이를 행 축약에서 사용한 스케일링 인수들의 곱으로 나눈 값입니다.

예제(2\times 2 행렬의 행렬식)

계산 절차를 사용하여 일반적인 2\times 2 행렬 A = \smallmat abcd의 행렬식을 계산해 봅시다.

  • a = 0이면 다음이 성립합니다.
    \begin{equation*}
\det\mat{a b; c d} = \det\mat{0 b; c d} = -\det\mat{c d; 0 b} = -bc.
\end{equation*}
  • a\neq 0이면 다음이 성립합니다.
    \begin{equation*}
\begin{split}
\det\mat{a b; c d} \amp= a\cdot\det\mat{1 b/a; c d}
= a\cdot\det\mat{1 b/a; 0 d-c\cdot b/a} \\
\amp= a\cdot 1\cdot(d-bc/a) = ad-bc.
\end{split}
\end{equation*}

어느 경우든 다음 공식 in 절 3.5을 다시 얻습니다.

\begin{equation*}
\det\mat{a b; c d} = ad-bc.
\end{equation*}

행렬이 이미 행 사다리꼴이라면, 행렬식을 대각성분의 곱으로 바로 읽어 낼 수 있습니다. 이는 삼각 행렬이라고 부르는 조금 더 넓은 부류의 행렬에서도 성립합니다.

정의

  • 행렬 A의 대각 성분은 a_{11},a_{22},\ldots 성분입니다.
    \tikzstyle{circle entry} = [draw,rounded corners,thick,blue!50,inner sep=2pt]
  \begin{tikzpicture}
    \matrix[math matrix, nodes={minimum width=1em, minimum height=1em}] (mat1)
      {
        \node[circle entry]{a_{11}}; \& a_{12} \& a_{13} \& a_{14} \\
        a_{21} \& \node[circle entry]{a_{22}}; \& a_{23} \& a_{24} \\
        a_{31} \& a_{32} \& \node[circle entry]{a_{33}}; \& a_{34} \\
    };
    \matrix[math matrix, nodes={minimum width=1em, minimum height=1em}, xshift=4.75cm] (mat2)
      {
        \node[circle entry]{a_{11}}; \& a_{12} \& a_{13} \\
        a_{21} \& \node[circle entry]{a_{22}}; \& a_{23} \\
        a_{31} \& a_{32} \& \node[circle entry]{a_{33}}; \\
        a_{41} \& a_{42} \& a_{43} \\
      };
    \node[circle entry] at (4.75/2, 1.6) {diagonal entries};
  \end{tikzpicture}
  • 정사각행렬의 0이 아닌 성분이 모두 대각 위쪽에 놓여 있으면 그 행렬을 상삼각이라 하고, 0이 아닌 성분이 모두 대각 아래쪽에 놓여 있으면 하삼각이라 합니다. 0이 아닌 성분이 모두 대각 위에 놓여 있으면, 즉 상삼각이면서 동시에 하삼각이면 그 행렬을 대각이라 합니다.
    \pgfdeclarelayer{background}
\pgfsetlayers{background,main}
\begin{tikzpicture}

  \node[math matrix, nodes={minimum width=1em,minimum height=1em}] (ut) {
    \star \& \star \& \star \& \star \\
        0 \& \star \& \star \& \star \\
        0 \&     0 \& \star \& \star \\
        0 \&     0 \&     0 \& \star \\
  };

  \node[above] at (ut.north) {upper-triangular};

  \begin{pgfonlayer}{background}
  \fill[fill=seq-green!20!white, rounded corners=1.4mm]
    ($(ut-1-1.west)+(-1mm,0)$)
    -- (ut-1-1.north west)
    -- (ut-1-4.north east)
    -- (ut-4-4.south east)
    -- ($(ut-4-4.south)+(0,-1mm)$)
    -- cycle;
  \end{pgfonlayer}

\end{tikzpicture}
\qquad\qquad
\begin{tikzpicture}

  \node[math matrix, nodes={minimum width=1em,minimum height=1em}] (lt) {
    \star \&     0 \&     0 \&     0 \\
    \star \& \star \&     0 \&     0 \\
    \star \& \star \& \star \&     0 \\
    \star \& \star \& \star \& \star \\
  };

  \node[above] at (lt.north) {lower-triangular};

  \begin{pgfonlayer}{background}
  \fill[fill=seq-green!20!white, rounded corners=1.4mm]
    ($(lt-1-1.north)+(0,1mm)$)
    -- (lt-1-1.north west)
    -- (lt-4-1.south west)
    -- (lt-4-4.south east)
    -- ($(lt-4-4.east)+(1mm,0)$)
    -- cycle;
  \end{pgfonlayer}

\end{tikzpicture}
\qquad\qquad
\begin{tikzpicture}

  \node[math matrix, nodes={minimum width=1em,minimum height=1em}] (diag) {
    \star \&     0 \&     0 \&     0 \\
        0 \& \star \&     0 \&     0 \\
        0 \&     0 \& \star \&     0 \\
        0 \&     0 \&     0 \& \star \\
  };

  \node[above] at (diag.north) {diagonal};

  \begin{pgfonlayer}{background}
  \fill[fill=seq-green!20!white, rounded corners=2mm]
    ($(diag-1-1.west)+(-1mm,0)$)
    -- ($(diag-1-1.north)+(0,1mm)$)
    -- ($(diag-4-4.east)+(1mm,0)$)
    -- ($(diag-4-4.south)+(0,-1mm)$) -- cycle;
  \end{pgfonlayer}

\end{tikzpicture}
증명

  1. A에 영행이 있다고 가정합시다. 그 영행에 -1을 곱하여 얻은 행렬을 B라고 합시다. 그러면 두 번째 정의 성질에 의해 \det(A) = -\det(B)입니다. 그런데 A = B이므로 \det(A) = \det(B)입니다:

    \begin{equation*}
\mat{1 2 3; 0 0 0; 7 8 9}
\;\xrightarrow{R_2 = -R_2}\;
\mat{1 2 3; 0 0 0; 7 8 9}.
\end{equation*}

    이를 종합하면 \det(A) = -\det(A)를 얻으므로 \det(A)=0입니다.

    이제 A에 영열이 있다고 가정합시다. 그러면 가역행렬 정리 in 절 3.6에 의해 A는 가역이 아니므로, 그 기약 행 사다리꼴에는 영행이 있습니다. 행 연산은 행렬식이 0인지 여부를 바꾸지 않으므로 \det(A)=0이라는 결론을 얻습니다.

  2. 먼저 A가 상삼각행렬이고 대각성분 중 하나가 0, 예를 들어 a_{ii}=0이라고 가정합시다. 행 연산을 수행하여 0이 아닌 대각성분 위에 있는 성분들을 소거할 수 있습니다:

    \begin{equation*}
\mat{a_{11} \star, \star, \star;
0 a_{22} \star, \star; 0 0 0 \star; 0 0 0 a_{44}}
\;\xrightarrow{\phantom{MMM}}\;
\mat{a_{11} 0, \star, 0;
0 a_{22} \star, 0; 0 0 0 0; 0 0 0 a_{44}}
\end{equation*}

    그 결과로 얻은 행렬에서 i번째 행은 영행이므로, 첫 번째 부분에 의해 \det(A) = 0입니다.

    여전히 A가 상삼각행렬이라고 가정하고, 이제 A의 대각성분이 모두 0이 아니라고 가정합시다. 그러면 대각성분을 스케일링한 다음 행 대체를 하여 A를 단위행렬로 변환할 수 있습니다.

    \begin{equation*}
\begin{split} \amp\mat{a \star, \star; 0 b \star; 0 0 c}
\;\xrightarrow{%
\begin{minipage}{1.8cm}%
\tiny\centering scale by\\$a\inv,b\inv,c\inv$%
\end{minipage}}\;
\mat{1 \star, \star; 0 1 \star; 0 0 1}
\;\xrightarrow{%
\begin{minipage}{1.6cm}%
\tiny\centering row\\replacements%
\end{minipage}}\;
\mat{1 0 0; 0 1 0; 0 0 1} \\
\amp
\hbox to 2.1cm{\hss$\det=abc$\hss} \;\xleftarrow{\hbox to 1.8cm{\hss}}\;
\hbox to 2.1cm{\hss$\det=1$\hss} \;\xleftarrow{\hbox to 1.6cm{\hss}}\;
\hbox to 1.8cm{\hss$\det=1$}
\end{split}
\end{equation*}

    \det(I_n) = 1이고 대각성분의 역수로 스케일링하였으므로, 이로부터 \det(A)가 대각성분의 곱임을 알 수 있습니다.

    하삼각 행렬에 대해서도 같은 논증이 성립하며, 다만 행 대체가 위쪽이 아니라 아래쪽으로 진행된다는 점만 다릅니다.

행렬은 일련의 행 연산을 통해 항상 행 사다리꼴로 변환할 수 있으며, 행 사다리꼴인 행렬은 상삼각행렬입니다. 따라서 행렬식을 계산하는 계산 절차을 완전히 정당화하였습니다.

위의 계산 절차에서처럼 행 축약을 이용하면 임의의 행렬의 행렬식을 계산할 수 있으므로, 행렬식은 그 정의 성질에 의해 특징지어집니다. 그러나 아직 정의 성질을 만족하는 함수가 존재한다는 것은 증명하지 않았습니다! 행 축약을 하면 행렬식이 존재한다면 그 값을 계산할 수 있지만, 행 축약을 이용해 존재성을 증명할 수는 없습니다. 서로 다른 두 가지 방식으로 행 축약을 했을 때 같은 수가 계산된다는 사실을 아직 모르기 때문입니다.

존재 정리는 절 4.2에서 행렬식의 재귀적 공식을 제시하여 증명하겠습니다. 다시 말하지만, 존재 정리의 실제 내용은 다음과 같습니다.

어떤 행 연산을 수행하더라도 항상 같은 행렬식 값이 계산됩니다.

소절4.1.2행렬식의 놀라운 성질

이 소절에서는 행렬식이 갖는 여러 놀라운 성질, 즉 가역성 성질, 곱셈성 성질, 전치 성질에 대해 논의하겠습니다.

가역성 성질에 의해, 가역행렬 정리 in 절 3.6의 성질을 하나도 만족하지 않는 행렬의 행렬식은 0입니다.

특히 A의 두 행 또는 두 열이 서로의 상수배이면 \det(A)=0.입니다. 또한 성분이 모두 0인 행이나 열을 가진 행렬의 행렬식이 0이라는 사실도 다시 얻습니다.

아래의 곱셈성과 전치 성질의 증명, 그리고 여인수 전개 정리 in 절 4.2와 행렬식과 부피 정리 in 절 4.3의 증명은 다음 전략을 사용합니다. 다른 함수 d\colon\{\text{$n\times n$ matrices}\} \to \R를 정의하고, d가 행렬식과 같은 네 가지 정의 성질을 만족함을 증명합니다. 존재 정리에 의해 함수 d는 행렬식과 같습니다. 이것이 함수를 그 성질로 정의하는 것의 장점입니다. 그 함수가 다른 함수와 같음을 증명하려면 정의 성질만 확인하면 됩니다.

정사각행렬 A의 거듭제곱을 취한다는 것은 A를 자기 자신과 곱하는 것을 의미함을 상기하십시오.

\begin{equation*}
A^2 = AA  \qquad A^3 = AAA \qquad \text{etc.}
\end{equation*}

A가 가역이면 다음과 같이 정의합니다.

\begin{equation*}
A^{-2} = A\inv A\inv \qquad A^{-3} = A\inv A\inv A\inv \qquad \text{etc.}
\end{equation*}

완전성을 위해 A\neq 0이면 A^0 = I_n으로 둡니다.

다음은 곱셈성의 또 다른 응용입니다.

증명

곱셈성에 의해 곱의 행렬식은 행렬식들의 곱입니다:

\begin{equation*}
\det(A_1A_2\cdots A_k) = \det(A_1)\det(A_2)\cdots\det(A_k).
\end{equation*}

가역성 성질에 의해, 이 값은 A_1A_2\cdots A_k가 가역일 때, 그리고 그때에만 0이 아닙니다. 한편, \det(A_1)\det(A_2)\cdots\det(A_k)가 0이 아닐 필요충분조건은 각각 \det(A_i)\neq0인 것이며, 이는 각 A_i가 가역임을 뜻합니다.

전치 성질을 서술하려면 행렬의 전치를 정의해야 합니다.

정의

m\times n 행렬 A의 전치는 A의 열들을 행으로 갖는 n\times m 행렬 A^T입니다. 다시 말해, 행렬 A^T의 ij 성분, 즉 i번째 행의 j번째 성분은 a_{ji}입니다.

\begin{tikzpicture}[
      every matrix/.append style={nodes={
          minimum width=1.5em, minimum height=1.5em},
          row sep=.3em, column sep=.3em}
      ]
    \matrix[math matrix, label={[yshift=1mm]above:$A$}] (aij)
      {
        a_{11} \& a_{12} \& a_{13} \& a_{14} \\
        a_{21} \& a_{22} \& a_{23} \& a_{24} \\
        a_{31} \& a_{32} \& a_{33} \& a_{34} \\
      };
    \matrix[math matrix, right=2.4cm of aij,
        label={[yshift=1mm]above:$A^T$}] (aijT)
      {
        a_{11} \& a_{21} \& a_{31} \\
        a_{12} \& a_{22} \& a_{32} \\
        a_{13} \& a_{23} \& a_{33} \\
        a_{14} \& a_{24} \& a_{34} \\
      };
    \draw[->, thick, shorten=6mm] (aij.east) -- (aijT.west);
    \draw[green!50!black, opacity=.5, shorten >=-8mm]
      (aij-1-1.north west) -- (aij-3-3.south east)
      coordinate[pos=1.3, below left=3mm] (left)
      coordinate[pos=1.3, above right=3mm] (right)
      node[pos=1.2, below right, opaque] {\small flip};
    \draw[<->, green!50!black] (left) to[bend left] (right);
    \draw[green!50!black, opacity=.5, shorten >=-8mm]
      (aijT-1-1.north west) -- (aijT-3-3.south east);
  \end{tikzpicture}

역행렬을 구하는 연산과 마찬가지로, 전치는 행렬 곱셈의 순서를 뒤바꿉니다.

전치 성질은 매우 유용합니다. 구체적으로 말하면, \det(A)=\det(A^T)는 예를 들어

\begin{equation*}
\det\mat{1 2 3; 4 5 6; 7 8 9} = \det\mat{1 4 7; 2 5 8; 3 6 9}.
\end{equation*}

임을 의미합니다. 이는 행렬식이 열 연산에 대해서도 잘 작동한다는 흥미로운 특징을 가짐을 뜻합니다. 실제로 A에 대한 열 연산은 A^T에 대한 행 연산과 같고, \det(A) = \det(A^T)입니다.

앞의 따름정리 덕분에 행렬식을 더 쉽게 계산할 수 있습니다. 행렬을 단순화할 때 행 연산과 열 연산을 모두 사용할 수 있기 때문입니다. (물론 행 연산과 열 연산이 행렬식을 어떻게 바꾸는지는 여전히 추적해야 합니다.)

요약: 행렬식의 마법 같은 성질

  1. 네 가지 정의 성질을 만족하는 함수 \det\colon\{n\times n\text{ matrices}\}\to\R는 오직 하나뿐입니다.
  2. 상삼각 또는 하삼각 행렬의 행렬식은 대각성분의 곱입니다.
  3. 정사각행렬은 \det(A)\neq 0일 때, 그리고 그때에만 가역이며, 이 경우
    \begin{equation*}
\det(A\inv) = \frac 1{\det(A)}.
\end{equation*}
  4. A와 B가 n\times n 행렬이면 다음이 성립합니다.
    \begin{equation*}
\det(AB) = \det(A)\det(B).
\end{equation*}
  5. 임의의 정사각행렬 A에 대하여 다음이 성립합니다.
    \begin{equation*}
\det(A^T) = \det(A).
\end{equation*}
  6. 행렬식은 행 연산이나 열 연산, 또는 둘 다를 수행하여 계산할 수 있습니다.