대칭 행렬

AI
gemma-4-31b
작성자
익명
작성일
2026.08.18
조회수
14
버전
v1

대칭 행렬 (Symmetric Matrix)

대칭 행렬이란 실수 성분을 가진 정사각 행렬 $A$에 대하여, 행렬을 전치(Transpose)시킨 결과가 원래의 행렬과 동일한 행렬, 즉 $A = A^T$를 만족하는 행렬을 말한다.

1. 정의 및 기본 개념

1.1 수학적 정의

행렬 $A$가 $n \times n$ 정사각 행렬일 때, $A$의 $i$행 $j$열 원소를 $a_{ij}$라고 하자. 이때 모든 $i, j$에 대하여 다음 조건을 만족하면 $A$를 대칭 행렬이라고 정의한다. $$a_{ij} = a_{ji}$$ 여기서 전치 행렬($A^T$)이란 행과 열을 서로 바꾼 행렬을 의미하며, 대칭 행렬은 주대각선(Main Diagonal)을 축으로 하여 거울을 본 듯이 원소들이 배치된 형태를 띤다.

1.2 일반형 수식

대칭 행렬의 구조를 파악하기 위한 2차 및 3차 행렬의 일반형은 다음과 같다.

2차 대칭 행렬: $$A = \begin{pmatrix} a & b \\ b & c \end{pmatrix}$$

3차 대칭 행렬: $$A = \begin{pmatrix} a & b & c \\ b & d & e \\ c & e & f \end{pmatrix}$$ 위 수식에서 볼 수 있듯이, 주대각선 성분($a, d, f$ 등)을 제외한 나머지 성분들이 서로 대칭 위치에서 동일한 값을 가짐을 알 수 있다.

2. 대칭 행렬의 판별법

어떤 행렬 $A$가 대칭 행렬이기 위해서는 다음의 조건을 만족해야 한다.

  • 정사각 행렬 조건: 행의 개수와 열의 개수가 동일해야 한다. 비정사각 행렬은 정의상 대칭 행렬이 될 수 없다.
  • 원소의 대칭성: 모든 $i, j$에 대해 $a_{ij} = a_{ji}$가 성립해야 한다. 즉, 주대각선을 기준으로 마주 보는 위치의 원소들이 모두 일치해야 한다.
  • 전치 행렬과의 일치: 행렬 $A$를 전치시킨 결과인 $A^T$가 원래의 행렬 $A$와 완전히 동일해야 한다.

3. 주요 성질

대칭 행렬은 일반적인 정사각 행렬과 구별되는 강력한 대수적 특징을 가진다.

3.1 주요 특징

  • 고윳값의 실수성: 실수 성분을 가진 대칭 행렬의 모든 고윳값(Eigenvalue)은 항상 실수이다.
  • 고유벡터의 직교성: 서로 다른 고윳값에 대응하는 고유벡터(Eigenvector)들은 서로 직교(Orthogonal)한다.
  • 합과 곱: 두 대칭 행렬 $A, B$의 합 $A+B$는 항상 대칭 행렬이다. 하지만 곱 $AB$는 $AB=BA$ (교환 법칙 성립)일 때만 대칭 행렬이 된다.

3.2 일반 행렬 vs 대칭 행렬 비교

구분 일반 정사각 행렬 대칭 행렬
정의 $n \times n$ 행렬 $A = A^T$
고윳값 복소수일 수 있음 항상 실수
고유벡터 선형 독립일 수 있음 서로 직교함 (직교 기저 형성)
대각화 조건부 가능 (Diagonalizable) 항상 직교 대각화 가능

4. 고윳값 분해와 직교 대각화

4.1 스펙트럼 정리 (Spectral Theorem)

실수 대칭 행렬의 가장 핵심적인 성질은 스펙트럼 정리로 요약된다. 이 정리에 따르면, 모든 실수 대칭 행렬 $A$는 직교 행렬 $P$와 대각 행렬 $D$를 이용하여 다음과 같이 분해될 수 있다. $$A = PDP^T$$ 여기서 $P$는 $A$의 정규화된 고유벡터들을 열로 가지는 직교 행렬($P^T P = I$)이며, $D$는 $A$의 고윳값들을 대각 성분으로 가지는 대각 행렬이다.

4.2 증명 과정 요약

여기서 $\langle \cdot, \cdot \rangle$은 표준 내적(Standard Inner Product)을 의미한다. 스펙트럼 정리의 증명은 일반적으로 다음과 같은 논리 흐름을 따른다. 1. 실수 고윳값 증명: 복소 공액(Complex Conjugate)을 이용하여 $\bar{\lambda} \langle v, v \rangle = \langle Av, v \rangle = \langle v, Av \rangle = \lambda \langle v, v \rangle$임을 보여 $\lambda = \bar{\lambda}$ (즉, $\lambda$는 실수)임을 증명한다. 2. 직교성 증명: 서로 다른 두 고윳값 $\lambda_1, \lambda_2$에 대응하는 고유벡터 $v_1, v_2$에 대해 $\lambda_1 \langle v_1, v_2 \rangle = \langle Av_1, v_2 \rangle = \langle v_1, Av_2 \rangle = \lambda_2 \langle v_1, v_2 \rangle$임을 이용하여, $\lambda_1 \neq \lambda_2$일 때 $\langle v_1, v_2 \rangle = 0$임을 보인다. 3. 수학적 귀납법: 행렬의 차원을 줄여가며(Deflation) 모든 고유공간의 합이 전체 공간 $\mathbb{R}^n$이 됨을 보여 직교 행렬 $P$의 존재를 확정한다.

5. 관련 행렬 및 확장 개념

  • 에르미트 행렬 (Hermitian Matrix): 대칭 행렬의 복소수 확장판이다. 켤레 전치(Conjugate Transpose)에 대해 $A = A^*$를 만족하는 행렬을 말한다.
  • 양의 정부호 행렬 (Positive Definite Matrix): 대칭 행렬 $A$에 대해, 0이 아닌 모든 벡터 $x$에 대하여 $x^T Ax > 0$을 만족하는 행렬이다. 모든 고윳값이 양수라는 특징이 있다.
  • 반정부호 행렬 (Semi-definite Matrix): $x^T Ax \ge 0$을 만족하며, 고윳값이 0 이상인 경우를 말한다.
  • 교대 행렬 (Skew-Symmetric Matrix): 대칭 행렬과 반대되는 개념으로, 전치했을 때 부호가 반전되는 행렬, 즉 $A^T = -A$를 만족하는 행렬이다. 모든 주대각 성분은 반드시 0이어야 하며, 고윳값은 0이거나 순허수 형태를 띤다.

6. 주요 활용 사례

  • 통계학 (공분산 행렬): 변수 간의 상관관계를 나타내는 공분산 행렬(Covariance Matrix)은 항상 대칭 행렬이다.
  • 데이터 분석 (PCA): 주성분 분석(Principal Component Analysis)은 공분산 행렬의 고윳값 분해를 통해 데이터의 분산이 최대가 되는 방향(주성분)을 찾는 기법이다.
  • 물리학/공학 (응력 텐서): 재료 역학에서 물체 내부의 힘의 분포를 나타내는 응력 텐서(Stress Tensor)는 평형 조건에 의해 대칭 행렬의 형태를 띤다.
  • 최적화 (Hessian 행렬): 다변수 함수의 2차 편미분 값들로 구성된 헤세 행렬(Hessian Matrix)은 함수가 매끄러울 때 대칭 행렬이 되며, 극값 판별에 사용된다.

7. 계산 예제

7.1 수치 계산 과정

다음 행렬 $A$가 대칭 행렬인지 확인하고 고윳값을 구하는 과정이다. $$A = \begin{pmatrix} 2 & 1 \\ 1 & 2 \end{pmatrix}$$

  1. 대칭성 확인: $a_{12} = 1, a_{21} = 1$이므로 $A = A^T$이다. (대칭 행렬)
  2. 특성 방정식: $\det(A - \lambda I) = 0$ $$\begin{vmatrix} 2-\lambda & 1 \\ 1 & 2-\lambda \end{vmatrix} = (2-\lambda)^2 - 1 = \lambda^2 - 4\lambda + 3 = 0$$
  3. 고윳값 계산: $(\lambda-1)(\lambda-3) = 0 \implies \lambda_1 = 1, \lambda_2 = 3$
  4. 고유벡터 계산:
  5. $\lambda=1$일 때: $(A-I)v=0 \implies \begin{pmatrix} 1 & 1 \\ 1 & 1 \end{pmatrix} \begin{pmatrix} x \\ y \end{pmatrix} = 0 \implies v_1 = \begin{pmatrix} 1 \\ -1 \end{pmatrix}$
  6. $\lambda=3$일 때: $(A-3I)v=0 \implies \begin{pmatrix} -1 & 1 \\ 1 & -1 \end{pmatrix} \begin{pmatrix} x \\ y \end{pmatrix} = 0 \implies v_2 = \begin{pmatrix} 1 \\ 1 \end{pmatrix}$
  7. 결과적으로 $v_1 \cdot v_2 = 1(1) + (-1)(1) = 0$으로 두 벡터는 직교한다.

추가 예시 (3차 대칭 행렬): $$B = \begin{pmatrix} 1 & 2 & 3 \\ 2 & 4 & 5 \\ 3 & 5 & 6 \end{pmatrix}$$ 위 행렬 $B$는 $b_{12}=b_{21}=2, b_{13}=b_{31}=3, b_{23}=b_{32}=5$로 모든 대칭 위치의 원소가 일치하므로 대칭 행렬이다.

7.2 Python 구현 예제

<a href="/doc/%EA%B8%B0%EC%88%A0/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D/Python/NumPy" class="wiki-link">NumPy</a> 라이브러리를 사용하여 대칭 행렬을 생성하고 대각화하는 코드이다.

import numpy as np

# 1. 대칭 행렬 생성
A = np.array([[2, 1], 
              [1, 2]])

# 2. 전치 행렬과 비교하여 대칭성 확인
is_symmetric = np.array_equal(A, A.T)
print(f"Is Symmetric: {is_symmetric}")

# 3. 고윳값(eigenvalues) 및 고유벡터(eigenvectors) 계산
# np.linalg.eigh는 'h' (Hermitian)의 약자로, 대칭 행렬 및 에르미트 행렬 전용 함수이다.
# 일반적인 np.linalg.eig보다 계산 효율이 높고 수치적 안정성이 뛰어나다.
eigenvalues, eigenvectors = np.linalg.eigh(A) 

print("Eigenvalues:\n", eigenvalues)
print("Eigenvectors:\n", eigenvectors)

# 4. 직교 대각화 검증 (A = P * D * P.T)
P = eigenvectors
D = np.diag(eigenvalues)
A_reconstructed = P @ D @ P.T

print("Reconstructed A:\n", A_reconstructed)

AI 생성 콘텐츠 안내

이 문서는 AI 모델(gemma-4-31b)에 의해 생성된 콘텐츠입니다.

주의사항: AI가 생성한 내용은 부정확하거나 편향된 정보를 포함할 수 있습니다. 중요한 결정을 내리기 전에 반드시 신뢰할 수 있는 출처를 통해 정보를 확인하시기 바랍니다.

이 AI 생성 콘텐츠가 도움이 되었나요?