특이값 분해

한쪽 야코비 방법으로 임의의 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. 1

    특이값 분해 (A = U Σ Vᵀ)

    입력은 3×2입니다. 한쪽 야코비 회전으로 A의 열 쌍을 직교화합니다.

    • 목표: A = U Σ Vᵀ로 분해합니다. U(m×r)와 V(n×r)는 정규직교 열을 가지며 Σ는 음이 아닌 특이값의 대각행렬입니다.
    • 방법: 한쪽 야코비법 — 모든 열 쌍이 직교할 때까지 A의 열 쌍 (i, j)을 반복해서 회전합니다.
    • 수렴 후: σₖ = ‖(회전된 A)ₖ‖, Uₖ = (회전된 A)ₖ / σₖ, V는 회전을 누적합니다.
  2. 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. 3

    특이값과 계수

    2개의 특이값을 찾았습니다. 계수 = 0.

    • σ = [0, 0]
    • 각 σₖ는 회전된 A의 열 노름이며 내림차순으로 정렬되어 있습니다.
    • 2개의 특이값이 계수 허용 오차 1e-9 미만입니다(수치적으로 0).
  4. 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 ]