인하대학교 공학대학원(인공지능융합전공)/고급선형대수

기저, 차원, 랭크-널리티,고유값과 대각화

복리 엔지니어 2026. 6. 15. 16:02
Linear Algebra · 선형대수

기저, 차원, 랭크-널리티,
고유값과 대각화

Sections 4.5–5.2의 핵심 개념을 정리합니다.
벡터공간의 뼈대(기저·차원)를 세우고, 행렬의 세 근본 공간(행공간·열공간·영공간)을 이해한 뒤, 고유값·고유벡터로 행렬을 분해하는 대각화까지 한 흐름으로 연결합니다.

🧱 기저와 차원 📦 행·열·영공간 ⚖️ 랭크-널리티 정리 🔍 고유값·고유벡터 🔷 대각화 ⚡ 행렬 거듭제곱
Section 4.5

기저(Basis)와 차원(Dimension)

앞서 배운 Span(넓은가)과 선형독립(중복 없는가)을 동시에 만족하는 집합이 바로 기저(Basis)입니다. 기저는 벡터공간을 "꼭 필요한 최소한의 벡터들"로 기술합니다.

🧾 정의 — 기저 (Basis)

S = {v₁, ..., vₙ}가 벡터공간 V의 기저이다:

조건 1. span(S) = V // S가 V 전체를 생성 조건 2. S가 선형독립 // 중복 벡터 없음

두 조건이 동시에 만족되면, V의 모든 벡터 vv = c₁v₁ + ··· + cₙvₙ으로 유일하게 표현됩니다.

차원(Dimension)이란?

놀라운 사실은, 어떤 기저를 선택하더라도 벡터의 개수가 항상 같다는 것입니다. 이 공통된 수를 차원(dim)이라 합니다.

dim(V) = 어떤 기저를 잡아도 동일한 벡터 개수 dim({0}) = 0 // 영공간의 차원은 0 (관례) dim(ℝⁿ) = n dim(Pₙ) = n + 1 // {1, x, x², ..., xⁿ} : n+1개 dim(Mₘₙ) = mn // m×n 행렬 공간

표준 기저 예제

ℝⁿ의 표준기저

e₁=(1,0,...,0), e₂=(0,1,...,0), ..., eₙ=(0,...,0,1)

x = (x₁,...,xₙ) = x₁e₁ + ··· + xₙeₙ

Pₙ의 표준기저

{1, x, x², ..., xⁿ}

p(x) = a₀ + a₁x + ··· + aₙxⁿ

차원 판별 기준 — dim(V) = n일 때

💡 핵심 판별 기준 4가지
  • 벡터가 n개보다 많으면 → 반드시 선형종속
  • 벡터가 n개보다 적으면 → V를 생성할 수 없음 (span 불가)
  • 정확히 n개이고 span(S)=V → 기저
  • 정확히 n개이고 선형독립 → 기저
💡 W가 유한차원 V의 부분공간이면 dim(W) ≤ dim(V)이고,
dim(W) = dim(V)이면 W = V입니다.
Section 4.6

행공간·열공간·영공간 (Row / Column / Null Space)

행렬 A ∈ ℝm×n에는 자연스럽게 세 가지 근본 공간이 생깁니다.

행공간 row(A)

행벡터 r₁,...,rₘ의 Span
row(A) ⊆ ℝⁿ

열공간 col(A)

열벡터 c₁,...,cₙ의 Span
col(A) ⊆ ℝᵐ

영공간 null(A)

Ax=0의 해집합
null(A) ⊆ ℝⁿ

열공간과 연립방정식의 관계

Ax = b를 열벡터로 풀어쓰면 x₁c₁ + x₂c₂ + ··· + xₙcₙ = b입니다. 따라서:

Ax = b 가 해를 가짐 ⟺ b ∈ col(A) // b가 A의 열벡터들의 선형결합으로 표현 가능한지의 문제

비동차 해집합의 구조

🧾 Theorem — 해집합 = 특수해 + 영공간
Ax = b 가 일치(consistent)하고 x₀이 특수해이면: {Ax=b의 모든 해} = x₀ + null(A) = { x₀ + w : w ∈ null(A) }

비동차 선형계의 해집합은 동차 해공간 null(A)를 x₀만큼 평행이동한 것입니다.

기약행사다리꼴(rref)과 기저 찾기

R = rref(A) 또는 행 동치인 행사다리꼴 형태로부터 각 공간의 기저를 구합니다.

💡 세 공간의 기저 구하는 법
  • row(A)의 기저 → R의 비영(非零) 행벡터들
  • null(A)의 기저 → Rx=0 풀기 (자유변수 매개변수화)
  • col(A)의 기저 → R의 피벗 열에 대응하는 원래 A의 열벡터들

⚠️ 행 연산은 row(A)와 null(A)는 보존하지만, col(A)는 바꿉니다. 반드시 원래 A의 열을 사용해야 합니다.

Section 4.7

랭크(Rank)와 널리티(Nullity) — 그리고 핵심 정리

정의

rank(A) = dim(row(A)) = dim(col(A)) // 행공간과 열공간의 차원은 항상 같음! nullity(A) = dim(null(A)) // 영공간의 차원
🧾 Rank–Nullity Theorem (차원 정리)
rank(A) + nullity(A) = n // A의 열 개수 = n // 달리 말하면: 피벗 변수 개수 + 자유 변수 개수 = 전체 변수 개수 (n)

Ax=0을 풀 때 자유변수가 많을수록 영공간이 커지고, 그만큼 rank는 줄어듭니다. 두 값의 합은 항상 n으로 고정됩니다.

가역행렬과의 연결

정사각행렬 A ∈ ℝn×n에 대해 다음이 모두 동치입니다:

⟺ 등가조건 모음
A는 가역 (invertible)
rref(A) = Iₙ
rank(A) = n
nullity(A) = 0
col(A) = ℝⁿ (열이 ℝⁿ을 생성)
row(A) = ℝⁿ (행이 ℝⁿ을 생성)
null(A) = {0} (자명해만 존재)

Section 5.1

고유값(Eigenvalue)과 고유벡터(Eigenvector)

행렬 A를 벡터에 곱하면 보통 방향이 바뀝니다. 그런데 특별한 벡터 x ≠ 0에 대해 방향은 그대로이고 크기만 λ배가 된다면? 이것이 고유벡터와 고유값의 핵심입니다.

🧾 정의
A ∈ ℝⁿˣⁿ 에 대해, 비영벡터 x ∈ ℝⁿ 가 고유벡터이고 스칼라 λ가 그에 대응하는 고유값이다: Ax = λx // A를 곱해도 방향이 안 변하고 λ배만 됨

고유값 구하는 원리

Ax = λx를 변형하면 (λI - A)x = 0입니다. x ≠ 0인 해가 존재하려면 계수행렬 (λI - A)비가역이어야 합니다.

Ax = λx ⟺ (λI − A)x = 0 // 동차 선형계 x ≠ 0인 해 존재 ⟺ (λI − A) 비가역 ⟺ det(λI − A) = 0 // 특성방정식

특성다항식과 특성방정식

특성다항식: p_A(λ) = det(λI − A) 특성방정식: p_A(λ) = 0 의 해 = 고유값 λ // 2×2 행렬의 경우: A = [[a, b], [c, d]] p_A(λ) = λ² − tr(A)·λ + det(A) = λ² − (a+d)λ + (ad−bc)

고유공간(Eigenspace)

고유값 λ에 대응하는 고유공간(λI - A)x = 0의 해공간입니다. 즉, Ax = λx를 만족하는 모든 벡터(영벡터 포함)의 집합입니다.

E_λ = null(λI − A) = { x ∈ ℝⁿ : Ax = λx } // 고유벡터 = E_λ 안의 비영벡터들
💡 알아두면 좋은 성질들
  • A가 삼각행렬이면 고유값 = 대각 원소들
  • A가 가역 ⟺ 0이 고유값이 아님
  • n×n 행렬의 서로 다른 고유값은 최대 n개
  • 서로 다른 고유값의 고유공간은 {0}에서만 교차

고유값·고유공간 계산 절차

📋 Step-by-Step 계산법
  1. p_A(λ) = det(λI − A) 계산
  2. p_A(λ) = 0 풀기 → 고유값 λ₁, λ₂, ... 획득
  3. 각 고유값 λᵢ에 대해 (λᵢI − A)x = 0 풀기
  4. null(λᵢI − A)의 기저 → 고유공간 E_λᵢ의 기저
Section 5.2 전반부

닮음(Similarity)이란?

두 행렬 A와 B가 닮음(similar)이라는 것은, 적절한 기저 변환 행렬 P를 통해 서로 변환될 수 있다는 의미입니다. 같은 선형 변환을 서로 다른 기저에서 표현한 것입니다.

B = P⁻¹AP (P는 가역행렬) B가 A에 닮음(similar)이다.
✅ 닮음 행렬이 공유하는 성질
  • det(A) = det(B) — 행렬식
  • rank(A) = rank(B) — 랭크
  • nullity(A) = nullity(B) — 널리티
  • tr(A) = tr(B) — 대각합(trace)
  • p_A(λ) = p_B(λ) — 특성다항식 (→ 고유값도 같음)
Section 5.2

대각화(Diagonalization)

대각화는 행렬 A를 대각행렬 D로 닮음 변환하는 것입니다. 대각행렬은 연산이 매우 간단하기 때문에, 대각화 가능 여부는 실용적으로 매우 중요합니다.

A가 대각화 가능하다: P⁻¹AP = D (D는 대각행렬) A = PDP⁻¹
🧾 Main Criterion — 대각화 가능 조건
A ∈ ℝⁿˣⁿ 이 대각화 가능하다 ⟺ A가 n개의 선형독립인 고유벡터를 가진다 ⟺ ℝⁿ이 A의 고유벡터들로 이루어진 기저를 가진다

P의 열벡터 = 고유벡터 p₁,...,pₙ (Apᵢ = λᵢpᵢ)
D = diag(λ₁,...,λₙ) → AP = PD → P⁻¹AP = D

서로 다른 고유값 → 자동으로 대각화 가능

✅ 충분조건

A ∈ ℝⁿˣⁿ이 n개의 서로 다른 고유값을 가지면 자동으로 대각화 가능합니다.
(서로 다른 고유값에 대응하는 고유벡터들은 선형독립이기 때문)

⚠️ 주의 — 역은 성립하지 않음

대각화 가능하더라도 고유값이 반드시 서로 다를 필요는 없습니다.
중복 고유값이 있어도 고유벡터가 충분히 많으면 대각화 가능합니다.

대각화 절차

📋 대각화 Step-by-Step
  1. det(λI − A) = 0을 풀어 모든 고유값 λ₁, ..., λₖ 를 구합니다.
  2. 각 고유값에 대해 (λᵢI − A)x = 0을 풀어 E_λᵢ의 기저를 구합니다.
  3. 모든 고유공간의 기저 벡터 개수를 합산합니다.
  4. 합이 n개이면 → P의 열로 배열, D = diag(λ₁,...,λₙ) 구성.
  5. 합이 n개 미만이면 → 대각화 불가.
Section 5.2 응용

대각화의 강력한 활용 — 행렬 거듭제곱과 함수

행렬 거듭제곱 Aᵏ

A = PDP⁻¹이면 Aᵏ을 매우 쉽게 계산할 수 있습니다.

A² = (PDP⁻¹)(PDP⁻¹) = PD²P⁻¹ A³ = PD³P⁻¹ ⋮ Aᵏ = PDᵏP⁻¹ D = diag(λ₁,...,λₙ) 이면: Dᵏ = diag(λ₁ᵏ,...,λₙᵏ) // 대각 원소만 k제곱하면 끝! 따라서: Aᵏ = P · diag(λ₁ᵏ,...,λₙᵏ) · P⁻¹
💡 Ax = λx 이면 Aᵏx = λᵏx입니다. 고유벡터는 그대로이고 고유값만 k제곱됩니다.

행렬의 다항식 함수 p(A)

다항식 p(x) = a₀ + a₁x + ··· + aₘxᵐ에 대해 p(A) = a₀I + a₁A + ··· + aₘAᵐ으로 정의합니다.

A = PDP⁻¹ 이면: p(A) = P · p(D) · P⁻¹ p(D) = diag(p(λ₁), p(λ₂), ..., p(λₙ)) // 대각 원소 각각에 p를 적용하면 끝! 예시: p(x) = x² − 5x + 6, A = P·diag(λ₁,λ₂,λ₃)·P⁻¹ p(A) = P · diag(λ₁²−5λ₁+6, λ₂²−5λ₂+6, λ₃²−5λ₃+6) · P⁻¹
✅ 대각화가 강력한 이유
  • Aᵏ 계산: n×n 행렬 k번 곱하기 → 스칼라 k제곱으로 단순화
  • p(A) 계산: 행렬 다항식 → 스칼라 다항식 n번으로 단순화
  • 차분방정식·미분방정식의 일반해 공식 유도에 핵심 사용
Core Summary

전체 흐름 한눈에 보기

🎯 기저·차원으로 공간의 크기를 측정하고, 행·열·영공간으로 행렬을 해부하고, 고유값·대각화로 행렬의 본질적 구조를 드러냅니다.
개념 1

기저 (Basis)

span + 선형독립. V의 모든 벡터를 유일하게 표현하는 최소 집합.

개념 2

차원 (Dimension)

어떤 기저든 벡터 개수는 동일. dim(ℝⁿ)=n, dim(Pₙ)=n+1, dim(Mₘₙ)=mn.

개념 3

세 근본 공간

row(A) ⊆ ℝⁿ, col(A) ⊆ ℝᵐ, null(A) ⊆ ℝⁿ. rref(A)로 기저 계산.

개념 4

Rank–Nullity

rank(A) + nullity(A) = n. 피벗 변수 + 자유 변수 = 전체 변수.

개념 5

고유값·고유벡터

Ax = λx. det(λI−A)=0으로 λ 구하고, 각 λ마다 (λI−A)x=0 풀기.

개념 6

대각화

n개의 독립 고유벡터 → P⁻¹AP=D. Aᵏ = PDᵏP⁻¹으로 거듭제곱 단순화.

// 핵심 공식 총정리 기저: span(S)=V AND S 선형독립 차원: dim(V) = 기저 벡터 개수 Rank-Nullity: rank(A) + nullity(A) = n (열 개수) 해집합: {Ax=b의 해} = x₀ + null(A) 고유값: det(λI − A) = 0 고유공간: E_λ = null(λI − A) 대각화: A = PDP⁻¹ ⟺ n개의 독립 고유벡터 존재 거듭제곱: Aᵏ = P · diag(λ₁ᵏ,...,λₙᵏ) · P⁻¹