2023. 11. 23. 18:09ㆍComputer Sciences/Game Mathemathics
인프런 <게임 엔진을 지탱하는 게임수학, 이득우 교수님> 강의를 듣고 공부한 글입니다.
1. 역행렬(Inverse Matrix)의 개념
역행렬이라고 하는 것은 역함수(Inverse Function)에 해당하는 개념이며, 행렬이란 것도 결국에는 선형 변환의 큰 관점에서 함수와 동일하기에, 역함수와 동일한 개념이라고 볼 수 있습니다. 잠깐 다시 이전 개념들을 복습해 보면, 역함수라는 것은 공역에서 정의역으로 대응되는 관계를 나타낸 함수이며, 오로지 전단사 함수일 때에만 역함수가 존재함을 보장받는다고 하였습니다. 이때, 어떤 전단사 함수와 그 역함수와의 합성 함수는 항등 함수가 된다는 걸 봤었죠.
/*
공역으로 넘어간 대응 관계가 다시 정의역으로 넘어가면서, 원래 자기 자신에게로 대응되기 때문입니다.
*/

항등 함수라는 것은 정의역과 치역의 결과물이 항상 동일한 값으로 대응되는 함수를 뜻하였습니다.

즉, 해석해보면 변환 전과 변환 후의 결과가 동일하다는 것이 핵심이겠습니다. 행렬에도 이러한 항등 함수 개념과 동일하게, 항등 행렬이란 것이 존재합니다. 한 번 알아보도록 하죠.
항등 행렬(Identity Matrix)이란?
어떤 공간과 선형 변환된 공간의 값이 동일한 행렬입니다. 즉, 선형 변환의 결과가 변함이 없는 행렬이죠. 원래 기존 공간의 표준 기저 벡터였던
이를 임의의 행렬로 선형 변환을 적용해 보겠습니다.
동일한 결괏값이 만들어지는 것을 볼 수 있습니다. 이 항등 행렬에다가 어떠한 벡터를 곱하더라도 동일한 벡터가 만들어지게 됩니다. 이러한 항등 행렬을 통해 역행렬의 개념을 정립할 수 있게 됩니다.
역행렬(Inverse Matrix)이란?
선형 변환된 결과를 거꾸로 되돌려주는 선형 변환을 의미합니다.

위를 보시면, 기존 공간의 표준 기저 벡터인
어떤 전단사 함수와 그 역함수의 합성 함수는 항등 함수가 된다고 했었죠? 행렬에서도 동일하게 적용됩니다. 어떤 행렬과 그 역행렬의 합성한 결과는 항등 행렬이 됩니다. 이러한 특성을 통해, 역행렬을 계산할 수 있을 겁니다.
2. 역행렬의 계산 방법
항등 행렬이
행렬식(Determinant)
행렬식은 행렬이 가지고 있는 속성이라고 볼 수 있습니다. 다음과 같은 2차원 정방 행렬
이 행렬에 대한 행렬식은 다음과 같이 정의할 수 있습니다.
그렇다면, 이런 행렬식은 어떠한 때에 쓰이는 걸까요? 바로, 해가 존재하지 않는 조건을 판별해낼 때 쓰입니다. 다음과 같은 연립 방정식이 있다고 가정해 보죠.
위 식은 사실상 해가 존재하지 않는 방정식이죠. 소거법을 위해
행렬에 대해서도 방정식에서 했던 것처럼 해가 존재하지 않음을 증명해 낼 수 없을까요? 있습니다. 그 역할을 하는 게 바로 행렬식입니다.
위 행렬에 대해 행렬식을 적용하면,
같은 기울기를 가지고 있다는 것은 두 벡터가 선형 독립이 아닌, 선형 의존 관계라는 것을 뜻하게 됩니다. 다음 그림과 같이, 서로 다른 기울기를 가지고 있던 벡터가 같은 기울기를 가지는 공간으로 변화된 경우라고 볼 수 있습니다.

위와 같이 변화되어 버리게 되면, 변환된 공간에서는 2차원 벡터 모든 공간의 점이 아닌, 같은 기울기상의 점만 생성할 수 있게 됩니다. 즉, 2차원 평면이 1차원 직선으로 소멸된 안 좋은 변환이라고 볼 수 있습니다. 이러한 경우에는 1차원에서 2차원으로 돌아갈 수 있는 역행렬이 존재하지 않게 되고요.

이러한 상황처럼 역행렬이 존재할 수도, 없을 수도 있는 상황이 있기에 이를 판별할 수 있게 해주는 것이 행렬식입니다. 그러면, 왜
이 가지는 의미
표준 기저 벡터

위 공간의 사각형 넓이는
네, 그렇습니다.
이러한 의미를 가지고 있기 때문에
역행렬 계산하기
다음과 같은 변환을 생각하면, 기존 공간 넓이가 행렬식 값만큼 달라진 것을 알 수 있습니다.

이를 원래대로 되돌리기 위해서는, 달라진 크기의 역수만큼 변하면 되겠습니다.

이를 통해, 행렬식이라는 것은 역행렬의 존재 여부 판별뿐만 아니라, 변환된 공간의 넓이가 얼만큼의 변화가 있었는지 파악하는 데에도 유용하게 사용된다는 것을 알 수 있습니다.
3. 역행렬의 활용
연립방정식의 해를 구할 때 유용하게 사용할 수 있습니다. 예를 들어, 아래 식에서 선형 변환
복잡한 정방 행렬의 역행렬을 구하기 위한 방법으로 가우스 소거법(Gaussian elimination), 크라메르 공식(Cramer's rule)이 있는데, 여기에선 다루지 않고 직관적으로 역행렬을 구하는 법을 보겠습니다.
크기 행렬의 역행렬
표준 기저 벡터

늘린만큼 다시 줄이면 됩니다. 즉, 다음 행렬이
밀기 행렬의 역행렬

회전 행렬의 역행렬

여기에
그런데 자세히 살펴보면,
이를 통해, 회전 행렬의 역행렬은 전치 행렬이 됨을 알 수 있겠네요.
'Computer Sciences > Game Mathemathics' 카테고리의 다른 글
[게임 수학] #11 | 내적(Dot Product) (1) | 2023.11.25 |
---|---|
[게임 수학] #10 | 아핀 공간(Affine Space) (1) | 2023.11.24 |
[게임 수학] #8 | 행렬(Matrix) (0) | 2023.11.16 |
[게임 수학] #7 | 선형성(Linearity) (0) | 2022.07.28 |
[게임 수학] #6 | 삼각함수(2) : 각의 측정법 (0) | 2022.07.25 |