크라머 공식 (Cramer's rule)

행렬식의 해벡터에서 필요한 성분만을 구하는 방법

2019년 08월 04일

크라머 공식 (Cramer's rule)

[a11a12...a1na21a22...a2n...an1an2...ann][x1x2...xn]=[b1b2...bn]\begin{bmatrix} a_{11} & a_{12} & ... & a_{1n} \\ a_{21} & a_{22} & ... & a_{2n} \\ & & ... & \\ a_{n1} & a_{n2} & ... & a_{nn} \\ \end{bmatrix} \begin{bmatrix} x_1 \\ x_2 \\ ... \\ x_n \end{bmatrix} = \begin{bmatrix} b_1 \\ b_2 \\ ... \\ b_n \end{bmatrix}

위와 같은 행렬방정식 Ax=bAx = b 가 있습니다. 행렬 AA 의 한 열 jj 를 열벡터 bb 로 대체한 행렬을 AjA_j 라 하겠습니다. 이 때 해벡터 xx 의 한 해 xjx_j에 대해 다음이 성립합니다.

xj=det Ajdet Ax_j = \frac{det\text{ }A_j}{det\text{ }A}

행렬식 Ax=bAx = b 에서 해벡터 xx 의 전체 엘리먼트가 아닌 필요한 해 xjx_j 만을 구하는 위 식을 크라머 공식이라 합니다.







증명

행렬 AAijij 여인자를 CijC_{ij} 라 할 때 행렬식 det Adet\text{ }A 를 다음과 같이 쓸 수 있습니다.

det A=a1jC1j+a2jC2j+...+anjCnj=i=1naijCij\begin{aligned} det\text{ }A & = a_{1j}C_{1j} + a_{2j}C_{2j} + ... + a_{nj}C_{nj} \\ & = \sum^n_{i = 1}a_{ij}C_{ij} \end{aligned}

한편 kjk \neq jkk 에 대해 다음과 같이 식을 써보겠습니다.

a1kC1j+a2kC2j+...+ankCnj=i=1naikCija_{1k}C_{1j} + a_{2k}C_{2j} + ... + a_{nk}C_{nj} = \sum^n_{i = 1}a_{ik}C_{ij}

위 식에서 여인자 CijC_{ij}kk 열의 값이 반영되어 있으므로 이는 kk 열과 값이 같은 열이 적어도 하나 이상 더 존재하는 행렬의 행렬식과 같습니다. 값이 같은 열이 두 개이상 존재하면 행렬의 열벡터들이 일차독립이 아니므로 위 식의 결과는 0입니다.

i=1naikCij=0\sum^n_{i = 1}a_{ik}C_{ij} = 0
이제 아래와 같이 행렬방정식을 전개해 보겠습니다. a11x1+a12x2+...+a1jxj+...+a1nxn=b1a21x1+a22x2+...+a2jxj+...+a2nxn=b2...an1x1+an2x2+...+anjxj+...+annxn=bna_{11}x_1 + a_{12}x_2 + ... + a_{1j}x_j + ... + a_{1n}x_n = b_1 \\ a_{21}x_1 + a_{22}x_2 + ... + a_{2j}x_j + ... + a_{2n}x_n = b_2 \\ ... \\ a_{n1}x_1 + a_{n2}x_2 + ... + a_{nj}x_j + ... + a_{nn}x_n = b_n

각 식에 여인자 CijC_{ij} 를 곱해보겠습니다.

a11C1jx1+a12C1jx2+...+a1jC1jxj+...+a1nC1jxn=b1C1ja21C2jx1+a22C2jx2+...+a2jC2jxj+...+a2nC2jxn=b2C2j...an1Cnjx1+an2Cnjx2+...+anjCnjxj+...+annCnjxn=bnCnja_{11}C_{1j}x_1 + a_{12}C_{1j}x_2 + ... + a_{1j}C_{1j}x_j + ... + a_{1n}C_{1j}x_n = b_1 C_{1j} \\ a_{21}C_{2j}x_1 + a_{22}C_{2j}x_2 + ... + a_{2j}C_{2j}x_j + ... + a_{2n}C_{2j}x_n = b_2 C_{2j} \\ ... \\ a_{n1}C_{nj}x_1 + a_{n2}C_{nj}x_2 + ... + a_{nj}C_{nj}x_j + ... + a_{nn}C_{nj}x_n = b_n C_{nj}

위 식들을 모두 더해보겠습니다.

i=1nai1Cijx1+i=1nai2Cijx2+...+i=1naijCijxj+...+i=1nainCijxn=i=1nbiCij\sum^n_{i = 1}a_{i1}C_{ij}x_1 + \sum^n_{i = 1}a_{i2}C_{ij}x_2 + ... + \sum^n_{i = 1}a_{ij}C_{ij}x_j + ... + \sum^n_{i = 1}a_{in}C_{ij}x_n = \sum^n_{i = 1}b_i C_{ij}

식에서 kjk \neq jkk 열에 대해 i=1naikCij=0\sum^n_{i = 1}a_{ik}C_{ij} = 0 이므로 i=1naikCijx\sum^n_{i = 1}a_{ik}C_{ij}x 와 같은 항은 모두 0입니다. i=1naijCijxj=det Axj\sum^n_{i = 1}a_{ij}C_{ij}x_j = det\text{ }A x_j 이고 i=1nbiCij\sum^n_{i = 1}b_i C_{ij} 는 행렬 AAjj 열을 벡터 bb 로 대채했을 때의 행렬식 det Ajdet\text{ }A_j 입니다. 따라서 식을 정리하면 다음과 같습니다.

0+0+...+det Axj+...+0=det Ajdet Axj=det Ajxj=det Ajdet A0 + 0 + ... + det\text{ }A x_j + ... + 0 = det\text{ }A_j \\ det\text{ }A x_j = det\text{ }A_j \\ \therefore x_j = \frac{det\text{ }A_j}{det\text{ }A}





출처