행렬의 정의
행렬(matrix)이란 수 또는 기호를 직사각형 모양의 배열로 나타낸 것으로, 일반적으로 m \times n 행렬은 m개의 행(row)과 n개의 열(column)로 구성된 숫자들의 모임을 말한다. 즉, m개의 벡터가 각각 n-차원 벡터 공간에 속하는 경우로 볼 수 있다. 이를 일반적으로 다음과 같이 표현한다.
위의 \mathbf{A}는 m \times n 크기의 행렬이다. 이때 a_{ij}는 i번째 행과 j번째 열에 위치한 성분(entry)이다.
행렬은 벡터의 일반화된 형태로 볼 수 있다. n-차원 벡터는 사실상 n \times 1 크기의 행렬이며, 따라서 벡터 연산을 행렬 연산으로 확장하는 것이 가능하다. 예를 들어, \mathbf{v} \in \mathbb{R}^n인 벡터 \mathbf{v}는 다음과 같이 표현할 수 있다:
행렬의 표현 방식
행렬은 여러 가지 방식으로 표현될 수 있다. 그 중에서 자주 사용되는 방식들은 다음과 같다.
일반적인 행렬 표현
일반적으로 행렬은 각 성분을 배열로 나열하여 정의하며, 행과 열의 인덱스를 기준으로 성분이 정의된다. 일반적으로 행렬은 다음과 같이 표시된다.
이 표현은 m \times n 크기의 행렬 \mathbf{A}가, 각 성분 a_{ij}로 이루어진 배열임을 나타낸다.
열 벡터와 행 벡터로의 분할
행렬은 열 벡터(column vector)와 행 벡터(row vector)로 나누어 생각할 수도 있다. 예를 들어, n-차원의 열 벡터는 n \times 1 크기의 행렬로서 다음과 같이 나타낼 수 있다:
이와 마찬가지로, 1 \times n 크기의 행 벡터는 다음과 같이 표현될 수 있다:
블록 행렬 표현
블록 행렬(block matrix)은 큰 행렬을 여러 작은 행렬로 나누어 표현한 것으로, 복잡한 연산을 더 간단하게 표현할 수 있게 한다. 예를 들어, 2 \times 2 블록 행렬은 다음과 같이 나타낼 수 있다:
여기서 각 \mathbf{A}_{ij}는 작은 행렬로, 이 행렬들이 모여 전체 행렬 \mathbf{A}를 구성한다.
단위 행렬과 영행렬
단위 행렬
단위 행렬(identity matrix)은 모든 주대각선(diagonal)의 성분이 1이고 나머지 성분이 모두 0인 정사각 행렬을 말한다. n \times n 단위 행렬은 보통 \mathbf{I}_n으로 나타내며, 다음과 같이 정의된다:
단위 행렬은 행렬 곱셈에서 항등원 역할을 한다. 즉, 임의의 n \times n 행렬 \mathbf{A}에 대해, 다음이 성립한다:
영행렬
영행렬(null matrix)은 모든 성분이 0인 행렬을 말한다. m \times n 크기의 영행렬은 보통 \mathbf{O}_{m \times n}으로 표시되며, 그 형태는 다음과 같다:
영행렬은 행렬 덧셈에서 항등원 역할을 하며, 임의의 행렬 \mathbf{A}에 대해 다음이 성립한다:
전치 행렬
행렬 \mathbf{A}의 전치 행렬(transpose matrix)은 행과 열을 서로 뒤바꾼 행렬을 말한다. 전치 행렬은 보통 \mathbf{A}^T로 표기되며, m \times n 행렬 \mathbf{A}의 전치 행렬은 n \times m 행렬이 된다. 즉, \mathbf{A}의 전치 행렬 \mathbf{A}^T는 다음과 같이 정의된다:
예를 들어, 2 \times 3 행렬 \mathbf{A}가 다음과 같다면:
\mathbf{A}의 전치 행렬 \mathbf{A}^T는 다음과 같이 된다:
전치 행렬은 여러 성질을 가지며, 그 중 일부는 다음과 같다:
- (\mathbf{A}^T)^T = \mathbf{A}
- (\mathbf{A} + \mathbf{B})^T = \mathbf{A}^T + \mathbf{B}^T
- (\mathbf{A} \mathbf{B})^T = \mathbf{B}^T \mathbf{A}^T
대칭 행렬과 반대칭 행렬
대칭 행렬
대칭 행렬(symmetric matrix)은 전치 행렬과 원래의 행렬이 동일한 경우를 말한다. 즉, 행렬 \mathbf{A}에 대해 \mathbf{A} = \mathbf{A}^T일 때, \mathbf{A}를 대칭 행렬이라 한다. 예를 들어, 다음과 같은 행렬은 대칭 행렬이다:
반대칭 행렬
반대칭 행렬(skew-symmetric matrix)은 전치 행렬이 원래 행렬의 음수인 경우를 말한다. 즉, \mathbf{A}^T = -\mathbf{A}일 때 \mathbf{A}를 반대칭 행렬이라 한다. 예를 들어, 다음과 같은 행렬은 반대칭 행렬이다:
반대칭 행렬의 대각 성분은 항상 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{A}의 i번째 행 벡터와 \mathbf{B}의 j번째 열 벡터의 내적이 곱 \mathbf{C}의 i, j 위치에 있는 성분이 된다. 예를 들어, 두 행렬 \mathbf{A}와 \mathbf{B}가 다음과 같을 때:
이들의 곱 \mathbf{C} = \mathbf{A} \mathbf{B}는 다음과 같이 계산된다:
행렬 곱셈의 성질
행렬 곱셈에는 몇 가지 중요한 성질이 있다. 다음은 그 중 일부를 소개한다.
- 결합 법칙(Associativity): 세 행렬 \mathbf{A}, \mathbf{B}, \mathbf{C}에 대해, 다음이 성립한다.
- 왼쪽 분배 법칙(Left Distributivity): 두 행렬의 합에 대한 행렬 곱셈은 다음과 같이 분배된다.
- 오른쪽 분배 법칙(Right Distributivity):
- 행렬 곱셈의 교환 법칙 불성립(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}이다.
역행렬은 정사각 행렬에 대해서만 정의되며, n \times n 행렬의 역행렬이 존재하기 위한 조건은 그 행렬의 행렬식(determinant)이 0이 아니어야 한다. 행렬 \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}|로 표시한다.
행렬식은 다음과 같은 성질을 가진다:
- \det(\mathbf{A}) = \det(\mathbf{A}^T)
- 두 행렬의 곱에 대한 행렬식은 각 행렬의 행렬식의 곱과 같다. 즉,
- 가역 행렬 \mathbf{A}에 대해,
행렬식은 주로 행렬의 가역성을 확인하는 데 사용된다. 행렬의 행렬식이 0이 아니면 그 행렬은 가역이며, 0이면 가역이 아니다.
역행렬 구하는 방법
역행렬은 주어진 행렬에 대해 행렬 연산을 통해 구할 수 있다. 역행렬을 구하는 방법 중 가장 일반적인 방법은 가우스-조던 소거법(Gaussian-Jordan elimination)이다. 이 방법은 원래 행렬을 단위 행렬로 변환하면서, 그 변환에 따른 행렬을 구하는 방식이다.
가우스-조던 소거법에 의한 역행렬 계산
다음은 3 \times 3 행렬 \mathbf{A}의 역행렬을 구하는 과정을 가우스-조던 소거법을 통해 설명한다.
- 행렬 \mathbf{A}와 동일한 크기의 단위 행렬 \mathbf{I}를 붙여 (\mathbf{A}|\mathbf{I}) 형태의 확장 행렬을 만든다.
- 행렬 \mathbf{A} 부분을 단위 행렬로 변환하기 위해 가우스 소거법을 사용한다. 이때, 동일한 연산을 \mathbf{I} 부분에도 적용한다.
- 변환이 완료되면, 원래의 \mathbf{A}가 있던 자리에는 단위 행렬이 남고, \mathbf{I} 부분에는 역행렬 \mathbf{A}^{-1}이 남게 된다.
예를 들어, 행렬 \mathbf{A}가 다음과 같을 때:
확장 행렬 (\mathbf{A}|\mathbf{I})는 다음과 같이 시작된다:
가우스-조던 소거법을 통해 \mathbf{A} 부분을 단위 행렬로 변환하면, \mathbf{I} 부분이 \mathbf{A}^{-1}가 된다.
크래머의 공식(Cramer's Rule)
역행렬을 구하는 또 다른 방법으로, 크래머의 공식이 있다. 이 방법은 행렬식과 수반 행렬을 사용하여 역행렬을 구한다. 크래머의 공식에 따르면, n \times n 행렬 \mathbf{A}의 역행렬은 다음과 같이 계산된다:
여기서 \text{adj}(\mathbf{A})는 수반 행렬(adjugate matrix)이며, 각 성분은 \mathbf{A}의 소행렬식(cofactor matrix)으로 이루어진다. 따라서, 크래머의 공식을 통해 역행렬을 구하려면 행렬식과 소행렬식을 계산해야 한다.
대각행렬
대각행렬(diagonal matrix)은 주대각선 성분을 제외한 나머지 성분이 모두 0인 행렬을 말한다. 대각행렬은 다음과 같이 나타낼 수 있다:
대각행렬은 매우 단순한 형태의 행렬로, 행렬 연산을 수행할 때 계산이 용이하다. 예를 들어, 대각행렬의 곱셈은 각 대각 성분끼리의 곱으로 계산된다. 즉, 두 대각행렬 \mathbf{D}_1과 \mathbf{D}_2에 대해 다음이 성립한다:
대각화
정사각행렬 \mathbf{A}가 어떤 가역 행렬 \mathbf{P}에 의해 대각행렬 \mathbf{D}로 변환될 수 있다면, \mathbf{A}는 대각화 가능하다고 한다. 즉, 다음 식을 만족하는 행렬 \mathbf{P}와 대각행렬 \mathbf{D}가 존재하면 \mathbf{A}는 대각화 가능하다.
이때, 대각행렬 \mathbf{D}의 대각 성분들은 행렬 \mathbf{A}의 고유값(eigenvalue)이 되며, 행렬 \mathbf{P}의 열 벡터들은 \mathbf{A}의 고유벡터(eigenvector)가 된다.
대각화는 복잡한 행렬의 거듭제곱이나 지수 행렬 등을 계산할 때 유용하다. 예를 들어, 행렬 \mathbf{A}가 대각화 가능하면, 그 거듭제곱 \mathbf{A}^k는 다음과 같이 계산할 수 있다:
여기서 \mathbf{D}^k는 대각행렬 \mathbf{D}의 대각 성분을 각각 k제곱한 대각행렬이다.
고유값과 고유벡터
고유값(eigenvalue)과 고유벡터(eigenvector)는 선형대수학에서 중요한 개념으로, 정사각 행렬 \mathbf{A}가 주어졌을 때 다음과 같은 식을 만족하는 스칼라 \lambda와 벡터 \mathbf{v}를 각각 고유값과 고유벡터라고 한다.
여기서 \mathbf{v}는 0이 아닌 벡터이고, \lambda는 스칼라 값이다. 고유값 \lambda는 행렬 \mathbf{A}의 특성 방정식(characteristic equation)을 통해 구할 수 있다. 이 방정식은 다음과 같이 정의된다:
여기서 \mathbf{I}는 단위 행렬이고, \det(\mathbf{A} - \lambda \mathbf{I})는 행렬 \mathbf{A} - \lambda \mathbf{I}의 행렬식이다. 이 식을 풀면 고유값 \lambda를 얻을 수 있다. 고유값이 구해지면, 이를 이용해 고유벡터를 다음 식을 통해 구할 수 있다:
즉, 고유값 \lambda에 대해 행렬 \mathbf{A} - \lambda \mathbf{I}의 영공간(null space)에 속하는 벡터 \mathbf{v}가 고유벡터가 된다.
예시
예를 들어, 행렬 \mathbf{A}가 다음과 같다고 하자:
고유값을 구하기 위해 특성 방정식을 세우면 다음과 같다:
이를 풀면 고유값 \lambda_1 = 5, \lambda_2 = 2를 얻을 수 있다.
고유값 \lambda_1 = 5에 대해, 고유벡터 \mathbf{v}_1는 다음 방정식을 통해 구할 수 있다:
즉,
이 방정식을 풀면, 고유벡터 \mathbf{v}_1 = \begin{pmatrix} 1 \\ 1 \end{pmatrix}을 얻을 수 있다.
마찬가지로, 고유값 \lambda_2 = 2에 대해 고유벡터 \mathbf{v}_2를 구하면 다음과 같이 된다:
이를 풀면, 고유벡터 \mathbf{v}_2 = \begin{pmatrix} -1 \\ 2 \end{pmatrix}을 얻을 수 있다.
고유값과 고유벡터의 성질
- 고유값의 합과 행렬의 대각합: 정사각 행렬 \mathbf{A}의 고유값들의 합은 행렬의 대각합(trace), 즉 주대각선 성분의 합과 같다.
- 고유값의 곱과 행렬식: 정사각 행렬 \mathbf{A}의 고유값들의 곱은 행렬의 행렬식과 같다.
- 대각화 가능성: 행렬이 대각화 가능할 조건은 그 행렬이 충분히 많은 서로 다른 고유값을 가져야 한다. 대각화 가능한 행렬은 고유벡터들을 열 벡터로 하는 행렬 \mathbf{P}와 고유값들을 대각성분으로 하는 대각행렬 \mathbf{D}로 나타낼 수 있다. 즉,
- 고유값의 실수 여부: 실수 행렬이라 하더라도 그 고유값은 반드시 실수일 필요는 없다. 고유값은 복소수일 수도 있으며, 고유벡터 역시 복소수 벡터가 될 수 있다.