수학

역행렬 구하는 방법, 가우스 소거법, 여인자

콘파냐 2014. 6. 17. 10:52

일반적으로 생각해서 어떤 행렬의 변환에 대해서 원래의 상태로 변환시키는 행렬이 존재할 수 있습니다. 어떤 행렬의 역연산을 역행렬이라고 하고 n×n의 정방행렬 A와 단위행렬 I에 대하여 다음의 조건이 필요합니다.

행렬 A의 역행렬은 유일하게 존재하며 A-¹ 로 나타냅니다.(역행렬이 존재하지 않을 수도 있습니다.) 역행렬이 존재하는 정방 행렬을 가역행렬(invertible matrix) 또는 정칙행렬(nonsingular matrix)라고 하고, 역행렬이 존재하지 않는 행렬을 특이행렬(singlular matrix)라고 합니다.


즉, 역행렬은 곱셈에 대한 역원입니다.

다음은 가우스 소거법을 이용하여 역행렬을 구하는 방법입니다.

아래와 같은 행렬이 있고 역행렬을 가우스 소거법을 이용해 구하려면 다음과 같이 준비를 합니다.

오른편에는 단위행렬을 적어줍니다. 여기서부터 다음과 같은 규칙을 준수합니다.

1. 두 행을 바꿀 수 있습니다.

2. i행에 0이 아닌 상수배를 할수 있습니다.

3. i행에 j행의 k배를 더하거나 뺍니다.

이 원리는 연립방정식의 양변에 상수배를 해도 되고, 각 연립방정식 끼리 더하거나 빼도 되는 원리입니다.위 행렬은 연립방정식의 좌변이기 때문에 가능합니다.

위 규칙을 적절이 왼족행렬과 오른쪽 단위행렬에 똑같이 적용을 하여, 왼쪽행렬은 단위행렬로 변화되면, 오른쪽행렬은 역행렬이 나오게 됩니다.

둘째행에 첫째행을 뺏고, 셋째행에서 둘째행에2를곱하여 뺐습니다. 각각 따로 계산해 줍니다. 이런식으로 계산을 하여 왼쪽행렬을 단위행렬로 만들면 다음과 같이 됩니다.


붉은행렬이 역행렬이 됩니다.


일반적으로 가우스 소거법을 프로그램으로 구현하는건은 복잡하기 때문에 3D 프로그래밍에서는 여인자를 이용해 역행렬을 구하는 방법을 사용합니다.


여인자를 이용한 역행렬 계산법


여인자 구하는 방법

2014/06/13 - [수학] - 행렬(1) - 게임을 위한 수학




원래의 행렬식을 X라고하면



위와 같은 방법으로 A11부터 A33까지 여인자를 구하여 행렬A를 만들도록 합니다.

A행렬의 각 요소의 i성분과 j성분을 바꾸어 새로운 행렬을 만들도록 합니다.



이젠 X의 역행렬을 구할 차례입니다.


|A|는 행렬식입니다. 행렬식을 구하는 방법은 여인자를 통해서 구할 수 있습니다. 자세한 내용은 다음 글을 참고하시면 됩니다.


2014/06/13 - [수학] - 행렬(1) - 게임을 위한 수학


또한 |A|≠0 인 경우에만 역행렬이 존재합니다. X의 행렬식을 구해보면 1이나옵니다.

반응형