1. 기본 사항
행렬은 행과 열로 구성되는 사각형 형태로 수를 배열한 것
\begin{bmatrix}
1 & 2 & 3 & 4 \\
5 & 6 & 7 & 8 \\
9 & 0 & 2 & 5 \\
\end{bmatrix}
- 컴퓨터 분야의 활용
- 프로그래밍 언어
- 자료구조
- 컴퓨터 그래픽스
- 패턴인식
- 로봇동작
- 인공지능
행렬
m과 n이 양의 정수일 때, m개의 행과 n개의 열로 구성된 직사각형의 수 배열 A를 \( m \times n \) 행렬이라 한다.
행렬 \( A \)에서 i번째 행의 j번째 열의 수를 행렬 \( A \)의 \((i,j)\) 원소라 하며, \( a_{ij} \)로 표시한다. 행렬 \( A \)를 간단히 \( A = [a_{ij}] \)로 표기하기도 한다.
- 행 벡터(row vector): \( 1 \times n \) 행렬
- 열 벡터(column vector): \( m \times 1 \) 행렬
영행렬
모든 원소가 0인 행렬을 영행렬이라고 한다. 행렬의 크기에 따라 다음과 같이 다양한 영행렬이 존재한다.
\[
\begin{bmatrix}
0 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 \\
\vdots & \vdots & \vdots & \vdots \\
0 & 0 & 0 & 0
\end{bmatrix}
\]
여기서 각 행과 열의 원소는 모두 0이다. 영행렬은 크기에 따라 다양하게 표현될 수 있다.
2. 행렬의 연산
(1) 기본 연산
행렬에도 실수 집합에서의 사칙 연산과 유사한 다양한 연산이 존재한다. 행렬의 곱셉은 스칼라 곱과 행렬곱이 있는데, 스칼라 곱은 실수의 곱셈과 유사한 성질을 가지고 있어 쉽게 이해할 수 있다.
행렬의 합, 차, 스칼라 곱
- 행렬의 합: 𝑨 + 𝑩 는 같은 위치의 𝑨와 𝑩의 원소를 더해서 구해지는 행렬로서 (𝒊, 𝒋) 원소의 값은 𝒂𝒊𝒋 + 𝒃𝒊𝒋 이다.
- 행렬의 차: 𝑨 − 𝑩 는 같은 위치의 𝑨의 원소로부터 𝑩의 원소를 빼서 구해지는 행렬로서 (𝒊, 𝒋) 원소의 값은 𝒂𝒊𝒋 − 𝒃𝒊𝒋 이다.
- 스칼라 곱: 𝒌𝑨는 𝑨 의 각 원소에 𝒌 를 곱해서 구해지는 행렬로서 (𝒊, 𝒋) 원소의 값은 𝒌𝒂𝒊𝒋 이다.
다음과 같은 예시를 풀어보자.
예시: 행렬 A와 B가 다음과 같을 때
A = \begin{bmatrix} 1 & 1 & 0 & 0 \\ 0 & 1 & 1 & 0 \\ 0 & 0 & 1 & 1 \\ \end{bmatrix}
B = \begin{bmatrix} 2 & 4 & 1 & 3 \\ 1 & 4 & 2 & 3 \\ 2 & 3 & 1 & 6 \\ \end{bmatrix}
1)
B - A = \begin{bmatrix}
1 & 3 & 1 & 3 \\
1 & 3 & 1 & 3 \\
2 & 3 & 0 & 5 \\
\end{bmatrix}
2)
2A = \begin{bmatrix}
2 & 2 & 0 & 0 \\
0 & 2 & 2 & 0 \\
0 & 0 & 2 & 2 \\
\end{bmatrix}
3)
2A + (B - A) = \begin{bmatrix}
3 & 5 & 1 & 3 \\
1 & 5 & 3 & 3 \\
2 & 3 & 2 & 7 \\
\end{bmatrix}
행렬의 합과 스칼라 곱의 연산법칙
행렬의 합과 스칼라 곱은 같은 크기의 행렬𝑨,𝑩,𝑪에 대해 다음과 같은 연산법칙들을 만족한다.
(𝒂, 𝒃는 실수이고 𝑶은 모든 원소가 0인 영행렬을 의미한다.)\
(1) 합의 교환법칙: 𝑨+𝑩=𝑩+𝑨
(2) 합의 결합법칙: 𝑨+ 𝑩+𝑪 = 𝑨+𝑩 +𝑪
(3) 합의 항등원: 𝑨+𝑶=𝑨
(4) 합의 역원: 𝑨+(−𝑨)=𝑶
(5) 스칼라 곱의 결합법칙: (𝒂𝒃)𝑨 = 𝒂(𝒃𝑨)
(6) 스칼라 곱의 분배법칙: (𝒂+𝒃)𝑨=𝒂𝑨+𝒃𝑨
(7) 스칼라 곱의 결합법칙: (𝒂−𝒃)𝑨=𝒂𝑨−𝒃𝑨
(8)스칼라 곱의 결합법칙: 𝒂(𝑨+𝑩) =𝒂𝑨+𝒂𝑩
(9)스칼라 곱의 결합법칙: 𝒂(𝑨−𝑩) =𝒂𝑨−𝒂𝑩
행렬의 곱
𝑨가 𝒎×𝒏 행렬이고 𝑩가 𝒏×𝒍 행렬일 때, 행렬의 곱 𝑨𝑩는 (𝒊, 𝒋)원소가 다음과 같이 정의되는 𝒎 × 𝒍 행렬이다.
$$AB_{ij} = \sum_{k=1}^{n} a_{ik} b_{kj} = a_{i1}b_{1j} + a_{i2}b_{2j} + \cdots + a_{in}b_{nj}$$
벡터의 내적
$$
A = (a_1, a_2, \ldots, a_n) \text{와 } B = (b_1, b_2, \ldots, b_n) \text{가 } n \text{ 차원 벡터라고 할 때,}
$$
$$
A \text{와 } B \text{의 내적(inner product) } A \cdot B \text{는 다음과 같이 정의한다.}
$$
$$
A \cdot B = a_1 b_1 + a_2 b_2 + \ldots + a_n b_n
$$
$$
\text{예를 들어,} \\
A = (1, 2, 3), \, B = (-1, 0, 2) \text{이면} \\
A \cdot B = 1 \cdot (-1) + 2 \cdot 0 + 3 \cdot 2 = -1 + 0 + 6 = 5
$$
예시: 행렬 A, B가 다음과 같을 때 AB를 계산하시오
A = \begin{bmatrix}4 & -1 \\2 & 3 \\1 & 5 \\\end{bmatrix}
B = \begin{bmatrix}7 & -3 \\9 & 2 \\\end{bmatrix}
풀이 :
$$ A = A \cdot B = \begin{bmatrix}
4 & -1 \\
2 & 3 \\
1 & 5 \\
\end{bmatrix}
\begin{bmatrix}
7 & -3 \\
9 & 2 \\
\end{bmatrix}
= \begin{bmatrix}
4 \times 7 + (-1) \times 9 & 4 \times (-3) + (-1) \times 2 \\
2 \times 7 + 3 \times 9 & 2 \times (-3) + 3 \times 2 \\
1 \times 7 + 5 \times 9 & 1 \times (-3) + 5 \times 2 \\
\end{bmatrix}
= \begin{bmatrix}
28 - 9 & -12 - 2 \\
14 + 27 & -6 + 6 \\
7 + 45 & -3 + 10 \\
\end{bmatrix}
= \begin{bmatrix}
19 & -14 \\
41 & 0 \\
52 & 7 \\
\end{bmatrix} $$
행렬 곱의 연산법칙
행렬 𝑨,𝑩,𝑪가 각 연산에 적합한 크기의 행렬이라 할 때, 다음과 같은 연산법칙들을 만족한다.
(1) 곱의 결합법칙 : 𝑨(𝑩𝑪) = (𝑨𝑩)𝑪
(2) 곱의 분배법칙: 𝑨(𝑩+𝑪) = 𝑨𝑩+𝑨𝑪
(3) 곱의 분배법칙: (𝑨+𝑩 )𝑪 = 𝑨𝑪+𝑩𝑪
행렬 곱 연산에는 특이성질이 있는데
1) 𝑨𝑩 ≠ 𝑩𝑨
2) ∃𝑨 ≠ 𝑶, ∃𝑩 ≠ 𝑶 ⇒ 𝑨𝑩 = 𝑶
주어진 행렬:
\[ A = \begin{bmatrix} -1 & 2 & 6 \end{bmatrix}, \quad B = \begin{bmatrix} 1 \\ 4 \\ 2 \end{bmatrix} \]
\(AB\)를 계산하면:
\[ AB = \begin{bmatrix} -1 & 2 & 6 \end{bmatrix} \begin{bmatrix} 1 \\ 4 \\ 2 \end{bmatrix} = \begin{bmatrix} 19 \end{bmatrix} \]
\(BA\)를 계산하면:
\[ B = \begin{bmatrix} 1 \\ 4 \\ 2 \end{bmatrix}, \quad A = \begin{bmatrix} -1 & 2 & 6 \end{bmatrix} \]
따라서,
\[ BA = \begin{bmatrix} 1 & 4 & 2 \end{bmatrix} \begin{bmatrix} -1 \\ 2 \\ 6 \end{bmatrix} = \begin{bmatrix} -1 & 2 & 6 \\ -4 & 8 & 24 \\ -2 & 4 & 12 \end{bmatrix} \]
따라서 𝑨𝑩 ≠ 𝑩𝑨 임을 볼 수 있다.
또한 두 행렬 \(A\)와 \(B\)가 영행렬이 아님에도 불구하고 그 곱이 영행렬이 될 수 있다.
\[ A = \begin{bmatrix} 0 & 1 \\ 0 & 1 \end{bmatrix}, \quad B = \begin{bmatrix} 1 & 1 \\ 0 & 0 \end{bmatrix} \]
\(AB\)를 계산하면:
\[ AB = \begin{bmatrix} 0 & 1 \\ 0 & 1 \end{bmatrix} \begin{bmatrix} 1 & 1 \\ 0 & 0 \end{bmatrix} = \begin{bmatrix} 0 & 0 \\ 0 & 0 \end{bmatrix} \]
A 와 B가 영행렬이 아님에도 곱은 영행렬로 나타날 수 있다.
(2) 가우스 소거법
행렬은 일차연립방정식의 풀이에 사용된다. 행렬을 이용한 가우스 소거법을 소개한다.
일차연릭방정식 L -> 확대행렬 A -> 행제형 행렬 A' -> 소거 행제형 행렬 -> A''
예를 들어 다음과 같은 일차 연립방정식이 있다고 가정하자.
\[ -2x - 5y + 2z = -3 \]
\[ y + 3z = 6 \]
\[ x + 3y = 4 \]
위 연립방정식을 행렬과 벡터를 이용해 나타내면 다음과 같다.
\[
\begin{bmatrix}
-2 & -5 & 2 \\
1 & 3 & 0 \\
0 & 1 & 3
\end{bmatrix}
\begin{bmatrix}
x \\
y \\
z
\end{bmatrix}
=
\begin{bmatrix}
-3 \\
6 \\
4
\end{bmatrix}
\]
위에서 왼쪽의 \(3 \times 3\) 크기의 행렬을 계수행렬이라고 부르고, \((x, y, z)\)를 해(solution), \((-3, 6, 4)\)을 상수행렬(constant matrix)이라고 한다. 계수행렬과 상수 행렬 \((-3, 6, 4)\)을 다음과 같이 묶어서 하나의 행렬로 만들 수 있다.
\[
\begin{bmatrix}
-2 & -5 & 2 & -3 \\
1 & 3 & 0 & 4 \\
0 & 1 & 3 & 6
\end{bmatrix}
\]
이 행렬을 확대행렬이라고 한다. 확대행렬은 계수와 상수가 주어졌을 때 해를 구하는 용도로 사용된다.
일차연립방정식에서 해를 구하기 위해 식을 변형하는 작업을 세 가지로 나눌 수 있는데 이것을 기본행연산이라고 한다.
기본행연산(elementary row operation)
1. 어떤 두 개의 행 위치를 서로 바꾼다(행 교환 연산).
2. 어떤 하나의 행에 0이 아닌 상수를 곱한다( 행 스케일링 연산).
3. 하나의 행에 상수를 곱한 뒤 다른 행에 더한 식으로 대체한다(행 대체 연산).
일차연립방정식에서 해를 구하기 위해 식을 변형하는 첫 번째 작업은 두 식의 위치를 서로 교환하는 것이다. 예를 들어 (1)과 (2)의 위치를 교환하면 다음과 같다.
\[
\begin{align*}
(2) \quad x + 3y &= 4 \\
(1) \quad -2x - 5y + 2z &= -3 \\
(3) \quad y + 3z &= 6
\end{align*}
\]
이처럼 두 행의 위치를 바꾸는 작업을 행렬에서는 행교환 연산이라 한다. 연립방정식에서 식의 순서를 바꾸더라도 해는 변하지 않으므로 행 교환 연산을 수행하더라도 연립방정식의 해는 동일하게 유지된다.
행 교환 연산을 통해 변경된 행렬은 다음과 같이 표현할 수 있다. 두 행렬 사이에 \(\sim\)가 의미하는 것은 서로 다른 두 개의 연립방정식이 동일한 해를 가진다는 의미이다.
\[
\begin{pmatrix}
1 & 3 & 0 & 4 \\
-2 & -5 & 2 & -3 \\
0 & 1 & 3 & 6
\end{pmatrix}
\sim
\begin{pmatrix}
-2 & -5 & 2 & -3 \\
1 & 3 & 0 & 4 \\
0 & 1 & 3 & 6
\end{pmatrix}
\]
일차연립방정식에서 해를 구하기 위해 식을 변형하는 두 번째 작업은 하나의 식에 0이 아닌 상수를 곱하는 것이다. 예를 들어 식 2에 상수 2를 곱하면 새로운 식 (4)를 구할 수 있다.
\[
\begin{aligned}
2x + 6y &= 8 \quad \text{(4)} \\
-2x - 5y + 2z &= -3 \quad \text{(1)} \\
y + 3z &= 6 \quad \text{(3)}
\end{aligned}
\]
이처럼 하나의 행에 0이 아닌 스칼라 곱을 하는 작업을 행렬에서는 행 스케일링 연산이라 한다.
\[
\begin{pmatrix}
1 & 3 & 0 & 4 \\
-2 & -5 & 2 & -3 \\
0 & 1 & 3 & 6
\end{pmatrix}
\sim
\begin{pmatrix}
2 & 6 & 0 & 8 \\
-2 & -5 & 2 & -3 \\
0 & 1 & 3 & 6
\end{pmatrix}
\]
일차연립방정식에서 해를 구하기 위해 식을 변형하는 세 번째 작업은 두 개의 식을 더해 새로운 식을 만드는 것이다. 식 (4)에 상수 1을 곱하여 식 (1)에 더하면 미지수 \(x\)가 없어진 새로운 식 (5)를 만들 수 있다.
\[
\begin{aligned}
2x + 6y &= 8 \quad \text{(4)} \\
y + 2z &= 5 \quad \text{(5)} \\
y + 3z &= 6 \quad \text{(3)}
\end{aligned}
\]
새로운 식을 만들기 위해 단순합이 아니라 하나의 행에 상수를 곱한 뒤에 다른 행에 더해도 된다. 식 (4)에 -1을 곱한 뒤에 식 (3)을 더하면 미지수 \(y\)가 없어진 새로운 식 (6)을 만들 수 있다.
\[
\begin{aligned}
2x + 6y &= 8 \quad \text{(4)} \\
y + 2z &= 5 \quad \text{(5)} \\
z &= 1 \quad \text{(6)}
\end{aligned}
\]
이처럼 하나의 행에 스칼라 곱을 수행한 결과를 다른 행에 더하는 작업을 행렬에서는 행 대체 연산이라 한다.
\[
\begin{pmatrix}
2 & 6 & 0 & 8 \\
-2 & -5 & 2 & -3 \\
0 & 1 & 3 & 6
\end{pmatrix}
\sim
\begin{pmatrix}
2 & 6 & 0 & 8 \\
0 & 1 & 2 & 5 \\
0 & 0 & 1 & 1
\end{pmatrix}
\]
기존의 행렬을 변형해 새로운 확대행렬을 만든 뒤, 해를 구하기 위해서 앞에서 배운 행렬의 기본행연산을 이용하여 확대행렬을 먼저 행제형 행렬로 만들고, 그 다음 소거 행제형 행렬로 변환해야 한다. 이 과정을 가우스 소거법이라 한다.
행제형 행렬(row echelon matrix)
다음 세 가지 조건을 만족하는 행렬을 행제형 행렬(행사다리꼴 행렬)이라고 한다.
1. 영행이 아닌 행은 영행의 위에 있다.
2. 행렬의 각 행에서 0이 아닌 가장 처음 나타나는 원소를 선도원소 라고 하는데, 모든 선도원소는 1이다.
3. 주어진 행의 선도원소는 그 아래 행의 선도원소보다 왼쪽에 있다.
1)
\[
\begin{pmatrix}
4 & 0 & 0 \\
2 & 0 & 0 \\
0 & 2 & 3
\end{pmatrix}
\]
첫 번째 행 \(\begin{pmatrix} 4 & 0 & 0 \end{pmatrix}\)의 선도원소는 4로서 1이 아니다. 따라서 행제형 행렬이 아니다.
2)
\[
\begin{pmatrix}
1 & 2 & 0 & 5 \\
0 & 1 & 3 & 0 \\
0 & 0 & 0 & 1
\end{pmatrix}
\]
모든 선도원소가 1이고 연속된 두 행에서 위에 있는 행의 선도원소가 아래 행의 선도원소보다 왼쪽에 있으므로 행제형 행렬이다.
3)
\[
\begin{pmatrix}
1 & 4 & 0 & 2 \\
0 & 0 & 1 & 3 \\
0 & 1 & 2 & 6
\end{pmatrix}
\]
두 번째 행의 선도원소는 세 번째 열에 있는데, 세 번째 행의 선도원소는 두 번째 열에 있어서 행제형 행렬이 아니다.
4)
\[
\begin{pmatrix}
0 & 0 & 0 \\
0 & 0 & 1 \\
0 & 0 & 0
\end{pmatrix}
\]
영행이 아닌 두 번째 행이 영행인 첫 번째 행보다 아래에 있으므로 행제형 행렬이 아니다.
소거행제형 행렬
위 조건을 만족한 행제형 행렬에 다음의 네 번째 조건도 만족시키면 소거행제형 행렬이라고 한다.
4. 선도원소가 포함된 열에서 선도원소를 제외한 모든 원소는 0이다.
1)
\[
\begin{pmatrix}
3 & 2 & 0 \\
1 & 0 & 4 \\
0 & 1 & 3
\end{pmatrix}
\]
행제형 행렬이 아니므로 소거행제형 행렬이 아니다.
2)
\[
\begin{pmatrix}
1 & 0 & 0 & 0 \\
0 & 1 & 2 & 4 \\
0 & 0 & 0 & 1
\end{pmatrix}
\]
세 번째 행의 선도원소가 위치한 네 번째 열의 다른 모든 원소는 0이어야 하는데, (2,4) 원소가 0이 아닌 4이다. 따라서 소거행제형 행렬이 아니다.
3)
\[
\begin{pmatrix}
1 & 2 & 6 & 3 \\
0 & 0 & 1 & 8 \\
0 & 0 & 0 & 0
\end{pmatrix}
\]
두 번째 행의 선도원소가 위치한 세 번째 열에서 (1,3) 원소가 6으로서 0이 아니므로 소거행제형 행렬이 아니다.
4)
\[
\begin{pmatrix}
1 & 0 & 0 \\
0 & 0 & 1 \\
0 & 0 & 0
\end{pmatrix}
\]
모든 조건을 만족하므로 소거행제형 행렬이다.
3. 행렬의 종류
정방행렬
\(n \times n\) 행렬을 \(n\)차 정방행렬이라고 하며, \(n\)을 정방행렬의 차수라고 한다.
- \(n\)차 정방행렬은 다음과 같은 형태를 가진다.
\[
\begin{bmatrix}
a_{11} & a_{12} & \cdots & a_{1n} \\
a_{21} & a_{22} & \cdots & a_{2n} \\
\vdots & \vdots & \ddots & \vdots \\
a_{n1} & a_{n2} & \cdots & a_{nn}
\end{bmatrix}
\]
- 정방행렬의 \(a_{11}\), \(a_{22}\), \(\ldots\), \(a_{nn}\) 원소를 대각원소라고 한다.
- 대각원소를 포함하는 대각선을 주대각선이라고 한다.
대각행렬
n차 정방행렬에서 대각원소 이외의 모든 원소가 0인 행렬을 대각행렬이라 한다. 즉, \(i \neq j\)이면 \(a_{ij} = 0\)이다. 대각행렬은 다음과 같은 형태로 나타낼 수 있다.
\[
\begin{pmatrix}
a_{11} & 0 & \cdots & 0 \\
0 & a_{22} & \cdots & 0 \\
\vdots & \vdots & \ddots & \vdots \\
0 & 0 & \cdots & a_{nn}
\end{pmatrix}
\]
위와 같이 대각행렬은 대각선 원소들 \(a_{11}, a_{22}, \ldots, a_{nn}\)만이 0이 아닌 값을 가지며, 나머지 모든 원소는 0인 형태를 가진다.
단위행렬
\( n \)차 정방행렬에서 대각원소가 모두 1이고 나머지 원소는 모두 0인 행렬을 단위행렬이라 한다. (이를 \( I_n \)으로 표기.)
즉, \( i = j \)이면 \( a_{ij} = 1 \)이고, \( i \neq j \)이면 \( a_{ij} = 0 \)이다.
예를 들어,
\[ I_2 = \begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix} \]
\[ I_3 = \begin{pmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{pmatrix} \]
\[ I_4 = \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{pmatrix} \]
일반적으로,
\[ I_n = \begin{pmatrix} 1 & 0 & \cdots & 0 \\ 0 & 1 & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \cdots & 1 \end{pmatrix} \]
대칭행렬
𝑛차 정방행렬에서 \(a_{ij} = a_{ji}\)인 행렬을 대칭행렬이라 한다.
\[
\begin{pmatrix}
a_{11} & a_{12} & \cdots & a_{1n} \\
a_{12} & a_{22} & \cdots & a_{2n} \\
\vdots & \vdots & \ddots & \vdots \\
a_{1n} & a_{2n} & \cdots & a_{nn}
\end{pmatrix}
\]
대칭행렬은 행렬의 주대각선을 기준으로 대칭인 원소들로 이루어진다.
역대칭행렬
\( n \)차 정방행렬에서 \( a_{ij} = -a_{ji} \)이고 대각원소가 모두 0인 행렬을 역대칭행렬(교대행렬)이라 한다. 즉, \( i = j \)이면 \( a_{ij} = 0 \)이고, \( i \neq j \)이면 \( a_{ij} = -a_{ji} \)이다.
예를 들어, 다음과 같은 형태의 행렬이 역대칭행렬이다:
\[
\begin{pmatrix}
0 & a_{12} & \cdots & a_{1n} \\
-a_{12} & 0 & \cdots & a_{2n} \\
\vdots & \vdots & \ddots & \vdots \\
-a_{1n} & -a_{2n} & \cdots & 0
\end{pmatrix}
\]
📌 예시: 3차 정방행렬에서 \(a_{12} = 3\), \(a_{13} = 2\), \(a_{23} = -1\)의 원소를 가지는 역대칭행렬이 존재할 때 행렬의 나머지 원소를 구하시오.
역대칭행렬(antisymmetric matrix)은 행렬의 전치행렬이 그 행렬의 음수와 같다는 특성을 갖고 있다. 즉, \(A^T = -A\)를 만족한다. 따라서 주어진 원소들을 토대로 나머지 원소를 구하면 다음과 같은 행렬을 얻을 수 있다.
\[ A = \begin{pmatrix}
0 & 3 & 2 \\
-3 & 0 & -1 \\
-2 & 1 & 0
\end{pmatrix} \]
삼각행렬
\( n \)차 정방행렬에서
1. 상삼각행렬 (Upper Triangular Matrix): 주대각선 아래에 있는 모든 원소들이 0일 경우.
- 조건: \( i > j \)일 때, \( a_{ij} = 0 \)
- 예시:
\[
A = \begin{pmatrix}
a_{11} & a_{12} & \cdots & a_{1n} \\
0 & a_{22} & \cdots & a_{2n} \\
\vdots & \vdots & \ddots & \vdots \\
0 & 0 & \cdots & a_{nn}
\end{pmatrix}
\]
2. 하삼각행렬 (Lower Triangular Matrix): 주대각선 위에 있는 모든 원소들이 0일 경우.
- 조건: \( i < j \)일 때, \( a_{ij} = 0 \)
- 예시:
\[
B = \begin{pmatrix}
a_{11} & 0 & \cdots & 0 \\
a_{21} & a_{22} & \cdots & 0 \\
\vdots & \vdots & \ddots & \vdots \\
a_{n1} & a_{n2} & \cdots & a_{nn}
\end{pmatrix}
\]
3. 삼각행렬 (Triangular Matrix): 상삼각행렬 또는 하삼각행렬을 의미.
전치행렬
행렬 \(A\)가 주어졌을 때, \(A\)의 행과 열을 서로 교환한 행렬을 \(A\)의 전치행렬이라고 한다. 이를 \(A^T\)로 표기하며, \(A^T\)의 크기는 원래 행렬 \(A\)의 행과 열의 크기가 바뀐 형태가 된다.
즉, \(m \times n\) 행렬 \(A\)의 전치행렬 \(A^T\)는 \(n \times m\) 크기를 갖는다.
행렬 \(A\)와 그 전치행렬 \(A^T\)는 다음과 같이 나타낼 수 있다.
\[
A = \begin{pmatrix}
a_{11} & a_{12} & a_{13} & \cdots & a_{1n} \\
a_{21} & a_{22} & a_{23} & \cdots & a_{2n} \\
\vdots & \vdots & \vdots & \ddots & \vdots \\
a_{m1} & a_{m2} & a_{m3} & \cdots & a_{mn}
\end{pmatrix}
\]
전치행렬 \(A^T\)는 다음과 같다.
\[
A^T = \begin{pmatrix}
a_{11} & a_{21} & \cdots & a_{m1} \\
a_{12} & a_{22} & \cdots & a_{m2} \\
a_{13} & a_{23} & \cdots & a_{m3} \\
\vdots & \vdots & \ddots & \vdots \\
a_{1n} & a_{2n} & \cdots & a_{mn}
\end{pmatrix}
\]
이와 같이, 행렬의 전치는 행과 열을 교환하는 연산으로, 원래 행렬과 전치행렬의 행과 열의 크기가 서로 바뀌게 된다.
📌 예시: 다음 행렬들의 전치행렬을 구하시오.
\[ A = \begin{pmatrix} 1 & 0 & 0 & 0 \\ 3 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \end{pmatrix} \]
\[ B = \begin{pmatrix} 1 & 0 & 0 & 0 & 3 \\ 0 & 0 & 1 & 0 & 0 \end{pmatrix} \]
행렬 \(A\)의 전치행렬은 \(A^T\)로 나타내며, 이는 행렬 \(A\)의 행과 열을 바꾼 형태이다.
\[ A^T = \begin{pmatrix} 1 & 3 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \\ 0 & 0 & 0 \end{pmatrix} \]
행렬 \(B\)의 전치행렬은 \(B^T\)로 나타내며, 이는 행렬 \(B\)의 행과 열을 바꾼 형태이다.
\[ B^T = \begin{pmatrix} 1 & 0 \\ 0 & 0 \\ 0 & 1 \\ 0 & 0 \\ 3 & 0 \end{pmatrix} \]
역행렬
\( n \) 차 정방행렬 \( A \), \( B \)가 주어졌을 때,
\[ AB = BA = I_n \]
인 행렬 \( B \)가 존재하는 경우 행렬 \( A \)를 역가능(invertible)하다고 한다. 이때, 행렬 \( B \)를 행렬 \( A \)의 역행렬이라고 하고 \( A^{-1} \)로 표기한다.
4. 부울행렬
행렬의 모든 원소가 부울값(0 or 1)으로만 구성된 행렬을 부울행렬이라 한다.
부울행렬의 합, 교차, 부울곱
크기가 \(m \times n\)인 두 행렬 \(A = [a_{ij}]\)와 \(B = [b_{ij}]\)가 부울행렬일 때,
1. \(A\)와 \(B\)의 합(join)은
\((i, j)\) 원소가 \(a_{ij} \lor b_{ij}\)이고 크기가 \(m \times n\)인 부울행렬 \(C\)이며,
\(C = A \lor B\)로 나타낸다.
2. \(A\)와 \(B\)의 교차(meet)는
\((i, j)\) 원소가 \(a_{ij} \land b_{ij}\)이고 크기가 \(m \times n\)인 부울행렬 \(C\)이며,
\(C = A \land B\)로 나타낸다.
3. \(A\)와 \(B\)의 부울곱(boolean product)은
\((i, j)\) 원소가 다음과 같이 정의되는 \(m \times l\) 크기의 부울행렬 \(C\)이며,
\(C = A \circ B\)로 나타낸다.
\[
c_{ij} = (a_{i1} \land b_{1j}) \lor (a_{i2} \land b_{2j}) \lor \cdots \lor (a_{in} \land b_{nj})
\]
📌 예시: 다음 연산을 수행하고 결과를 구하시오.
1) OR (∨) 연산
OR 연산은 각 대응 원소가 하나라도 1이면 결과가 1이 되는 연산이다.
\[
\begin{pmatrix}
0 & 0 & 0 \\
0 & 0 & 0 \\
1 & 1 & 1
\end{pmatrix}
\quad \vee \quad
\begin{pmatrix}
1 & 0 & 0 \\
1 & 1 & 0 \\
1 & 0 & 0
\end{pmatrix}
\]
연산 결과는 다음과 같다.
\[
\begin{pmatrix}
0 \vee 1 & 0 \vee 0 & 0 \vee 0 \\
0 \vee 1 & 0 \vee 1 & 0 \vee 0 \\
1 \vee 1 & 1 \vee 0 & 1 \vee 0
\end{pmatrix}
=
\begin{pmatrix}
1 & 0 & 0 \\
1 & 1 & 0 \\
1 & 1 & 1
\end{pmatrix}
\]
2) AND (∧) 연산
AND 연산은 각 대응 원소가 모두 1이면 결과가 1이 되는 연산이다.
\[
\begin{pmatrix}
0 & 0 & 0 \\
0 & 0 & 0 \\
1 & 1 & 1
\end{pmatrix}
\quad \wedge \quad
\begin{pmatrix}
1 & 0 & 0 \\
1 & 1 & 0 \\
1 & 0 & 0
\end{pmatrix}
\]
연산 결과는 다음과 같다.
\[
\begin{pmatrix}
0 \wedge 1 & 0 \wedge 0 & 0 \wedge 0 \\
0 \wedge 1 & 0 \wedge 1 & 0 \wedge 0 \\
1 \wedge 1 & 1 \wedge 0 & 1 \wedge 0
\end{pmatrix}
=
\begin{pmatrix}
0 & 0 & 0 \\
0 & 0 & 0 \\
1 & 0 & 0
\end{pmatrix}
\]
3) 부울곱 연산 (⨀) 연산
\[
\begin{pmatrix}
0 & 0 & 0 \\
0 & 0 & 0 \\
1 & 1 & 1
\end{pmatrix}
\quad \oplus \quad
\begin{pmatrix}
1 & 0 & 0 \\
1 & 1 & 0 \\
1 & 0 & 0
\end{pmatrix}
\]
연산 결과는 다음과 같다.
\[
C_{11} = (0 \land 1) \lor (0 \land 1) \lor (0 \land 1) = 0
\]
\[
C_{12} = (0 \land 0) \lor (0 \land 1) \lor (0 \land 0) = 0
\]
\[
C_{13} = (0 \land 0) \lor (0 \land 0) \lor (0 \land 0) = 0
\]
\[
C_{21} = (0 \land 1) \lor (0 \land 1) \lor (0 \land 1) = 0
\]
\[
C_{22} = (0 \land 0) \lor (0 \land 1) \lor (0 \land 0) = 0
\]
\[
C_{23} = (0 \land 0) \lor (0 \land 0) \lor (0 \land 0) = 0
\]
\[
C_{31} = (1 \land 1) \lor (1 \land 1) \lor (1 \land 1) = 1
\]
\[
C_{32} = (1 \land 0) \lor (1 \land 1) \lor (1 \land 0) = 1
\]
\[
C_{33} = (1 \land 0) \lor (1 \land 0) \lor (1 \land 0) = 0
\]
따라서, 부울곱 연산의 결과는
\[
C = \begin{pmatrix}
0 & 0 & 0 \\
0 & 0 & 0 \\
1 & 1 & 0
\end{pmatrix}
\]
참고자료: 이산수학 | 손진곤 (지은이) 한국방송통신대학교출판문화원
'CS > 이산수학' 카테고리의 다른 글
이산수학 - 함수, 함수의 상등, 전사함수, 단사함수, 합성함수, 계승함수, 바닥함수, 천장함수, 나머지 함수 (0) | 2024.05.15 |
---|---|
이산수학 - 관계, 관계의 표현, 관계의 성질, 관계의 종류, 반사적, 대칭적, 추이적, 동치관계 (0) | 2024.05.15 |
이산수학 - 집합, 집합 연산, 합집합, 교집합, 차집합, 대칭차집합, 대수 법칙 (0) | 2024.05.13 |
이산수학 - 증명, 직접증명법, 수학적 귀납법, 간접증명법, 다양한 증명방법 (0) | 2024.05.13 |
이산수학 논리 - 명제, 논리 연산, 술어 논리, 추론 (0) | 2024.05.02 |