본문 바로가기
다른 공부들/수학

[Kreyszig 공업수학][선형대수] 7장 (7) 역행렬

by 생각사람 2023. 9. 18.
 

Kreyszig 공업수학(상) | Erwin Kreyszig - 교보문고

Kreyszig 공업수학(상) | 『공업수학』 상권. 이 책은 반세기 동안 전 세계적으로 가장 널리, 그리고 가장 많이 채택되어 사용되고 있는 Erwin Kreyszig교수가 저술한 Advanced Engineering Mathematics, 10th Edition

product.kyobobook.co.kr

위의 공업수학 교재에 나오는 내용을 혼자 공부하기 위해 정리한 요약노트입니다. 그리고 영어교과서를 기준으로 보고 있기도 하고, 많은 전공서적들에서 영어표현을 많이 사용하기 때문에, 한글용어를 일부러 찾아서 소개는 해볼 생각이지만 용어소개가 끝나면 주요 용어들은 영어로 나오게 될 예정인 점 양해 부탁드립니다.

 

앞 글에서 말씀드렸던 대로 이 책의 역행렬 부분이 좀 빈약하기 때문에 묶어서 정리하고 바로 고유치문제로 넘어가려고 해요.

목차

    역행렬

    이 파트는 그다지 충실하다는 느낌이 없어서 후다닥 정리하고 넘어가볼까 해요. 이건 다음에 선형대수학 교과서만 따로 공부할 일이 있으면 정리해보려고 해요. 역행렬을 논의할 때에는 여기서는 설명하지 않는 이유 때문이지만, 정사각행렬만을 얘기합니다. 자세한 얘기를 하려면 기저와 선형사상 얘기를 안 할 수가 없기 때문에 넘어가도록 할게요.

    역행렬의 정의

    영어로는 Inverse라고 하고, 역행렬이 존재하는 행렬은 invertible matrix라고 합니다. 정의는, 이미 아시리라고 생각해요. 만약 \(n\times n\) 행렬 \(A\)의 역행렬 \(B\)가 존재한다면, 다음이 성립해요. 여기서 \(I_{n}\)은 항등행렬(identity matrix, 모든 대각성분의 값은 1이고 나머지는 0)이에요.

    $$AB = BA = I_{n}$$

    역행렬의 존재 여부와 행렬식과 rank와의 관계

    고등학교 때 수학을 생각해보면, 행렬식의 값이 0이 아닌 경우 역행렬이 존재했었죠? 즉, 행렬 

    $$A = \pmatrix{a & b \\ c & d}$$에 대해 $$\det(A) = ad - bc \ne 0 $$이면 역행렬이 존재하였습니다. 즉, invertible하게 됩니다.

     

    일반적인 \(n\times n\) 행렬에 대해서도 동일하게 성립합니다.

    다음은 동치이다.
    $$\exists A^{-1} \Leftrightarrow \text{rank} \ A = n \Leftrightarrow \det(A) \ne 0$$

    뒷부분 양방향 화살표는 이미 이전 글에서 증명이 되었으니 첫번째 화살표에만 집중하도록 하겠습니다.

    증명

    그 사이에 잠시 언급을 해두면, 고1 때 배우셨으리라고 생각하는데, 연산에서의 역원은 귀류법을 사용하면 유일함을 증명할 수 있었죠? 역원이 더 있다고 가정하면 결국 같은 놈이 나온다는 논리였는데요. 여기서도 역행렬이 존재한다면, 그 역행렬은 유일함을 보일 수 있습니다. 만약 역행렬 \(A^{-1}  = B\)인데, \(C\)도 역행렬이 될 수 있다고 하면,

    $$ AC = AB = I_{n} = BA = CA,\; B=C$$

    \(A\)의 역행렬이 존재하니 왼쪽에서 곱하든 오른쪽에서 곱하든 없애줄 수 있으니까요.

     

    이제 본론으로 들어갈게요!

    (1) (\(\Rightarrow\)) 역행렬이 존재하므로 연립방정식 \(A\vec{x} = \vec{b}\)의 해는 

    $$\vec{x} = A^{-1}\vec{b}$$로 정해집니다. 그런데 이 해는 유일해야 해요. 왜냐하면, 다른 해 \(\vec{u}\)가 있다고 가정하면 \(\vec{x} = \vec{u}\)가 되거든요. 대입해보면 알 수 있어요. 따라서 이 연립방정식의 해는 유일하게 결정되고, 이전의 그 거창하기만 했던 선형방정식 기본정리(기억 안 나시면 아래의 이전 글 링크를 참조해주세요!)에 의해 

    $$\text{rank} \ A = n$$

    임이 증명됩니다.

     

    [Kreyszig 공업수학][선형대수] 7장 (4) 선형연립방정식의 해

    Kreyszig 공업수학(상) | Erwin Kreyszig - 교보문고 Kreyszig 공업수학(상) | 『공업수학』 상권. 이 책은 반세기 동안 전 세계적으로 가장 널리, 그리고 가장 많이 채택되어 사용되고 있는 Erwin Kreyszig교수

    sgsrvilla.tistory.com

    (2) (\(\Leftarrow\)) 임의의 \(n\times n\) 행렬을 다루고 있다는 점에서 일반성 때문에 증명이 되니 조금 찝찝하기는 합니다만, 해볼게요. \(\text{rank} \ A = n\)이므로 선형방정식 기본정리에 의해 \(A\vec{x} = \vec{b}\)꼴의 해는 (항상) 유일해야 합니다. \(n\)개의 선형(일차)연립방정식의 해가 존재하고 유일하다면, 우리는 어렸을 때부터 소거법, 대입법 등을 통해서 풀었었고 이것이 곧 Gaussian elimination이라고 여러번 얘기했었죠? 그리고 Gaussian elimination은 elementary row/column operation의 모임으로 표현되는 것이고, 각각은 행렬으로 나타납니다. 즉, 각 operation의 행렬을 \(E_{i}\)라고 표현하면, 

    $$ A \xrightarrow{E_{1},\; E_{2},\; \cdots,\; E_{k}} I_{n}$$

    형태가 되는 겁니다. 그러면,

    $$A\vec{x} = \vec{b} \; \Rightarrow \; \vec{x} = \prod_{i=1}^{k}E_{i} \vec{b}$$ 이제 저 곱셈기호로 정리된 식을 \(B\)라고 두고 저걸 역행렬이라고 우기면 됩니다.(ㅋㅋ) 즉, \(\vec{x} = B\vec{b}\)라고 하면,

    $$\begin{cases} A\vec{x} = AB\vec{b} = \vec{b},\; \forall \vec{x},\; \vec{b} \\ \vec{x} = B\vec{b} = BA\vec{x},\; \forall \vec{x},\; \vec{b} \end{cases}$$

    그러므로 $$AB= BA = I_{n}$$을 만족하며, 역행렬의 정의에 부합하면서 역행렬이 존재하면 유일해야 하므로 역행렬이라고 보면 되는 겁니다... 조금 찝찝하지만 틀린 부분은 없어보여요.

    역행렬의 성질

    고등학교 수준이었지만, 요즘 고등학교에서는 보지 않는 내용이기 때문에, 한 번 훑어볼게요.

    (1) \(\text{rank} \ A = n\)이고 \(AB = AC\)이면 \(B = C\)
    (2) \(\text{rank} \ A = n\)일 때, \(AB = O\)이면 \(B = O\). 그러므로 \(AB = O,\; A \ne O,\; B \ne O\)라는 것은 \(\text{rank} \ A < n,\; \text{rank} \ B < n\)임을 의미
    (3) \(A\)의 역행렬이 존재하지 않으면 임의의 행렬 \(B\)를 앞이든 뒤든 곱한 \(AB,\; BA\)도 역행렬이 없다.

    증명은 어렵지 않아요.

    증명

    (1) 역행렬이 존재하므로 바로 증명됩니다.

    (2) 역행렬이 존재하므로 증명되고, \(A\)든 \(B\)든 하나라도 역행렬이 있으면 그 곱해진 반대쪽(\(B\) 혹은 \(A\))이 영행렬이 될 수 있게 되므로 뒤의 명제도 증명되어요.

    (3) 이 책은 증명할 때에 엄밀하게 들어가기보다는 '임의의' 선형방정식을 들이대는 경우가 꽤 된다는 특징이 있네요. 어쨌든, \(\text{rank} \ A \lt n\)임은 주어진 셈이니, 선형방정식의 기본정리에 의해서 선형방정식 \(A\vec{x} = \vec{0}\)가 non-trivial solution을 가진다는 말이 됩니다. 이 해들은 \(BA\vec{x} = \vec{0}\)도 만족하는 해가 되므로 \(\text{rank} \ BA \lt n\)가 됩니다.

     

    그런데 \(\text{rank} \ A = \text{rank} \ A^{t} \lt n\)이므로, 동일한 이유로 \(\text{rank} \ B^{t}A^{t} \lt n\)가 되므로,

    $$\text{rank} \ B^{t}A^{t} = \text{rank} \ (AB)^{t} = \text{rank} \ AB \lt n$$

    가 성립하여 역행렬이 없음이 증명됩니다.

    역행렬 구해보기

    구하는 방법은 크게 2가지가 있습니다.

    • Gauss-Jordan 소거법(elimination)
    • 해석적 해법(Analytical solution): Cofactor를 이용

    둘 다 노가다에 해당하기 때문에 계산하는 입장에서는 별로 유리하지 않다고 합니다. 각각 알아볼 건데 별 건 없어요.

    Gauss-Jordan elimination

    앞의 Gaussian elimination의 응용이라고 생각하시면 됩니다. 어떤 \(n\times n\) invertible matrix \(A\)가 있다고 해봐요. 우리가 다음을 만족하는 \(\vec{x}_i\)를 구할 수 있다고 해보면 어떨까요? 

    $$\eqalign{A\vec{x_{1}} = \vec{e_{1}}^{t},\\ A\vec{x_{2}} = \vec{e_{2}}^{t},\\ \cdots ,\\ A\vec{x_{n}} = \vec{e_{n}}^{t}}$$

    여기서 \(\vec{e_{i}}\)는 \(i\)번째 성분만 1이고 나머지는 0인 단위벡터(unit vector)를 말합니다. 이걸 순서대로 모은 행렬을 생각해본다면,

    $$A\pmatrix{\vec{x_{1}} & \cdots & \vec{x_{n}}} = \pmatrix{\vec{e_{1}} & \cdots & \vec{e_{n}}} = I_{n}$$

    꼴이 되겠죠. 그러면, 다음의 augmented matrix를 생각해보면,

    $$\tilde{A} = \pmatrix{A & | & I_{n}}$$

    작대기 왼쪽의 \(A\)가 reduced row echelon form으로 되도록 하면 \(I_{n}\)형태가 될 텐데, 이렇게 되는 elementary row operation(각 행렬의 영역은 침범하면 안되니 작대기를 넘어선 column operation은 하면 안돼요!) 을 오른쪽의 \(I_{n}\)에도 적용해주면 역행렬을 구하게 되는 셈입니다. 노가다죠

    Analytical solution

    Cofactor를 이용한 정의인데, invertible matrix에 대해 무조건 역행렬을 구할 수 있는 방법이 되기는 하지만 계산이 너무 많기 때문에 실제 쓰기에는 적합하지 않습니다. 이론적으로는 쓸 만하겠어요.

     

    형태는 다음과 같습니다.

    $$\eqalign{A^{-1} &= {1\over \det(A)} \pmatrix{C_{jk}}^{t} \\ &= {1\over \det(A)}\pmatrix{C_{11} & C_{21} & \cdots & C_{n1} \\ \vdots & \vdots & \ddots & \vdots \\ C_{1n} & C_{2n} & \cdots & C_{nn}}}$$

     

    Motivation은 앞선 글에서 cofactor expansion할 때에 특정 행의 cofactor와 다른 행이나 열의 성분과의 곱을 이용한 가짜 행렬식을 구하게 되면 값이 0이라는 것입니다.

     

    [Kreyszig 공업수학][선형대수] 7장 (5) 행렬식에 대해

    Kreyszig 공업수학(상) | Erwin Kreyszig - 교보문고 Kreyszig 공업수학(상) | 『공업수학』 상권. 이 책은 반세기 동안 전 세계적으로 가장 널리, 그리고 가장 많이 채택되어 사용되고 있는 Erwin Kreyszig교수

    sgsrvilla.tistory.com

    굉장한 것은 없기 때문에 아래의 유도과정(수기여서 죄송합니다...) 참조하시면 될 것 같아요. 

    단순계산으로 유도 가능하다
    단순계산입니다... 글씨는 죄송합니다.

    참고로 각 성분을 어떤 행렬의 cofactor로 가지는 행렬, 즉, 행렬 \(A = (a_{ij})\)에 대해 

    $$\boldsymbol{C} = (C_{ij})$$

    행렬 \(A\)의 adjugate matrix, \(\text{adj} \ {A}\)라고 합니다. 위의 내용을 잘 생각해보면, 다음이 성립함을 알 수 있겠죠?

    $$A (\text{adj} \ A) = (\det{A}) I_{n}$$

    \(\det{AB} = (\det{A})(\det{B})\) 증명

    다음 내용이 \(\det{AB} = (\det{A})(\det{B})\)인데 좀 얼렁뚱땅 같은 느낌은 있어요... 나중에 참고만 해보려고 적어둡니다. Gauss-Jordan elimination을 가지고 생각해볼 수는 있는 거여서 대단한 내용은 아닙니다.

     

    둘 중 하나라도 \(\det\) 값이 0이라면 (즉, \(\text{rank} \ \lt n\)) 우변은 0이 되는 건 당연합니다. 그리고 앞의 역행렬의 성질에서 다뤘듯이 한 행렬이 \(\text{rank} \lt n\)이면 거기에 뭘 곱해도 \(\text{rank} \lt n\)임을 보였었죠. 그러니 좌변도 0이 됩니다.

     

    이제 둘 다 역행렬이 존재한다고 해봅시다. 그리고 \(A\) 기준으로 먼저 생각해보면 \(B\)도 똑같이 생각할 수 있어요. \(A\)를 가지고 역행렬을 구하든 행렬식 값을 구하기 위해 Gauss-Jordan elimination을 하다가보면 대각성분만 남게 만들 수 있음을 연립방정식을 생각해보면 알 수 있어요. 이걸 \(A^{\prime}\)이라고 해볼까요? 그러면,

    $$\eqalign{\det{AB} &= \det{A^{\prime}B} \\ &= \det{\pmatrix{a_{11}^{\prime} & 0 & \cdots & 0 \\ 0 &  a_{22}^{\prime} & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \cdots & a_{nn}^{\prime}}B} \\ &= \det{\pmatrix{a_{11}^{\prime}b_{11} & a_{11}^{\prime}b_{12} & \cdots & a_{11}^{\prime}b_{1n} \\ a_{22}^{\prime}b_{21} &  a_{22}^{\prime}b_{22} & \cdots & a_{22}^{\prime}b_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ a_{nn}^{\prime}b_{n1} & a_{nn}^{\prime}b_{n2} & \cdots & a_{nn}^{\prime}b_{nn}} } }$$ 각 행에 상수배한 건 묶어서 밖으로 뺄 수 있으니 (행렬식의 성질!!) 

    $$\eqalign{\det{A^{\prime}B} &= \prod_{k=1}^{n}a_{kk}^{\prime}\det{B} \\ &= \det{A^{\prime}}\det{B}}$$

    반대도 크게 다르지 않습니다.

     

    어떤 책에서는 elementary operation에 대한 행렬에 대해서 위의 명제가 성립함을 보이고, invertible matrix는 elementary operation에 대한 행렬들의 곱으로 나타남을 이용하여 똑같이 증명하기도 합니다. 골자는 크게 다르지 않아요. 조금 아리까리 한 부분이 있다고 생각하시면 댓글로 달아주세요! 조금 더 자세히 설명한 글을 추가로 올려볼게요

    이로써 공업수학 교재로는 7장, 그리고 일반적인 선형대수학 책 기준으로는 행렬식 파트까지 끝냈네요. 다음 글부터는 대망의 고유치문제(eigenvalue problem)와 대각화(diagonalization)를 다루는 8장 내용을 요약해보도록 할게용.

    댓글