수학에서 선형대수학의 기본 정리(Fundamental theorem of linear algebra)라는 것이 있다. 이는 행렬과 선형 변환은 본질적으로 같다는 것을 증명한 내용을 담고 있다. [출처] 6. 행렬(Matrix)의 설계 방법|작성자 이득우 https://blog.naver.com/PostView.nhn?blogId=destiny9720&logNo=221401729370&categoryNo=22&parentCategoryNo=&from=thumbnailList
행렬의 종류
- 정방 행렬(square matrix) : 행과 열의 개수가 같음. - 영 행렬(zero matrix) : 모든 요소가 0인 행렬. - 전치 행렬(transpose matrix) : 행렬의 각 요소들의 행과 열을 뒤바꿔 나온 행렬 전치 행렬 - 대칭 행렬(symmetric matrix) : 대칭 행렬은 항상 정방 행렬이며, 행 번호와 열변호가 같은 주대 각선상 기준으로 성분들이 대칭으로 나타난다. http://www.ktword.co.kr/abbr_view.php?m_temp1=4762 - 항등 행렬(identity matrix) : 숫자 1과 같이 무엇을 곱해도 원래의 수가 나오게 하는 행렬이다. 즉 주대각선분들은 모두 1이고, 나머지 성분들은 0이다. https://brunch.co.kr/@linecard/454
1. 행렬의 기본 연산
행렬의 두연산
1. 행렬의 합 (여기서 굳이 길게 설명 안 한다.)
2. 스칼라와 행렬의 곱 ( 두 행렬을 곱하려면 A의 열의 개수와 B의 행의 개수가 반드시 같아야 한다. 그리고 교환 법칙이 성립되지 않는다.)
- 행렬 곱셈과 전치 행렬 사이의 재미있는 관계.
(A X B)^T = B^T X A^T (^T 전치행렬)
- 두 정방 행렬(서로 곱하는 순서와 상관X) 항등 행렬을 산출 -> 두 정방 행렬은 서로에 대해 역행렬.
A X B = B X A = I (I 항등 행렬) 일 때,
A X A^-1 = A^-1 X A = I (A^-1 역행렬)
- 역행렬을 갖지 않는 행렬 -> 특이행렬(singular matrix)이라고 한다.
역행렬을 가지는 행렬 -> 가역행렬(invertible matirx) or 정칙행렬(non-singular matirx/반특이 행렬) 라고함.
- 두행렬의 곱셈에 역행렬을 취하면 각각의 역행렬 순서를 바꿔서 곱한것과 같다.
(A X B)^-1 = B^-1 X A^-1
- 행렬과 벡터의 곱
- 행렬과 행렬의 곱
2. 행렬식(Determinant)과 역행렬
행렬식은 어떤 행렬에 대한 역행렬이 존재하는지를 감별해주는 공식이다. 행렬식 값이 0이면 그 행렬의 역행렬은 존재하지 않는다는 것을 의미한다. 행렬식은 역행렬이 존재하는지 유무를 판별하는 특징이 있어서 결정하다(Determine)에서 유래해 영어로는 Determinant라는 용어로 불리는데, 아시아로 넘어오면서 행렬식(行列式)이라는 단어가 되었다. [출처] 8. 행렬식(Determinant)|작성자 이득우 / https://blog.naver.com/PostView.nhn?blogId=destiny9720&logNo=221402399478&categoryNo=22&parentCategoryNo=&from=thumbnailList
2x2 행렬이 있다고하면, 행렬식 det(A)는 아래와 같다.
라플라스 전개를 3X3 행렬에 적용한 결과
라플라스 전개? 어떤 정방 행렬이 있을 때, 하나의 행과 하나의 열을 그 행렬에서 제외하고 남은 보다 작은 정방행렬의 행렬식을 이용하여, 원래 정방행렬의 행렬식을 구하는 기법
위처럼 나오는 det(A)가 0이 아닌 행렬만이 역행렬을 가질 수 있다.
그런데 컴퓨터 그래픽스에서 나오는 행렬들은 모두 직교행렬이라서 역행렬을 구할때 위 방법을 쓰진 않는다.
역행렬을 쉽게 구할수 있는 몇가지 특수한 경우가 있다.
1. 직교 행렬(Orthogonal)의 역행렬
직교행렬의 정의
행렬을 구성하는 모든 행과 열 벡터가 자기 자신을 제외한 나머지 행과 열벡터와 90도를 이룸과 동시에 크기가 1인 단위 벡터로 구성된 행렬을 의미 (대표적인 직교행렬로는 항등행렬이 있다.) [출처] 9. 역행렬(Inverse Matrix) 구하기|작성자 이득우
직교행렬의 예제로 우회전하는 행렬이 있다. 우회전 하는 행렬은 어떤 벡터 공간을 우회전 시켜준다고 하자.
https://blog.naver.com/destiny9720/221401729370
우회전의 본질을 생각하면 기존의 X축이 -Y축으로, Y축이 X축으로 변하는 것이 우회전인 것이다.
기존의 X축이 -Y축으로 변하는 것이니 행렬의 첫 번째 열은 (0, -1) 이 된다.
Y축은 X축으로 변하므로 두 번째 열은 (1, 0)이 된다. 이 둘을 합한 우회전하는 행렬은 다음과 같다.
우회전 하는 행렬
직교 행렬의 특징 중 하나로, 전치 행렬이 바로 역행렬이 된다는 것.
좌화전에 대한 행렬은 다음과 같다.
2. 대각 행렬(diagonal matrix)의 역행렬
대각행렬? 정방행렬에서 주 대각선분을 제외한 나머지 요소의 값이 0인 행렬을 대각행렬이라 한다. https://datacookbook.kr/m/80
대각행렬의 역행렬을 다음과 같다.
https://blog.naver.com/destiny9720/221401729370
이후에 다시 언급하겠지만 대각 행렬은 선형 변환의 각 차수를 a배 b배로 늘리는 의미를 가지고 있는데, 이는 컴퓨터 그래픽스의 트랜스폼을 구성하는 삼대장 중 하나인 스케일(scale) 행렬을 의미한다.
3. 밀기 행렬(shear matrix)의 역행렬
밀기 행렬이란? 대각 성분이 모두 1이고 마지막 행에서 대각 성분을 제외한 성분만 값이 있는 경우 그 값을 -한 값이 역행렬이 되는 행렬.
https://blog.naver.com/destiny9720/221402703960
밀기 행렬도 마찬가지로 컴퓨터 그래픽스의 트랜스폼을 구성하는 삼대장 중 하나인 이동 행렬(translation matrix)과 밀접한 관련이 있다.
위의 세 가지 특수한 경우는 컴퓨터 그래픽에서 자주 사용되기 때문에 역행렬을 계산할 때 예외적으로 처리하도록 만들면 빠르게 역행렬을 구할 수 있다.