행렬

기록보관소 / 게임수학

가. 개요

행과 열로 구성된 격자 모양의 배열 안에 스칼라를 나열한 것이다.


나. 행렬이 컴퓨터 연산에서 중요한 이유

컴퓨터는 기본적으로 가산기(accumulator)의 집합으로 이루어져 있다. 그러므로 가장 잘하는 연산은 +, *(더하기의 반복)이다.컴퓨터는 선형적인 연산에 적합하다.

배열로 표현되기 때문에 속도가 빠르다. 대량의 데이터 처리에 적합하고 행렬 곱셈의 결합법칙도 작용한다.


다. 개념

정방행렬 square matrix
행과 열의 개수가 같은 행렬로 게임개발에 주로 사용된다.


대각성분 diagonal element
i = j가 같은 element, 행과 열의 번호가 같은 요소를 말한다.


영행렬 zero matrix
모든 요소가 0인 행렬로 행렬 덧셈의 항등원이다.


대각행렬diagonal matrix
대각성분을 제외한 모든 성분이 0이다.


단위행렬 identity matrix
대각성분이 모두 1인 대각행렬로 행렬의 곱셈의 항등원이다.


항등원
임의의 연산에서 자기자신이 나오게 하는 것이다.


역원
임의의 연산에서 항등원이 나오게 하는 것이다.


행벡터
행으로만 이루어진 행렬. 벡터에 대응되므로 행벡터라 한다.


열벡터
열로만 이루어진 행렬. 벡터에 대응되므로 행벡터라 한다.


다. 행렬의 연산

행렬끼리의 덧셈
같은 형태의 행렬끼리만 가능, 각각의 성분끼리 더한다.


행렬끼리의 곱셈
Mij = 시그마 Aik * Bkj
교환법칙은 성립하지 않는다. 결합법칙은 성립한다.
(AB)C = A(BC)


전치 Transpose
i행 j열의 요소를 j행 i열의 요소로 바꾼다. 정방행렬에서는 대각성분을 기준으로 뒤바꾼다.


행렬식 determinent
임의의 행렬에 대응되는 스칼라 평가값을 얻는 식이다. 행렬의 특성, 가령, 가역인지 여부를 판단할 수 있게 해준다. 정방행렬에서만 구할 수 있다.

여인수 전개 방법으로 n * n행렬의 행렬식을 구할 수 있다.
1) 만만한 행 또는 열을 하나 선택한다(0이나 1이 많은 것)
2) 선택한 행 또는 열에 스칼라를 계수로 적는다
3) 부호규칙을 적용한다
4) 여인수를 적용한다


역행렬 inverse matrix
행렬 곱셈에 대한 역원이다. 행렬 A에 대해 A의 역행렬 A^-1는 다음과 같이 구한다.

A^-1 = (1 / detA) * adjA

수반행렬은 다음과 같이 구한다.
1) 전치한다.
2) 여인수행렬을 구한다.


행렬의 스칼라곱셈
행렬의 각각의 원소에 스칼라를 곱한다.