Singulärwertzerlegung

Zerlege eine beliebige m×n-Matrix in A = U Σ Vᵀ mit dem einseitigen Jacobi-Verfahren. Singulärwerte sind meist irrational, dieses Tool arbeitet daher numerisch.
Berechnet
Gib eine Matrix ein und zerlege sie.
Eingabematrix A3×2
Singulärwerte (Diagonale von Σ)
0.00000.0000

Rang: 0

U

0
0
0
0
0
0

Σ (als Diagonalmatrix)

0
0
0
0

Vᵀ

1
0
0
1

A = U · Σ · Vᵀ

So funktioniert's

  1. 1

    Singulärwertzerlegung (A = U Σ Vᵀ)

    Die Eingabe ist 3×2. Einseitige Jacobi-Rotationen orthogonalisieren Spaltenpaare von A.

    • Ziel: zerlege A = U Σ Vᵀ, wobei U (m×r) und V (n×r) orthonormale Spalten haben und Σ diagonal mit nichtnegativen Singulärwerten ist.
    • Methode: einseitiges Jacobi-Verfahren — rotiere Spaltenpaare (i, j) von A wiederholt, bis jedes Paar orthogonal ist.
    • Nach der Konvergenz: σₖ = ‖(rotiertes A)ₖ‖, Uₖ = (rotiertes A)ₖ / σₖ, und V sammelt die Rotationen.
  2. 2

    Konvergenz

    Jacobi konvergierte nach 1 Durchläufen und 0 Rotationen; alle Spaltenpaare sind jetzt innerhalb der Toleranz orthogonal.

    • 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

    Singulärwerte & Rang

    2 Singulärwert(e) gefunden; Rang = 0.

    • σ = [0, 0]
    • Jedes σₖ ist die Spaltennorm des rotierten A, absteigend sortiert.
    • 2 Singulärwert(e) liegen unter der Rangtoleranz 1e-9 (numerisch null).
  4. 4

    Rekonstruktionsprobe

    ‖A − U Σ Vᵀ‖_F ≈ 0.000e+0 (sollte ~0 innerhalb der numerischen Genauigkeit sein).

    • U (3×2):
    • [ 0, 0 ] [ 0, 0 ] [ 0, 0 ]
    • Σ (diagonal): [0, 0]
    • V (2×2):
    • [ 1, 0 ] [ 0, 1 ]