위 그림을 보면 알 수 있듯이 행렬식은 다소 재밌는? 과정을 통해서 계산할 수 있다.
2 부분을 보면 알겠지만 마치 마트료시카 인형처럼 행렬식을 계산할 수 있는 행렬인 2x2 행렬이 나올 때까지 재귀적으로 계산을 수행하는 것을 볼 수 있다.
이 과정을 수식으로 적으면 다음과 같다.
\[\begin{gather*} \\ \sum_{k=1}^{n}{(-1)^{1+k}a_{ik}M_{ik}} = \sum_{k=1}^{n}{a_{ik}C_{ik}} \\ \end{gather*}\]여기서 또 하나의 수수께끼가 풀린다. Cnm 은 n행 m열 원소를 선택했을 때 소행렬식과 부호값의 곱이다! 이를 여인자라 한다. 영어로는 Cofactor 그래서 C라는 약자를 사용하는 것이다.
아 참고로 위에 붙어 있는 T는 전치행렬이라는 뜻이다. 쉽게 말해서 전치행렬은 열과 행을 서로 바꾸는 거다. 다음을 보면 이해가 단번에 될 것이다.
\[\begin{gather*} \\ \begin{bmatrix} a & b & c\\ d & e & f\\ g & h & i \end{bmatrix}^T= \begin{bmatrix} a & d & g\\ b & e & h\\ c & f & i \end{bmatrix} \\ \end{gather*}\]이와 같이 성분들이 여인자인 행렬의 전치행렬을 수반행렬이라고 한다. 즉, 우리는 지금까지 역행렬을 구하는 여러가지 방법 중에서 행렬식과 수반행렬을 이용하는 방법을 알아보았다고 말할 수 있겠다.
이로서 드디어 우리는 선형연립방정식을 행렬방정식으로 만들고 역행렬을 구하고 행렬곱 연산, 스칼라 배 연산을 통해서 풀 수 있게 되었다.
혹시 시간이 약간 있다면 글을 읽는 것을 잠시 멈추고, 연습장을 하나 꺼내펼치고, 연필이나 볼펜으로 아무 선형연립방정식을 만들어 적은 다음, 행렬식과 수반행렬을 이용해서 역행렬을 구하고 선형연립방정식을 풀어보는 것이 어떨까?
음 설명이 부족하고 지루한 글을 여기까지 읽어줘서 미안하고, 고맙다.
사실 이 글은 Python으로 역행렬을 구하기 위해서 지난 학기에 배웠던 역행렬 개념을 정리하는 글이었다.
(코드는 다 짜놓은 상태이고, 글과 테스트코드를 작성해야함)
아마 곧 있으면, 이에 대한 Python 코드와 약간의 테스트를 곁들인 글도 블로그에 올릴 것 같다.
거의 처음으로 수학과 관련된 글을 써보았는데 역시 수학은 어렵고, 수학을 설명하는 글을 쓰는 것은 더 어렵다.
그렇기 때문에 항상 겸손한 마음으로 더 열심히 공부를 해야겠다는 생각이 든다. (화이팅…!)
다음에는 더 좋은 글로 찾아오겠다. 그럼 안녕🙋♂️