행렬의 정의

행렬(matrix)이란 수 또는 기호를 직사각형 모양의 배열로 나타낸 것으로, 일반적으로 m \times n 행렬은 m개의 행(row)과 n개의 열(column)로 구성된 숫자들의 모임을 말한다. 즉, m개의 벡터가 각각 n-차원 벡터 공간에 속하는 경우로 볼 수 있다. 이를 일반적으로 다음과 같이 표현한다.

\mathbf{A} = \begin{pmatrix} a_{11} & a_{12} & \cdots & a_{1n} \\ a_{21} & a_{22} & \cdots & a_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ a_{m1} & a_{m2} & \cdots & a_{mn} \end{pmatrix}

위의 \mathbf{A}m \times n 크기의 행렬이다. 이때 a_{ij}i번째 행과 j번째 열에 위치한 성분(entry)이다.

행렬은 벡터의 일반화된 형태로 볼 수 있다. n-차원 벡터는 사실상 n \times 1 크기의 행렬이며, 따라서 벡터 연산을 행렬 연산으로 확장하는 것이 가능하다. 예를 들어, \mathbf{v} \in \mathbb{R}^n인 벡터 \mathbf{v}는 다음과 같이 표현할 수 있다:

\mathbf{v} = \begin{pmatrix} v_1 \\ v_2 \\ \vdots \\ v_n \end{pmatrix}

행렬의 표현 방식

행렬은 여러 가지 방식으로 표현될 수 있다. 그 중에서 자주 사용되는 방식들은 다음과 같다.

일반적인 행렬 표현

일반적으로 행렬은 각 성분을 배열로 나열하여 정의하며, 행과 열의 인덱스를 기준으로 성분이 정의된다. 일반적으로 행렬은 다음과 같이 표시된다.

\mathbf{A} = (a_{ij}), \quad 1 \leq i \leq m, \, 1 \leq j \leq n

이 표현은 m \times n 크기의 행렬 \mathbf{A}가, 각 성분 a_{ij}로 이루어진 배열임을 나타낸다.

열 벡터와 행 벡터로의 분할

행렬은 열 벡터(column vector)와 행 벡터(row vector)로 나누어 생각할 수도 있다. 예를 들어, n-차원의 열 벡터는 n \times 1 크기의 행렬로서 다음과 같이 나타낼 수 있다:

\mathbf{v}_j = \begin{pmatrix} v_{1j} \\ v_{2j} \\ \vdots \\ v_{mj} \end{pmatrix}

이와 마찬가지로, 1 \times n 크기의 행 벡터는 다음과 같이 표현될 수 있다:

\mathbf{u}_i = \begin{pmatrix} u_{i1} & u_{i2} & \cdots & u_{in} \end{pmatrix}

블록 행렬 표현

블록 행렬(block matrix)은 큰 행렬을 여러 작은 행렬로 나누어 표현한 것으로, 복잡한 연산을 더 간단하게 표현할 수 있게 한다. 예를 들어, 2 \times 2 블록 행렬은 다음과 같이 나타낼 수 있다:

\mathbf{A} = \begin{pmatrix} \mathbf{A}_{11} & \mathbf{A}_{12} \\ \mathbf{A}_{21} & \mathbf{A}_{22} \end{pmatrix}

여기서 각 \mathbf{A}_{ij}는 작은 행렬로, 이 행렬들이 모여 전체 행렬 \mathbf{A}를 구성한다.

단위 행렬과 영행렬

단위 행렬

단위 행렬(identity matrix)은 모든 주대각선(diagonal)의 성분이 1이고 나머지 성분이 모두 0인 정사각 행렬을 말한다. n \times n 단위 행렬은 보통 \mathbf{I}_n으로 나타내며, 다음과 같이 정의된다:

\mathbf{I}_n = \begin{pmatrix} 1 & 0 & \cdots & 0 \\ 0 & 1 & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \cdots & 1 \end{pmatrix}

단위 행렬은 행렬 곱셈에서 항등원 역할을 한다. 즉, 임의의 n \times n 행렬 \mathbf{A}에 대해, 다음이 성립한다:

\mathbf{A} \mathbf{I}_n = \mathbf{I}_n \mathbf{A} = \mathbf{A}

영행렬

영행렬(null matrix)은 모든 성분이 0인 행렬을 말한다. m \times n 크기의 영행렬은 보통 \mathbf{O}_{m \times n}으로 표시되며, 그 형태는 다음과 같다:

\mathbf{O}_{m \times n} = \begin{pmatrix} 0 & 0 & \cdots & 0 \\ 0 & 0 & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \cdots & 0 \end{pmatrix}

영행렬은 행렬 덧셈에서 항등원 역할을 하며, 임의의 행렬 \mathbf{A}에 대해 다음이 성립한다:

\mathbf{A} + \mathbf{O} = \mathbf{A}

전치 행렬

행렬 \mathbf{A}의 전치 행렬(transpose matrix)은 행과 열을 서로 뒤바꾼 행렬을 말한다. 전치 행렬은 보통 \mathbf{A}^T로 표기되며, m \times n 행렬 \mathbf{A}의 전치 행렬은 n \times m 행렬이 된다. 즉, \mathbf{A}의 전치 행렬 \mathbf{A}^T는 다음과 같이 정의된다:

(\mathbf{A}^T)_{ij} = \mathbf{A}_{ji}

예를 들어, 2 \times 3 행렬 \mathbf{A}가 다음과 같다면:

\mathbf{A} = \begin{pmatrix} a_{11} & a_{12} & a_{13} \\ a_{21} & a_{22} & a_{23} \end{pmatrix}

\mathbf{A}의 전치 행렬 \mathbf{A}^T는 다음과 같이 된다:

\mathbf{A}^T = \begin{pmatrix} a_{11} & a_{21} \\ a_{12} & a_{22} \\ a_{13} & a_{23} \end{pmatrix}

전치 행렬은 여러 성질을 가지며, 그 중 일부는 다음과 같다:

  1. (\mathbf{A}^T)^T = \mathbf{A}
  2. (\mathbf{A} + \mathbf{B})^T = \mathbf{A}^T + \mathbf{B}^T
  3. (\mathbf{A} \mathbf{B})^T = \mathbf{B}^T \mathbf{A}^T

대칭 행렬과 반대칭 행렬

대칭 행렬

대칭 행렬(symmetric matrix)은 전치 행렬과 원래의 행렬이 동일한 경우를 말한다. 즉, 행렬 \mathbf{A}에 대해 \mathbf{A} = \mathbf{A}^T일 때, \mathbf{A}를 대칭 행렬이라 한다. 예를 들어, 다음과 같은 행렬은 대칭 행렬이다:

\mathbf{A} = \begin{pmatrix} a & b & c \\ b & d & e \\ c & e & f \end{pmatrix}

반대칭 행렬

반대칭 행렬(skew-symmetric matrix)은 전치 행렬이 원래 행렬의 음수인 경우를 말한다. 즉, \mathbf{A}^T = -\mathbf{A}일 때 \mathbf{A}를 반대칭 행렬이라 한다. 예를 들어, 다음과 같은 행렬은 반대칭 행렬이다:

\mathbf{A} = \begin{pmatrix} 0 & b & c \\ -b & 0 & e \\ -c & -e & 0 \end{pmatrix}

반대칭 행렬의 대각 성분은 항상 0이 된다. 왜냐하면, \mathbf{A} = -\mathbf{A}^T라는 성질에 의해 대각 성분 \mathbf{A}_{ii} = -\mathbf{A}_{ii}가 되어야 하므로, \mathbf{A}_{ii} = 0이기 때문이다.

행렬의 곱셈

행렬의 곱셈(matrix multiplication)은 두 행렬의 곱을 계산하는 방법으로, 행과 열의 원소들 간의 내적(inner product)을 통해 이루어진다. 두 행렬 \mathbf{A}\mathbf{B}가 곱해지려면, 첫 번째 행렬 \mathbf{A}의 열 개수와 두 번째 행렬 \mathbf{B}의 행 개수가 같아야 한다. 즉, \mathbf{A}m \times n 행렬이고 \mathbf{B}n \times p 행렬일 때, 이들의 곱 \mathbf{C} = \mathbf{A} \mathbf{B}m \times p 행렬이 된다.

\mathbf{C} = \mathbf{A} \mathbf{B}, \quad \text{where} \quad \mathbf{C}_{ij} = \sum_{k=1}^{n} a_{ik} b_{kj}

즉, \mathbf{A}i번째 행 벡터와 \mathbf{B}j번째 열 벡터의 내적이 곱 \mathbf{C}i, j 위치에 있는 성분이 된다. 예를 들어, 두 행렬 \mathbf{A}\mathbf{B}가 다음과 같을 때:

\mathbf{A} = \begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix}, \quad \mathbf{B} = \begin{pmatrix} 5 & 6 \\ 7 & 8 \end{pmatrix}

이들의 곱 \mathbf{C} = \mathbf{A} \mathbf{B}는 다음과 같이 계산된다:

\mathbf{C} = \begin{pmatrix} 1 \times 5 + 2 \times 7 & 1 \times 6 + 2 \times 8 \\ 3 \times 5 + 4 \times 7 & 3 \times 6 + 4 \times 8 \end{pmatrix} = \begin{pmatrix} 19 & 22 \\ 43 & 50 \end{pmatrix}

행렬 곱셈의 성질

행렬 곱셈에는 몇 가지 중요한 성질이 있다. 다음은 그 중 일부를 소개한다.

  1. 결합 법칙(Associativity): 세 행렬 \mathbf{A}, \mathbf{B}, \mathbf{C}에 대해, 다음이 성립한다.
(\mathbf{A} \mathbf{B}) \mathbf{C} = \mathbf{A} (\mathbf{B} \mathbf{C})
  1. 왼쪽 분배 법칙(Left Distributivity): 두 행렬의 합에 대한 행렬 곱셈은 다음과 같이 분배된다.
\mathbf{A} (\mathbf{B} + \mathbf{C}) = \mathbf{A} \mathbf{B} + \mathbf{A} \mathbf{C}
  1. 오른쪽 분배 법칙(Right Distributivity):
(\mathbf{A} + \mathbf{B}) \mathbf{C} = \mathbf{A} \mathbf{C} + \mathbf{B} \mathbf{C}
  1. 행렬 곱셈의 교환 법칙 불성립(Non-commutativity): 일반적으로 행렬 곱셈은 교환 법칙이 성립하지 않는다. 즉, \mathbf{A} \mathbf{B} \neq \mathbf{B} \mathbf{A}인 경우가 대부분이다. 예를 들어, 두 행렬 \mathbf{A}\mathbf{B}에 대해 \mathbf{A} \mathbf{B} \neq \mathbf{B} \mathbf{A}일 수 있다.

역행렬

행렬 \mathbf{A}에 대해, 만약 \mathbf{A}와 곱했을 때 단위 행렬을 만들어내는 행렬 \mathbf{B}가 존재한다면, \mathbf{A}는 가역 행렬(invertible matrix)이며, \mathbf{B}\mathbf{A}의 역행렬(inverse matrix)이라 한다. 즉, 다음 조건을 만족하는 행렬 \mathbf{B}가 존재할 때 \mathbf{B} = \mathbf{A}^{-1}이다.

\mathbf{A} \mathbf{A}^{-1} = \mathbf{A}^{-1} \mathbf{A} = \mathbf{I}

역행렬은 정사각 행렬에 대해서만 정의되며, n \times n 행렬의 역행렬이 존재하기 위한 조건은 그 행렬의 행렬식(determinant)이 0이 아니어야 한다. 행렬 \mathbf{A}의 역행렬은 수식으로 다음과 같이 구할 수 있다:

\mathbf{A}^{-1} = \frac{1}{\det(\mathbf{A})} \text{adj}(\mathbf{A})

여기서 \det(\mathbf{A})는 행렬 \mathbf{A}의 행렬식이고, \text{adj}(\mathbf{A})\mathbf{A}의 수반행렬(adjugate matrix)이다.

행렬식

행렬식(determinant)은 정사각 행렬에 대해 정의되는 값으로, 행렬의 성질을 나타내는 중요한 수치이다. n \times n 행렬 \mathbf{A}에 대한 행렬식은 보통 \det(\mathbf{A}) 또는 |\mathbf{A}|로 표시한다.

행렬식은 다음과 같은 성질을 가진다:

  1. \det(\mathbf{A}) = \det(\mathbf{A}^T)
  2. 두 행렬의 곱에 대한 행렬식은 각 행렬의 행렬식의 곱과 같다. 즉,
\det(\mathbf{A} \mathbf{B}) = \det(\mathbf{A}) \det(\mathbf{B})
  1. 가역 행렬 \mathbf{A}에 대해,
\det(\mathbf{A}^{-1}) = \frac{1}{\det(\mathbf{A})}

행렬식은 주로 행렬의 가역성을 확인하는 데 사용된다. 행렬의 행렬식이 0이 아니면 그 행렬은 가역이며, 0이면 가역이 아니다.

역행렬 구하는 방법

역행렬은 주어진 행렬에 대해 행렬 연산을 통해 구할 수 있다. 역행렬을 구하는 방법 중 가장 일반적인 방법은 가우스-조던 소거법(Gaussian-Jordan elimination)이다. 이 방법은 원래 행렬을 단위 행렬로 변환하면서, 그 변환에 따른 행렬을 구하는 방식이다.

가우스-조던 소거법에 의한 역행렬 계산

다음은 3 \times 3 행렬 \mathbf{A}의 역행렬을 구하는 과정을 가우스-조던 소거법을 통해 설명한다.

  1. 행렬 \mathbf{A}와 동일한 크기의 단위 행렬 \mathbf{I}를 붙여 (\mathbf{A}|\mathbf{I}) 형태의 확장 행렬을 만든다.
  2. 행렬 \mathbf{A} 부분을 단위 행렬로 변환하기 위해 가우스 소거법을 사용한다. 이때, 동일한 연산을 \mathbf{I} 부분에도 적용한다.
  3. 변환이 완료되면, 원래의 \mathbf{A}가 있던 자리에는 단위 행렬이 남고, \mathbf{I} 부분에는 역행렬 \mathbf{A}^{-1}이 남게 된다.

예를 들어, 행렬 \mathbf{A}가 다음과 같을 때:

\mathbf{A} = \begin{pmatrix} 1 & 2 & 3 \\ 0 & 1 & 4 \\ 5 & 6 & 0 \end{pmatrix}

확장 행렬 (\mathbf{A}|\mathbf{I})는 다음과 같이 시작된다:

\left( \begin{array}{ccc|ccc} 1 & 2 & 3 & 1 & 0 & 0 \\ 0 & 1 & 4 & 0 & 1 & 0 \\ 5 & 6 & 0 & 0 & 0 & 1 \end{array} \right)

가우스-조던 소거법을 통해 \mathbf{A} 부분을 단위 행렬로 변환하면, \mathbf{I} 부분이 \mathbf{A}^{-1}가 된다.

크래머의 공식(Cramer's Rule)

역행렬을 구하는 또 다른 방법으로, 크래머의 공식이 있다. 이 방법은 행렬식과 수반 행렬을 사용하여 역행렬을 구한다. 크래머의 공식에 따르면, n \times n 행렬 \mathbf{A}의 역행렬은 다음과 같이 계산된다:

\mathbf{A}^{-1} = \frac{1}{\det(\mathbf{A})} \cdot \text{adj}(\mathbf{A})

여기서 \text{adj}(\mathbf{A})는 수반 행렬(adjugate matrix)이며, 각 성분은 \mathbf{A}의 소행렬식(cofactor matrix)으로 이루어진다. 따라서, 크래머의 공식을 통해 역행렬을 구하려면 행렬식과 소행렬식을 계산해야 한다.

대각행렬

대각행렬(diagonal matrix)은 주대각선 성분을 제외한 나머지 성분이 모두 0인 행렬을 말한다. 대각행렬은 다음과 같이 나타낼 수 있다:

\mathbf{D} = \begin{pmatrix} d_1 & 0 & \cdots & 0 \\ 0 & d_2 & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \cdots & d_n \end{pmatrix}

대각행렬은 매우 단순한 형태의 행렬로, 행렬 연산을 수행할 때 계산이 용이하다. 예를 들어, 대각행렬의 곱셈은 각 대각 성분끼리의 곱으로 계산된다. 즉, 두 대각행렬 \mathbf{D}_1\mathbf{D}_2에 대해 다음이 성립한다:

\mathbf{D}_1 \mathbf{D}_2 = \begin{pmatrix} d_{11} & 0 & \cdots & 0 \\ 0 & d_{22} & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \cdots & d_{nn} \end{pmatrix}

대각화

정사각행렬 \mathbf{A}가 어떤 가역 행렬 \mathbf{P}에 의해 대각행렬 \mathbf{D}로 변환될 수 있다면, \mathbf{A}는 대각화 가능하다고 한다. 즉, 다음 식을 만족하는 행렬 \mathbf{P}와 대각행렬 \mathbf{D}가 존재하면 \mathbf{A}는 대각화 가능하다.

\mathbf{A} = \mathbf{P} \mathbf{D} \mathbf{P}^{-1}

이때, 대각행렬 \mathbf{D}의 대각 성분들은 행렬 \mathbf{A}의 고유값(eigenvalue)이 되며, 행렬 \mathbf{P}의 열 벡터들은 \mathbf{A}의 고유벡터(eigenvector)가 된다.

대각화는 복잡한 행렬의 거듭제곱이나 지수 행렬 등을 계산할 때 유용하다. 예를 들어, 행렬 \mathbf{A}가 대각화 가능하면, 그 거듭제곱 \mathbf{A}^k는 다음과 같이 계산할 수 있다:

\mathbf{A}^k = \mathbf{P} \mathbf{D}^k \mathbf{P}^{-1}

여기서 \mathbf{D}^k는 대각행렬 \mathbf{D}의 대각 성분을 각각 k제곱한 대각행렬이다.

고유값과 고유벡터

고유값(eigenvalue)과 고유벡터(eigenvector)는 선형대수학에서 중요한 개념으로, 정사각 행렬 \mathbf{A}가 주어졌을 때 다음과 같은 식을 만족하는 스칼라 \lambda와 벡터 \mathbf{v}를 각각 고유값과 고유벡터라고 한다.

\mathbf{A} \mathbf{v} = \lambda \mathbf{v}

여기서 \mathbf{v}는 0이 아닌 벡터이고, \lambda는 스칼라 값이다. 고유값 \lambda는 행렬 \mathbf{A}의 특성 방정식(characteristic equation)을 통해 구할 수 있다. 이 방정식은 다음과 같이 정의된다:

\det(\mathbf{A} - \lambda \mathbf{I}) = 0

여기서 \mathbf{I}는 단위 행렬이고, \det(\mathbf{A} - \lambda \mathbf{I})는 행렬 \mathbf{A} - \lambda \mathbf{I}의 행렬식이다. 이 식을 풀면 고유값 \lambda를 얻을 수 있다. 고유값이 구해지면, 이를 이용해 고유벡터를 다음 식을 통해 구할 수 있다:

(\mathbf{A} - \lambda \mathbf{I}) \mathbf{v} = 0

즉, 고유값 \lambda에 대해 행렬 \mathbf{A} - \lambda \mathbf{I}의 영공간(null space)에 속하는 벡터 \mathbf{v}가 고유벡터가 된다.

예시

예를 들어, 행렬 \mathbf{A}가 다음과 같다고 하자:

\mathbf{A} = \begin{pmatrix} 4 & 1 \\ 2 & 3 \end{pmatrix}

고유값을 구하기 위해 특성 방정식을 세우면 다음과 같다:

\det(\mathbf{A} - \lambda \mathbf{I}) = \det \begin{pmatrix} 4 - \lambda & 1 \\ 2 & 3 - \lambda \end{pmatrix} = (4 - \lambda)(3 - \lambda) - 2 = \lambda^2 - 7\lambda + 10

이를 풀면 고유값 \lambda_1 = 5, \lambda_2 = 2를 얻을 수 있다.

고유값 \lambda_1 = 5에 대해, 고유벡터 \mathbf{v}_1는 다음 방정식을 통해 구할 수 있다:

(\mathbf{A} - 5\mathbf{I}) \mathbf{v}_1 = 0

즉,

\begin{pmatrix} 4 - 5 & 1 \\ 2 & 3 - 5 \end{pmatrix} \mathbf{v}_1 = \begin{pmatrix} -1 & 1 \\ 2 & -2 \end{pmatrix} \mathbf{v}_1 = 0

이 방정식을 풀면, 고유벡터 \mathbf{v}_1 = \begin{pmatrix} 1 \\ 1 \end{pmatrix}을 얻을 수 있다.

마찬가지로, 고유값 \lambda_2 = 2에 대해 고유벡터 \mathbf{v}_2를 구하면 다음과 같이 된다:

(\mathbf{A} - 2\mathbf{I}) \mathbf{v}_2 = \begin{pmatrix} 2 & 1 \\ 2 & 1 \end{pmatrix} \mathbf{v}_2 = 0

이를 풀면, 고유벡터 \mathbf{v}_2 = \begin{pmatrix} -1 \\ 2 \end{pmatrix}을 얻을 수 있다.

고유값과 고유벡터의 성질

  1. 고유값의 합과 행렬의 대각합: 정사각 행렬 \mathbf{A}의 고유값들의 합은 행렬의 대각합(trace), 즉 주대각선 성분의 합과 같다.
\text{trace}(\mathbf{A}) = \sum_{i=1}^{n} \lambda_i
  1. 고유값의 곱과 행렬식: 정사각 행렬 \mathbf{A}의 고유값들의 곱은 행렬의 행렬식과 같다.
\det(\mathbf{A}) = \prod_{i=1}^{n} \lambda_i
  1. 대각화 가능성: 행렬이 대각화 가능할 조건은 그 행렬이 충분히 많은 서로 다른 고유값을 가져야 한다. 대각화 가능한 행렬은 고유벡터들을 열 벡터로 하는 행렬 \mathbf{P}와 고유값들을 대각성분으로 하는 대각행렬 \mathbf{D}로 나타낼 수 있다. 즉,
\mathbf{A} = \mathbf{P} \mathbf{D} \mathbf{P}^{-1}
  1. 고유값의 실수 여부: 실수 행렬이라 하더라도 그 고유값은 반드시 실수일 필요는 없다. 고유값은 복소수일 수도 있으며, 고유벡터 역시 복소수 벡터가 될 수 있다.