특이값 분해
한쪽 야코비 방법으로 임의의 m×n 행렬을 A = U Σ Vᵀ로 분해합니다. 특이값은 대개 무리수이므로 이 도구는 수치 방식입니다.
계산 완료
행렬을 입력하고 분해하세요.
입력 행렬 A3×2
특이값 (Σ 대각선)
0.00000.0000
계수: 0
U
0
0
0
0
0
0
Σ (대각행렬로)
0
0
0
0
Vᵀ
1
0
0
1
A = U · Σ · Vᵀ
작동 원리
- 1
특이값 분해 (A = U Σ Vᵀ)
입력은 3×2입니다. 한쪽 야코비 회전으로 A의 열 쌍을 직교화합니다.
- 목표: A = U Σ Vᵀ로 분해합니다. U(m×r)와 V(n×r)는 정규직교 열을 가지며 Σ는 음이 아닌 특이값의 대각행렬입니다.
- 방법: 한쪽 야코비법 — 모든 열 쌍이 직교할 때까지 A의 열 쌍 (i, j)을 반복해서 회전합니다.
- 수렴 후: σₖ = ‖(회전된 A)ₖ‖, Uₖ = (회전된 A)ₖ / σₖ, V는 회전을 누적합니다.
- 2
수렴
야코비법이 1회의 스윕과 0회의 회전 후 수렴했습니다. 이제 모든 열 쌍이 허용 오차 내에서 직교합니다.
- Per-pair skip rule: |γ| ≤ 1e-12 · √(αβ), where α = ‖Bᵢ‖², β = ‖Bⱼ‖², γ = 2·Bᵢ·Bⱼ.
- Jacobi angle: ζ = (β − α) / γ, t = sign(ζ) / (|ζ| + √(1 + ζ²)), c = 1/√(1+t²), s = t·c.
- Each rotation [[c, s], [−s, c]] is applied to columns i, j of both B and V.
- 3
특이값과 계수
2개의 특이값을 찾았습니다. 계수 = 0.
- σ = [0, 0]
- 각 σₖ는 회전된 A의 열 노름이며 내림차순으로 정렬되어 있습니다.
- 2개의 특이값이 계수 허용 오차 1e-9 미만입니다(수치적으로 0).
- 4
재구성 검증
‖A − U Σ Vᵀ‖_F ≈ 0.000e+0 (수치 정밀도 내에서 약 0이어야 합니다).
- U (3×2):
- [ 0, 0 ] [ 0, 0 ] [ 0, 0 ]
- Σ (diagonal): [0, 0]
- V (2×2):
- [ 1, 0 ] [ 0, 1 ]