El pseudoinverso se realiza con SVD.
Múltiples formas de hacerlo.
Existen diferentes métodos, uno tradicional es la bidiagonalización de golub kahan. [1]
La rutina de Numpy svd Lapack es dgesdd. [2]
- ¿Qué es el álgebra vectorial en matemáticas?
- ¿Cuáles son algunas aplicaciones de la vida real de valores propios o vectores propios?
- ¿Se sobrepasa el álgebra?
- ¿Por qué la eliminación gaussiana no cambia el determinante (si el determinante representa el volumen)?
- Si [matemática] \ det (ADA ^ T) = \ det (D) [/ matemática], donde A es una matriz m * n (m <n) y D es una matriz diagonal, ¿qué tipo de condición es que la matriz A debe estar satisfecho?
Este es un método más nuevo. Divide and conquer [3] permite multi-threading.
Así es como. [4]
El método se basa en el mismo concepto pero en mosaico de la matriz utilizando matrices de bloques.
para [matemáticas] Ax = b [/ matemáticas]
[math] \ bar {x} [/ math] es la solución dada [math] \ bar {x} = A ^ {+} b [/ math]
[matemáticas] A = U \ Sigma V ^ {T} [/ matemáticas]
[matemáticas] A ^ {+} = V \ Sigma ^ {+} U ^ {T} [/ matemáticas]
Notas al pie
[1] Procedimiento de bidiagonalización de Golub-Kahan-Lanczos.
[2] LAPACK: dgesdd
[3] Algoritmo de valor propio de divide y vencerás – Wikipedia
[4] Algoritmo de divide y vencerás para la SVD bidiagonal