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
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
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
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
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 ]