행렬이란 쉽게 말해 행과 열로 이뤄진 사각형 형태의 배열이다.
행렬을 구성하는 수들을 원소, 성분이라고 한다. 행렬의 한 성분을 지칭할 때, 그 성분의 행과 열 번호를 이중 아래 첨자로 지정하는 (( M_{ij} )) 형태의 표기법을 사용한다. 첫 아래첨자가 행이고, 둘째 아래첨자가 열이다.
아래는 행렬의 덧셈, 뺄셈을 나타낸다.
(( A = \begin{bmatrix} 1 & 5 \\ -2 & 3 \\ \end{bmatrix} ))
(( B = \begin{bmatrix} 6 & 2 \\ 5 & -8 \\ \end{bmatrix} ))
(( C = \begin{bmatrix} 1 & 5 \\ -2 & 3 \\ \end{bmatrix} ))
(( D = \begin{bmatrix} 2 & 1 & -3 \\ -6 & 3 & 0 \\ \end{bmatrix} ))
라면
- (( A + B = \begin {bmatrix} 1 & 5 \\ -2 & 3 \\ \end{bmatrix} + \begin{bmatrix} 6 & 2 \\ 5 & -8 \\ \end{bmatrix} = \begin {bmatrix}
1 + 6 & 5 + 2 \\
-2 + 5& 3 + (-8) \\
\end{bmatrix} = \begin {bmatrix}
7 & 7 \\
3 & -5 \\
\end{bmatrix} )) - (( A = C ))
- (( 3D = \begin {bmatrix} 2 & 1 & -3 \\ -6 & 3 & 0 \\ \end{bmatrix} = \begin {bmatrix} 3(2) & 3(1) & 3(-3) \\ 3(-6) & 3(3) & 3(0) \\ \end{bmatrix} = \begin {bmatrix} 6 & 3 & -9 \\ -18 & 9 & 0 \\ \end{bmatrix} ))
- (( A - B = \begin {bmatrix} 1 & 5 \\ -2 & 3 \\ \end{bmatrix} - \begin{bmatrix} 6 & 2 \\ 5 & -8 \\ \end{bmatrix} = \begin {bmatrix} 1 - 6 & 5 - 2 \\ -2 - 5& 3 - (-8) \\ \end{bmatrix} = \begin {bmatrix} -5 & 3 \\ -7 & 11 \\ \end{bmatrix} ))
- 1. (( A + B = B + A )) 덧셈의 교환법칙
- 2. (( (A+B) + C = A + (B+C) )) 덧셈의 결합법칙
- 3. (( r(A+B) = rA + rB )) 행렬들에 대한 스칼라의 분배법칙
- 4. (( (r + s)A = rA + sA )) 스칼라들에 대한 행렬의 분배법칙
만일 A 행렬이 존재할 때, (( m \times n )) 행렬이라 하고, B 행렬은 (( n \times p )) 이라 할 때, 둘의 곱 AB는 하나의 (( m \times p )) 행렬이 된다. 이를 C라고 할 때, C의 (( ij )) 번째 성분은 A의 (( i ))번째 행벡터와 B의 ((j))번째 열백터의 내적이다.
(( C_{ij} = A_{i \cdot *} \cdot B_{* \cdot j } ))
따라서 행렬 곱 ((AB))가 정의되려면 ((A))의 열 수가 ((B))의 행 수와 일치해야 한다. A의 행벡터의 차원이 B의 열벡터의 차원과 일치해야 하는 것이다. 일치하지 않는다면, 내적이 말이 되지 않는다.
일반 곱셈
(( A = \begin{bmatrix}
-1 & 5 & -4 \\
3 & 2 & 1 \\
\end{bmatrix}, B = \begin{bmatrix}
2 & 1 & 0 \\
0 & -2 & 1 \\
-1 & 2 & 3 \\
\end{bmatrix} ))
해당 경우 곱셈을 할 수 있다. A의 열 수와 B의 행 수가 같기 때문이다.
(( AB = \begin{bmatrix}
-1 & 5 & -4 \\
3 & 2 & 1 \\
\end{bmatrix} \begin{bmatrix}
2 & 1 & 0 \\
0 & -2 & 1 \\
-1 & 2 & 3 \\
\end{bmatrix} = \begin{bmatrix}
2 & -19 & -7 \\
5 & 1 & 5 \\
\end{bmatrix} ))
다른 행렬곱의 예시를 보자
다음과 같은 벡터, 행렬 곱셈을 생각해 보자
((uA=\begin{bmatrix}x&y&z\\\end{bmatrix}\begin{bmatrix}A_{11}&A_{12}&A_{13}\\A_{21}&A_{22}&A_{23}\\A_{31}&A_{32}&A_{33}\\\end{bmatrix}=\begin{bmatrix}x&y&z\\\end{bmatrix}\begin{bmatrix}\uparrow&\uparrow&\uparrow\\A_{*,1}&A_{*,2}&A_{*,3}\\\downarrow&\downarrow&\downarrow\\\end{bmatrix}))
이 경우 ((uA))가 (( 1 \times 3 )) 행벡터로 평가됨이 핵심이다.
((\begin{aligned}
\mathbf{uA} &= \begin{bmatrix} \mathbf{u} \cdot \mathbf{A}_{*,1} & \mathbf{u} \cdot \mathbf{A}_{*,2} & \mathbf{u} \cdot \mathbf{A}_{*,3} \end{bmatrix} \\
&= [xA_{11} + yA_{21} + zA_{31}, \quad xA_{12} + yA_{22} + zA_{32}, \quad xA_{13} + yA_{23} + zA_{33}] \\
&= [xA_{11}, xA_{12}, xA_{13}] + [yA_{21}, yA_{22}, yA_{23}] + [zA_{31}, zA_{32}, zA_{33}] \\
&= x[A_{11}, A_{12}, A_{13}] + y[A_{21}, A_{22}, A_{23}] + z[A_{31}, A_{32}, A_{33}] \\
&= x\mathbf{A}_{1,*} + y\mathbf{A}_{2,*} + z\mathbf{A}_{3,*}
\end{aligned}))
따라서, ((uA = xA_{1,*} + yA_{2,*} + zA_{3,*})) 이다.
해당 위의 식은 일차결합(linear combination, 선형결합)의 한 예로, 벡터,행렬 곱 ((uA))가 행렬 ((A))의 행들의 일차결합에 벡터 ((u))에서 비롯된 스칼라 계수 ((x,y,z))가 적용된 것이다.
어떤 ((1 \times n )) 행벡터 ((u))와 어떤 (( n \times m ))행렬 ((A))에 대해 곱 ((uA))는 ((A))의 행벡터들의 일차결합에 ((u))의 스칼라 계수들이 적용된 것이다.
행렬 곱셈은 배분법칙과, 결합법칙을 만족한다. 교환법칙은 성립하지 않는다.
((A(B+C) = AB + AC)), (((A+B)C = AC + BC)) 이다.
(((AB)C = A(BC)))
(( AB \neq BA ))
행렬의 전치((transpose)), 즉 전치행렬은 주어진 행렬의 행들과 열들을 맞바꾼 것을 말한다. 따라서 (( m \times n ))행렬의 전치는 (( n \times m ))행렬이다. 행렬 ((M))의 전치행렬을 ((M^{T}))로 표기한다.
((A=\begin{bmatrix}2&-1&8\\3&6&-4\\\end{bmatrix}B=\begin{bmatrix}a&b&c\\d&e&f\\g&h&i\\\end{bmatrix}C=\begin{bmatrix}1\\2\\3\\4\\\end{bmatrix}))
다음은 해당 행렬의 전치행렬이다. 해당 행렬의 행과 열을 바꾸면 된다.
(( A^{T} = \begin{bmatrix} 2 & 3 \\ -1 & 6 \\ 8 & -4 \end{bmatrix} B^{T} = \begin{bmatrix} a & d & g \\ b & e & h \\ c & f & i \end{bmatrix} C^{T} = \begin{bmatrix} 1 & 2 & 3 & 4 \end{bmatrix}))
해당 행렬을 예시로 하여 다음과 같은 특징을 보자
- (( (A+B)^{T} = A^{T} + B^{T} ))
- (( (cA)^{T} = cA^{T} ))
- (( (AB)^{T} = B^{T}A^{T} ))
- (( (A^{T})^{T} = A ))
- (( (A^{-1})^{T} = (A^{T})^{-1} ))
단위행렬( identity matrix )이라 부르는 행렬이라는 특수한 행렬이 존재한다. 단위행렬은 주대각 성분(좌상에서 우하로의 주된 대각선에 있는 선분)들만 1이고 나머지는 다 0인 정방행렬(정사각형 행렬)이다.
예를들어 다음과 같은 행렬들이다.
((\begin{bmatrix}1&0\\0&1\\\end{bmatrix}\begin{bmatrix}1&0&0\\0&1&0\\0&0&1\\\end{bmatrix}\begin{bmatrix}1&0&0&0\\0&1&0&0\\0&0&1&0\\0&0&0&1\\\end{bmatrix}))
단위행렬은 곱셈의 항등원 역할을 한다. 즉, 만일 ((A))가 (( m \times n ))행렬이고, ((B))가 (( n \times p ))행렬, 그리고 ((I))가 ((n \times n))행렬이라면,
((AI = A)) , ((IB = B))
이다. 다른 말로 하면, 어떤 행렬에 단위행렬을 곱해도 그 행렬은 변하지 않는다. 단위행렬을 1의 행렬버전이라고 생각하면 된다. 특히, ((M))이 정방행렬이라 할 때 단위행렬과의 곱셈은 교환법칙을 만족한다.
((MI = IM = M))
역행렬에 대해서 알아보자
역행렬은, 어떤 행렬 A를 곱했을 때, 단위행렬 I가 나오게 하는 행렬을 말한다.
행렬 $A$가 $n \times n$ 정사각행렬일 때, 다음을 만족하는 행렬 $B$가 존재하면 $B$를 $A$의 역행렬이라 하며 $A^{-1}$로 표기한다.
$A A^{-1} = A^{-1} A = I$
역행렬이 존재할 조건으로는, 2 x 2행렬의 예를 들어보자면,
$A = \begin{bmatrix}a&b\\c&d\\\end{bmatrix}$
해당 행렬이 존재할 때, 행렬식(D)를 예시로 들자면, $D = ad - bc \neq 0$ 이어야 역행렬이 존재한다고 할 수 있다.
그럼 해당 A의 대한 역행렬을 구해보자
$$A = \begin{pmatrix} a & b \\ c & d \end{pmatrix} \implies A^{-1} = \frac{1}{ad - bc} \begin{pmatrix} d & -b \\ -c & a \end{pmatrix}$$
역행렬의 정의인 $A A^{-1} = I$를 이용하여 유도할 수 있다. $A^{-1} = \begin{pmatrix} x & y \ z & w \end{pmatrix}$라고 가정하면
$$\begin{pmatrix} a & b \\ c & d \end{pmatrix} \begin{pmatrix} x & y \\ z & w \end{pmatrix} = \begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix}$$
이 행렬 곱셈을 연립방정식으로 풀면 다음과 같은 결과가 나온다.
- $ax + bz = 1$
- $ay + bw = 0$
- $cx + dz = 0$
- $cy + dw = 1$
위 방정식을 $x, y, z, w$에 대해 풀면 $x = \frac{d}{ad-bc}$, $y = \frac{-b}{ad-bc}$ 등의 값이 나오게 되고, 이때 공통 분모인 $ad-bc$가 바로 행렬식($\det(A)$, $D$)가 된다.
직교행렬에 대해서도 알아보자
직교행렬(Orthogonal Matrix)은 행렬의 역행렬이 자신의 전치행렬(Transpose)과 같은 정사각행렬이다.
행렬 $Q$가 다음 조건을 만족할 때 이를 직교행렬이라고한다.
$$Q^T Q = Q Q^T = I$$
이 정의에 따라 직교행렬은 다음과 같은 강력한 특징을 가진다.
$Q^{-1} = Q^T$
'DirectX' 카테고리의 다른 글
| DirectX3D) 7. 행렬식 (0) | 2026.05.10 |
|---|---|
| DirectX3D) 6. 행렬의 활용(SRT) (0) | 2026.05.09 |
| DirectX3D) 4. Point (0) | 2026.04.30 |
| DirectX3D) 3. 외적 (0) | 2026.04.29 |
| DirectX3D) 2. 내적 (4) | 2025.08.25 |