행렬 下
행렬식, 역행렬, 딸림행렬
◎ 행렬식
행렬식(=determinant)는 정사각행렬에 수를 대응시키는 하나의 함수이다. 이 행렬식은 정사각행렬에서만 정의되는 값으로 행렬의 역행렬 존재여부를 결정한다.
따라서 이 행렬식의 명제,
"정방행렬 A는 오직 det A 가 0이 아닐 때에만 역행렬이 존재한다"
를 이용하면 주어진 행렬의 역을 구할 수 있는지 없는지를 쉽게 판단할 수 있다.
정사각행렬(=정방행렬) A의 행렬식을 흔히 detA라고 표기한다.
A가 2x2의 정방행렬이라고 가정했을 때 역행렬을 표현하는 방법은 다음과 같다.
행렬식을 구하는 방법은 2x2일 때는 굉장히 간단하다.
detA = a*d - b*c를 구하면 된다.
그런데 행렬은 2x2만 있는 것이 아니다. 그 이상의 행렬의 행렬식은 어떻게 구할까?
한 행렬의 행렬식은 재귀적으로 정의된다.
예를 들어 4x4 행렬의 행렬식은 3x3 행렬의 행렬식을 항으로 해 정의되고 3x3 행렬의 행렬식은 2x2 행렬의 행렬식으로, 2x2는 1x1 행렬의 행렬식으로 정의된다. 이 2x2 행렬의 1x1 행렬식이 바로 위의 ad-bc인 것이다.
그러면 A가 nxn 행렬이라고 할 때, n > 1 에 대해 A의 행렬식은 다음과 같이 정의된다.
3x3행렬의 소행렬 정의를 이용하면 3x3 행렬의 행렬식의 정의는 아래와 같다.
소행렬?
n x n 행렬 A가 주어졌을 때, 그 소행렬은 A의 i번째 행과 j번째 열을 삭제한 결과로 생긴 (n - 1) x (n - 1)행렬이다.
◎ 딸림행렬
딸림행렬은 이해하기 앞서 여인수에 대한 정의가 필요하다.
여인수라는 것은 A가 n x n 행렬이라고 할 때, 아래의 C를 여인수(confactor)라고 부른다.
A의 여인수행렬이란 것은 A의 각 성분에 여인수 C를 해당 ij번째의 위치에 넣어서 만든 행렬을 뜻한다.
그리고 이 여인수행렬의 전치행렬을 A의 딸림행렬(adjoint matrix)라고 부르는 것이다.
◎ 행렬의 역
역행렬은 n차의 정방 행렬 A가 있고 단위행렬을 E라고 할 때 AX = E가 되는 n차의 정방 행렬 X를 뜻한다.
즉 교환법칙이 성립되지 않는 행렬의 곱셈에서 A에 곱했을 때 단위행렬이 되는 특정 행렬을 말하는 것이다.
행렬 대수는 나눗셈 연산은 정의하지 않지만 곱셈에 대한 역인 역행렬에 대한 정의는 존재한다.
행렬 A에 대한 역행렬은 다음과 같이 표현한다.
위의 행렬식의 명제를 통해 본것 같이 모든 행렬이 역행렬을 갖는 것은 아니다. 우선 정방행렬(n x n)이어야 하며 행렬식이 0이되어서는 안된다.
이처럼 역행렬이 있는 행렬을 가역행렬이라고 하고 역행렬이 없는 행렬은 특이행렬이라 부른다.
역행렬을 구하는 방법은 간단하다.
행렬의 앞에 앞서 구한 행렬식을 곱해주면 된다.
참고 자료;
https://namu.wiki/w/%ED%96%89%EB%A0%AC%EC%8B%9D
Direct11을 이용한 3D게임프로그래밍 (저; 프랭크 D. 루나, 역; 류광, 출판사; 한빛미디어)
'GameProgramming > 게임수학 & 물리' 카테고리의 다른 글
[게임수학] 슬라이딩 벡터 (Sliding Vector) (0) | 2021.10.07 |
---|---|
[게임수학] 반사벡터 (Reflection Vector) (0) | 2021.10.04 |
[게임수학] 행렬 上 (연산, 단위행렬, 전치행렬) (0) | 2020.02.12 |
[게임 수학] 포물선과 원 충돌체크 (0) | 2020.01.21 |
[게임 수학] 두 점 사이의 거리 구하기 (0) | 2020.01.21 |