✖

행렬식

선형대수에서 행렬식은 각 정사각행렬 A에 스칼라를 대응시키는 사상이고, 이 스칼라를 |A|로 나타낸다. 성분이 수인 행렬이라면 행렬식은 어떤 실수이다.

n-순서쌍의 순열

행렬식을 정의하려면 n-순서쌍의 순열, 더 정확히는 순열의 부호를 구할 줄 알아야 한다. 예를 들어 설명하는 것이 가장 좋다. 순서가 있는 세 수 ⟨1, 2, 3⟩이 ⟨2, 3, 1⟩로 옮겨진다고 하자. 순열은 보통 다음과 같이 쓴다.

(123231)

이제 첫 번째 배열에서 두 번째 배열을 얻으려면 수를 몇 번 맞바꿔야 했는지 알아내야 한다. 이때 바로 옆에 있는 수끼리만 맞바꿀 수 있다. ⟨1, 2, 3⟩에서 시작하자. 먼저 1과 2를 맞바꾼다. ⟨2, 1, 3⟩이다. 다음으로 1과 3을 맞바꾼다. ⟨2, 3, 1⟩이고, 이것으로 원하는 순열을 얻었다. 결과를 얻는 데 두 번 맞바꿨다. 순열의 부호는 간단히 정한다. 맞바꾼 횟수가 짝수이면 부호는 양이고, 홀수이면 음이다. 그러니 이 경우 순열의 부호는 양이다. 다음 예에서도 순열의 부호를 구해 보자.

(42311342)

다음과 같이 한다.

⟨4,2,3,1⟩→⟨4,2,1,3⟩→⟨4,1,2,3⟩→⟨1,4,2,3⟩→⟨1,4,3,2⟩→⟨1,3,4,2⟩

변형이 끝났다. 모두 다섯 번 바꿨으므로 이번에는 홀순열(부호가 음인 순열)을 얻었다.

순열의 부호는 레비치비타 기호로 나타낸다.

ϵi1,…,in={+1(i1,i2,…,in)이 (1,2,3,4,…,n)의 짝순열일 때−1(i1,i2,…,in)이 (1,2,3,4,…,n)의 홀순열일 때0그 밖의 경우

행렬식의 정의

행렬식은 수이다. 정사각행렬에 대해서만 정의되고 det A 또는 |A|로 쓴다. 이 수는 다음과 같이 정의한다.

|A|=∑i1,…,innϵi1,…,ina1i1⋅a2i2⋅…⋅anin

2 × 2 정사각행렬의 행렬식을 구해 보자.

A=(4213)

정의에 n = 2를 대입하면 다음 공식을 얻는다.

|A|=∑i1,i22ϵi1,i2⋅a1i1⋅a2i2

i1과 i2에 차례로 1과 2를 대입한다. 그러면 모두 네 가지 경우를 얻는다. a) i1 = 1, i2 = 1, b) i1 = 1, i2 = 2, c) i1 = 2, i2 = 1, d) i1 = 2, i2 = 2이다.

a)와 d)의 경우에는 ϵ1,1 = 0이고 ϵ2,2 = 0이므로 기호의 값이 0이다. 그래서 공식의 합에서 이 단계는 0이 된다. 0 · a1i1 · a2i2 = 0이기 때문이다.

b)와 c)가 남았다. b) i1 = 1, i2 = 2의 경우에는 ⟨1, 2⟩가 ⟨1, 2⟩의 짝순열이므로 ϵ1,2 = 1이다. 첫 번째 항을 얻는다.

1⋅a1i1⋅a2i2=1⋅a11⋅a22=4⋅3=12

남은 경우에는 i1 = 2, i2 = 1이다. ϵ2,1의 값은 −1이다. 두 번째 항을 얻는다.

−1⋅a1i1⋅a2i2=−1⋅a12⋅a21=−1⋅2⋅1=−2

이제 네 경우 a) + b) + c) + d)를 모두 더하면 다음을 얻는다.

|A|=0+12−2+0=10.

행렬 A의 행렬식은 10이다.

결국 행렬식을 다음과 같은 차로 구했다는 것을 알 수 있다.

|A|=a11⋅a22−a12⋅a21

이 공식은 일반적으로 모든 2 × 2 행렬에 대해 성립한다.

사뤼스 법칙

사뤼스 법칙으로는 3차 행렬의 행렬식을 구한다. 이 행렬식은 조금 더 복잡하다. 예를 들어 다음 행렬의 행렬식을 구해 보자.

A=(53217−80−27)

이제 2차 행렬과 비슷하게 하는데, 알아보기 쉽도록 이 행렬에 행을 두 개 더 붙인다. 행렬 아래에 처음 두 행을 옮겨 적는다.

A′=(53217−80−2753217−8)

그러면 첫 번째 행과 네 번째 행이 같고, 두 번째 행과 다섯 번째 행이 같다. 이제 주대각선 방향에 있는 성분들의 곱을 더하고, 거기서 반대 방향 대각선에 있는 성분들의 곱의 합을 뺀다. 수를 대입하면 다음을 얻는다.

|A|=[5⋅7⋅7+1⋅(−2)⋅2+0⋅3⋅(−8)]−[2⋅7⋅0+(−8)⋅(−2)⋅5+7⋅3⋅1]=140

행렬식의 성질

  • 행렬 A의 한 행이나 열에 수 c ≠ 0을 곱해 행렬 A'을 얻으면 두 행렬식 사이에 c|A| = |A'|이 성립한다. 즉 행렬의 한 행에 3을 곱하고 행렬식을 구했다면, 그 결과를 3으로 나누면 원래 행렬의 행렬식을 얻는다.

  • i번째 행에 수를 곱해 j번째 행에 더해도 행렬식은 바뀌지 않는다. 열도 마찬가지이다.

  • 행렬의 행 가운데 적어도 하나가 영행이면 행렬식은 0이다.

  • 정칙행렬의 행렬식은 언제나 0이 아니고, 특이행렬의 행렬식은 언제나 0이다.

  • 사다리꼴 행렬의 행렬식은 주대각선 성분들의 곱과 같다.

  • 행렬의 두 행을 맞바꾸면 행렬식의 부호가 바뀐다.

  • |A| = |AT|

  • |A · B| = |A| · |B|

  • |A−1| = 1/|A|

위의 성질에서 행렬식을 구하는 꽤 간단한 방법이 나온다. 행렬을 사다리꼴로 바꾼 다음 주대각선의 성분들을 곱하기만 하면 된다. 해 보자.

A=(138250−225)

보통의 행렬 변형으로 행렬을 사다리꼴로 바꾼다.

(138250−225)∼(1380−1−160821)∼(1380−1−1600−107)

이제 대각선 성분들을 곱한다. 1 · (−1) · (−107) = 107이다.

다음 행렬의 행렬식을 구하시오.

A=(3215275664104−311)

먼저 가장 작은 수가 위로 오도록 첫 번째 행과 두 번째 행을 맞바꾸는 것이 좋겠다. 다만 부호를 바꾸는 것을 잊으면 안 된다.

|3215275664104−311|=−|2756321564104−311|

다음으로 계산하기 좋게 두 번째 행에 2를 곱하면 꽤 편하다. 행렬식 전체에 2분의 1을 곱하는 것을 잊으면 안 된다.

−|2756321564104−311|=−12|27566421064104−311|

이제 평소처럼 계속한다.

−12|27566421064104−311|=−12|27560−17−13−80−17−14−180−17−9−11|=−12|27560−17−13−800−1−10004−3|=−12|27560−17−13−800−1−10000−43|=−12⋅2⋅(−17)⋅(−1)⋅(−43)=731

라플라스 전개

라플라스는 행렬식을 구하는 또 다른 알고리즘을 생각해 낸 친절한 분이다. 이 방법을 이해하려면 원래 행렬의 특별한 소행렬을 구할 줄 알아야 한다. 행렬 A가 주어져 있고, 행렬 A에서 행 하나와 열 하나를 지워서 생기는 소행렬을 만들어야 한다. 이 새 행렬을 SijA로 나타내는데, 행렬 A에서 i번째 행과 j번째 열을 지웠다는 뜻이다. 예를 보자.

A=(138250−225)

소행렬 S12A는 다음과 같다.

S12A=(20−25)

다음으로 소행렬식이라는 개념을 정의한다. 소행렬식은 앞에서 정의한 소행렬 SijA의 행렬식일 뿐이다. 소행렬식은 같은 방식으로 나타내되 문자 M을 쓴다. 즉 MijA=|SijA|이다. 성분 aij의 소행렬식이라고도 하는데, 이것이 바로 MijA이다.

이 소행렬식들로 원래 행렬의 행렬식을 구할 수 있다. 첫 단계로 행렬의 한 행(또는 열)을 고른다. 그리고 이 행의 각 성분에 대해 소행렬식을 구한다. 그러면 행의 성분 개수만큼 소행렬식을 얻는다. 이제 n × n 행렬 A의 행렬식을 이 소행렬식들의 가중합으로 나타낼 수 있다.

|A|=∑j=1n(−1)i+j⋅aij⋅MijA

여기서 i는 고른 행이다. 변수 i에 대해 합을 구한다면 변수 j, 즉 열의 첨자를 고정한다.

실제로는 이렇게 한다. 행렬식을 알고 싶은 행렬이 있다. 행렬의 열(또는 행) 하나를 잡고, 그 열의 각 성분에 대해 소행렬식을 구하고 부호 (−1)i + j을 붙인다. 이때 각 행렬식에 그 소행렬식에 해당하는 성분을 곱해서 모두 더한다. 소행렬식 MijA에 성분 aij를 곱하므로 이 성분이 0이면 좋다. 그러면 계산 하나가 줄어서 일을 덜 수 있다. 다음 행렬의 행렬식을 구해 보자.

A=(548610239)

행렬에 0이 하나뿐이므로 두 번째 행이나 세 번째 열을 따라 전개하는 것이 가장 좋다. 예를 들어 행을 고르자. 첫 단계로 소행렬을 뽑아낸다.

S21A=(4839)S22A=(5829)S23A=(5423)

이제 행렬식을 구하면 소행렬식을 얻는다. 2차 행렬이라면 아주 간단하다.

M21A=|4839|=12M22A=|5829|=29M23A=|5423|=7

이제 공식에 대입할 수 있다. i = 2이다.

|A|=(−1)2+1⋅6⋅|4839|+(−1)2+2⋅1⋅|5829|+(−1)2+3⋅|5423|⋅0=(−1)2+1⋅6⋅12+(−1)2+2⋅1⋅29+(−1)2+3⋅7⋅0=−43

두 번째 행의 마지막 성분이 0이어서 세 번째 항도 0이 되었다는 점에 주목하자. 다른 예를 보자.

라플라스 전개를 이용해 다음 행렬의 행렬식을 구하시오.

A=(723266678109105733)

세 번째 열에는 3의 배수만 있다. 이것을 이용해 이 열을 0으로 만들어 두면 나중에 라플라스 전개를 쓰기 좋다. 그래서 두 번째 행에 첫 번째 행의 −2배를, 세 번째 행에 첫 번째 행의 −3배를, 네 번째 행에 −1배를 더한다.

(723266678109105733)∼(7232−8203−13404−2501)

이렇게 해도 행렬식의 값은 바뀌지 않지만 계산하기는 더 쉬워진다. 0이 아닌 성분이 하나뿐인 세 번째 열을 따라 전개하면, 전개에는 첫 번째 행의 세 번째 성분의 소행렬식만 남는다.

|723266678109105733|=(−1)1+3⋅3|−823−1344−251|=3|−823−1344−251|

새 행렬의 세 번째 열에서 맨 아래에 1이 있다. 이것을 쉽게 이용해 이 열을 0으로 만든다.

(−823−1344−251)∼(−2−130−5−160−251)

이제 세 번째 열을 따라 전개한다. 이번에도 0이 아닌 성분은 하나뿐이다.

3|−2−130−5−160−251|=3⋅((−1)3+3⋅1⋅|−2−13−5−16|)=3⋅|−2−13−5−16|

이것은 이제 보통의 방법으로 계산할 수 있다. 3 · (32 − 65) = −99이다.