Decomposizione ai valori singolari

Fattorizza qualsiasi matrice m×n in A = U Σ Vᵀ col metodo di Jacobi unilatero. I valori singolari sono in genere irrazionali, quindi questo strumento è numerico.
Calcolato
Inserisci una matrice e decomponila.
Matrice di input A3×2
Valori singolari (diagonale di Σ)
0.00000.0000

Rango: 0

U

0
0
0
0
0
0

Σ (come matrice diagonale)

0
0
0
0

Vᵀ

1
0
0
1

A = U · Σ · Vᵀ

Come funziona

  1. 1

    Decomposizione ai valori singolari (A = U Σ Vᵀ)

    L'input è 3×2. Uso rotazioni di Jacobi unilatero per ortogonalizzare le coppie di colonne di A.

    • Obiettivo: fattorizzare A = U Σ Vᵀ dove U (m×r) e V (n×r) hanno colonne ortonormali e Σ è diagonale con valori singolari non negativi.
    • Metodo: Jacobi unilatero — ruota ripetutamente coppie di colonne (i, j) di A finché ogni coppia di colonne non è ortogonale.
    • Dopo la convergenza: σₖ = ‖(A ruotata)ₖ‖, Uₖ = (A ruotata)ₖ / σₖ, e V accumula le rotazioni.
  2. 2

    Convergenza

    Jacobi è confluito dopo 1 cicli e 0 rotazioni; tutte le coppie di colonne sono ora ortogonali entro la tolleranza.

    • 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

    Valori singolari e rango

    Trovati 2 valori singolari; rango = 0.

    • σ = [0, 0]
    • Ogni σₖ è la norma di colonna della A ruotata, in ordine decrescente.
    • 2 valori singolari sono sotto la tolleranza di rango 1e-9 (zero numerico).
  4. 4

    Verifica di ricostruzione

    ‖A − U Σ Vᵀ‖_F ≈ 0.000e+0 (dovrebbe essere ~0 entro la precisione numerica).

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