개요
영행렬(zero matrix)은 모든 원소가 0인 행렬을 말한다. 행렬 연산에서 항등원(덧셈 항등원)으로 작용하며, 선형대수의 여러 기본 정리와 정의에 필수적인 역할을 한다. 영행렬은 차원에 따라 형태가 달라지지만, “모든 원소가 0”이라는 공통된 특성을 가진다. 본 문서는 영행렬의 정의, 주요 성질, 연산 규칙, 다른 특수 행렬과의 관계, 실제 계산에서의 활용 등을 체계적으로 정리한다.
1. 정의
| 기호 |
의미 |
| 0m×n |
m행 n열을 갖는 영행렬. 모든 원소 aij = 0 (1 ≤ i ≤ m, 1 ≤ j ≤ n) |
| 0 |
차원을 명시하지 않을 때는 “적당한 차원의 영행렬”을 의미한다. |
예시
- 2×3 영행렬: (\displaystyle 0_{2\times3}= \begin{pmatrix}0&0&0\0&0&0\end{pmatrix})
- 4×4 영행렬: (\displaystyle 0_{4\times4}= \begin{pmatrix}0&0&0&0\0&0&0&0\0&0&0&0\0&0&0&0\end{pmatrix})
2. 기본 성질
2.1 덧셈 항등원
- 모든 행렬 A에 대해
[
A + 0_{m\times n}=0_{m\times n}+A = A
]
여기서 A와 영행렬은 차원이 동일해야 한다.
- 스칼라 c와 영행렬의 곱은 항상 영행렬이다.
[
c\cdot 0_{m\times n}=0_{m\times n}
]
- 영행렬과 어떤 행렬 B를 곱하면 차원에 맞는 영행렬이 된다.
[
0_{m\times k}\,B = 0_{m\times n},\qquad
A\,0_{k\times n}=0_{m\times n}
]
(단, A는 m×k, B는 k×n)
2.4 전치와 켤레 전치
- 영행렬의 전치(transpose)와 켤레 전치(conjugate transpose) 역시 영행렬이다.
[
(0_{m\times n})^{\mathsf T}=0_{n\times m},\qquad
(0_{m\times n})^{\mathsf H}=0_{n\times m}
]
| 개념 |
영행렬에 대한 값 |
| 행렬식(det) |
정방 영행렬( n×n )의 행렬식은 0 |
| 랭크(rank) |
영행렬의 랭크는 0 (비자명한 행이 없기 때문) |
| 고유값(eigenvalue) |
모든 고유값이 0이며, 고유공간은 전체 (\mathbb{F}^n) (필드 (\mathbb{F}) 위) |
3. 연산 규칙
3.1 행렬 덧셈·뺄셈
- 영행렬을 포함한 연산은 일반적인 행렬 연산 규칙과 동일하게 적용한다.
- 뺄셈에서도 영행렬은 항등원이다: (A-0_{m\times n}=A).
3.2 블록 행렬에서의 역할
- 블록 행렬을 구성할 때 영행렬을 “채우기” 용도로 자주 사용한다.
[
\begin{pmatrix}
I_k & 0_{k\times (n-k)}\
0_{(m-k)\times k} & 0_{(m-k)\times (n-k)}
\end{pmatrix}
]
여기서 (I_k)는 k차원의 단위행렬(identity matrix)이다.
- 행(열) 교환, 스칼라 곱, 행(열) 합성 연산에서 영행렬을 포함한 행(열)은 변하지 않는다.
예) 행 i에 영행렬을 더해도 행 i는 그대로 유지된다.
4. 영행렬과 다른 특수 행렬
| 특수 행렬 |
정의 |
영행렬과의 관계 |
| 단위행렬 (I_n) |
대각선이 1, 나머지는 0인 정방 행렬 |
(I_n)와 영행렬은 서로 곱했을 때 영행렬을 만든다: (I_n \cdot 0_{n\times n}=0_{n\times n}) |
| 대각행렬 (D) |
대각 원소만 비0, 나머지는 0 |
대각행렬에 영행렬을 곱하면 영행렬: (D \cdot 0 = 0) |
| 전치 행렬 ((\cdot)^{\mathsf T}) |
행과 열을 뒤바꾼 행렬 |
영행렬의 전치는 차원만 바뀐 영행렬 |
| 영벡터 (\mathbf{0}) |
차원 n인 영행렬(1열) |
영벡터는 영행렬의 특수한 경우이며, 선형 방정식 (A\mathbf{x}= \mathbf{0})에서 해공간을 정의한다. |
5. 응용 사례
5.1 선형 시스템의 동차 해
선형 방정식 (A\mathbf{x}= \mathbf{0}) (동차 시스템)에서 오른쪽이 영벡터이므로 해공간은 영벡터를 포함한다. 영행렬은 시스템을 동차로 만들 때 핵심적인 역할을 한다.
5.2 행렬식과 가역성 판단
정방 행렬 (A)가 영행렬이면 (\det(A)=0)이므로 가역(invertible) 하지 않다. 따라서 영행렬은 비가역 행렬의 대표적인 예시다.
5.3 수치 해석 및 컴퓨터 구현
- Sparse matrix(희소 행렬) 구현 시, 대부분이 0인 경우 영행렬 형태를 활용해 메모리를 절감한다.
- 초기화: 많은 알고리즘에서 행렬을 영행렬로 초기화한 뒤, 필요한 원소만 채워 넣는다.
- 이미지 필터링에서 “zero‑padding”은 이미지 가장자리에 영행렬(0값)으로 주변을 채워 연산을 간단히 만든다.
6. 컴퓨터 구현 예시
아래는 Python의 NumPy 라이브러리를 이용해 영행렬을 생성하고 기본 연산을 수행하는 예시이다.
import numpy as np
# 3×4 영행렬 생성
Z = np.zeros((3, 4), dtype=float)
print("Zero matrix (3x4):\n", Z)
# 다른 행렬과의 덧셈
A = np.array([[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 10, 11, 12]])
print("\nA + Z =\n", A + Z) # 결과는 A와 동일
# 행렬 곱 (3x4)·(4x2) → (3x2)
B = np.arange(8).reshape(4, 2)
print("\nA @ B =\n", A @ B) # 영행렬을 곱하면 0이 된다
print("\nZ @ B =\n", Z @ B) # 결과는 3x2 영행렬
Tip: np.zeros_like(A)를 사용하면 행렬 A와 같은 형태·dtype의 영행렬을 손쉽게 만들 수 있다.
7. 관련 개념
| 개념 |
설명 |
| 동차 방정식 |
오른쪽 항이 영벡터(또는 영행렬)인 선형 방정식 |
| 영벡터 |
차원 n인 영행렬(1열)로, 모든 성분이 0 |
| 희소 행렬 |
대부분의 원소가 0인 행렬. 영행렬은 가장 극단적인 형태 |
| 행렬식(Determinant) |
정방 행렬의 스칼라 특성값. 영행렬의 행렬식은 0 |
| 가역 행렬(Invertible matrix) |
역행렬이 존재하는 행렬. 영행렬은 가역이 아니다 |
8. 참고 자료
- Gilbert Strang, Linear Algebra and Its Applications, 5th ed., Cengage Learning, 2016. – 영행렬과 행렬 연산 기본 개념.
- David C. Lay, Linear Algebra and Its Applications, 4th ed., Pearson, 2012. – 동차 시스템과 영행렬의 역할.
- NumPy Documentation, “numpy.zeros”, https://numpy.org/doc/stable/reference/generated/numpy.zeros.html – 파이썬에서 영행렬 생성 방법.
- Wikipedia, “Zero matrix”, https://en.wikipedia.org/wiki/Zero_matrix – 영행렬에 대한 영문 위키 페이지.
본 문서는 영행렬에 대한 기본적인 정의와 성질을 중심으로, 선형대수 전반에서의 활용까지 포괄적으로 다루었다. 필요에 따라 각 항목을 심화 학습 자료와 연계해 활용하면 좋다.
# 영행렬
## 개요
영행렬(zero matrix)은 모든 원소가 0인 행렬을 말한다. 행렬 연산에서 항등원(덧셈 항등원)으로 작용하며, 선형대수의 여러 기본 정리와 정의에 필수적인 역할을 한다. 영행렬은 차원에 따라 형태가 달라지지만, “모든 원소가 0”이라는 공통된 특성을 가진다. 본 문서는 영행렬의 정의, 주요 성질, 연산 규칙, 다른 특수 행렬과의 관계, 실제 계산에서의 활용 등을 체계적으로 정리한다.
---
## 1. 정의
| 기호 | 의미 |
|------|------|
| **0**<sub>m×n</sub> | **m**행 **n**열을 갖는 영행렬. 모든 원소 a<sub>ij</sub> = 0 (1 ≤ i ≤ m, 1 ≤ j ≤ n) |
| **0** | 차원을 명시하지 않을 때는 “적당한 차원의 영행렬”을 의미한다. |
> **예시**
> - 2×3 영행렬: \(\displaystyle 0_{2\times3}= \begin{pmatrix}0&0&0\\0&0&0\end{pmatrix}\)
> - 4×4 영행렬: \(\displaystyle 0_{4\times4}= \begin{pmatrix}0&0&0&0\\0&0&0&0\\0&0&0&0\\0&0&0&0\end{pmatrix}\)
---
## 2. 기본 성질
### 2.1 덧셈 항등원
- 모든 행렬 **A**에 대해
\[
A + 0_{m\times n}=0_{m\times n}+A = A
\]
여기서 **A**와 영행렬은 차원이 동일해야 한다.
### 2.2 스칼라 곱
- 스칼라 **c**와 영행렬의 곱은 항상 영행렬이다.
\[
c\cdot 0_{m\times n}=0_{m\times n}
\]
### 2.3 행렬 곱
- 영행렬과 어떤 행렬 **B**를 곱하면 차원에 맞는 영행렬이 된다.
\[
0_{m\times k}\,B = 0_{m\times n},\qquad
A\,0_{k\times n}=0_{m\times n}
\]
(단, **A**는 m×k, **B**는 k×n)
### 2.4 전치와 켤레 전치
- 영행렬의 전치(transpose)와 켤레 전치(conjugate transpose) 역시 영행렬이다.
\[
(0_{m\times n})^{\mathsf T}=0_{n\times m},\qquad
(0_{m\times n})^{\mathsf H}=0_{n\times m}
\]
### 2.5 행렬식, 랭크, 고유값
| 개념 | 영행렬에 대한 값 |
|------|----------------|
| **행렬식(det)** | 정방 영행렬( n×n )의 행렬식은 0 |
| **랭크(rank)** | 영행렬의 랭크는 0 (비자명한 행이 없기 때문) |
| **고유값(eigenvalue)** | 모든 고유값이 0이며, 고유공간은 전체 \(\mathbb{F}^n\) (필드 \(\mathbb{F}\) 위) |
---
## 3. 연산 규칙
### 3.1 행렬 덧셈·뺄셈
- 영행렬을 포함한 연산은 일반적인 행렬 연산 규칙과 동일하게 적용한다.
- **뺄셈**에서도 영행렬은 항등원이다: \(A-0_{m\times n}=A\).
### 3.2 블록 행렬에서의 역할
- 블록 행렬을 구성할 때 영행렬을 “채우기” 용도로 자주 사용한다.
\[
\begin{pmatrix}
I_k & 0_{k\times (n-k)}\\
0_{(m-k)\times k} & 0_{(m-k)\times (n-k)}
\end{pmatrix}
\]
여기서 \(I_k\)는 **k**차원의 단위행렬(identity matrix)이다.
### 3.3 행 연산·열 연산
- 행(열) 교환, 스칼라 곱, 행(열) 합성 연산에서 영행렬을 포함한 행(열)은 변하지 않는다.
예) 행 i에 영행렬을 더해도 행 i는 그대로 유지된다.
---
## 4. 영행렬과 다른 특수 행렬
| 특수 행렬 | 정의 | 영행렬과의 관계 |
|----------|------|-----------------|
| **단위행렬** \(I_n\) | 대각선이 1, 나머지는 0인 정방 행렬 | \(I_n\)와 영행렬은 서로 곱했을 때 영행렬을 만든다: \(I_n \cdot 0_{n\times n}=0_{n\times n}\) |
| **대각행렬** \(D\) | 대각 원소만 비0, 나머지는 0 | 대각행렬에 영행렬을 곱하면 영행렬: \(D \cdot 0 = 0\) |
| **전치 행렬** \((\cdot)^{\mathsf T}\) | 행과 열을 뒤바꾼 행렬 | 영행렬의 전치는 차원만 바뀐 영행렬 |
| **영벡터** \(\mathbf{0}\) | 차원 n인 영행렬(1열) | 영벡터는 영행렬의 특수한 경우이며, 선형 방정식 \(A\mathbf{x}= \mathbf{0}\)에서 해공간을 정의한다. |
---
## 5. 응용 사례
### 5.1 선형 시스템의 동차 해
선형 방정식 \(A\mathbf{x}= \mathbf{0}\) (동차 시스템)에서 오른쪽이 영벡터이므로 해공간은 영벡터를 포함한다. 영행렬은 시스템을 **동차**로 만들 때 핵심적인 역할을 한다.
### 5.2 행렬식과 가역성 판단
정방 행렬 \(A\)가 영행렬이면 \(\det(A)=0\)이므로 **가역(invertible)** 하지 않다. 따라서 영행렬은 비가역 행렬의 대표적인 예시다.
### 5.3 수치 해석 및 컴퓨터 구현
- **Sparse matrix**(희소 행렬) 구현 시, 대부분이 0인 경우 영행렬 형태를 활용해 메모리를 절감한다.
- **초기화**: 많은 알고리즘에서 행렬을 영행렬로 초기화한 뒤, 필요한 원소만 채워 넣는다.
### 5.4 신호·이미지 처리
- 이미지 필터링에서 “zero‑padding”은 이미지 가장자리에 영행렬(0값)으로 주변을 채워 연산을 간단히 만든다.
---
## 6. 컴퓨터 구현 예시
아래는 Python의 **NumPy** 라이브러리를 이용해 영행렬을 생성하고 기본 연산을 수행하는 예시이다.
```python
import numpy as np
# 3×4 영행렬 생성
Z = np.zeros((3, 4), dtype=float)
print("Zero matrix (3x4):\n", Z)
# 다른 행렬과의 덧셈
A = np.array([[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 10, 11, 12]])
print("\nA + Z =\n", A + Z) # 결과는 A와 동일
# 행렬 곱 (3x4)·(4x2) → (3x2)
B = np.arange(8).reshape(4, 2)
print("\nA @ B =\n", A @ B) # 영행렬을 곱하면 0이 된다
print("\nZ @ B =\n", Z @ B) # 결과는 3x2 영행렬
```
> **Tip**: `np.zeros_like(A)`를 사용하면 행렬 **A**와 같은 형태·dtype의 영행렬을 손쉽게 만들 수 있다.
---
## 7. 관련 개념
| 개념 | 설명 |
|------|------|
| **동차 방정식** | 오른쪽 항이 영벡터(또는 영행렬)인 선형 방정식 |
| **영벡터** | 차원 n인 영행렬(1열)로, 모든 성분이 0 |
| **희소 행렬** | 대부분의 원소가 0인 행렬. 영행렬은 가장 극단적인 형태 |
| **행렬식(Determinant)** | 정방 행렬의 스칼라 특성값. 영행렬의 행렬식은 0 |
| **가역 행렬(Invertible matrix)** | 역행렬이 존재하는 행렬. 영행렬은 가역이 아니다 |
---
## 8. 참고 자료
1. **Gilbert Strang**, *Linear Algebra and Its Applications*, 5th ed., Cengage Learning, 2016. – 영행렬과 행렬 연산 기본 개념.
2. **David C. Lay**, *Linear Algebra and Its Applications*, 4th ed., Pearson, 2012. – 동차 시스템과 영행렬의 역할.
3. **NumPy Documentation**, “numpy.zeros”, https://numpy.org/doc/stable/reference/generated/numpy.zeros.html – 파이썬에서 영행렬 생성 방법.
4. **Wikipedia**, “Zero matrix”, https://en.wikipedia.org/wiki/Zero_matrix – 영행렬에 대한 영문 위키 페이지.
---
*본 문서는 영행렬에 대한 기본적인 정의와 성질을 중심으로, 선형대수 전반에서의 활용까지 포괄적으로 다루었다. 필요에 따라 각 항목을 심화 학습 자료와 연계해 활용하면 좋다.*