
Sebastián Andrade
PreguntaLa verdad no entendí nada de esta clase. Alguien conoce algun recurso para entender este tema?

Yonatan Efraín Jara Boza
Si ya has llegado hasta la parte de .svd() y has entendido lo suficiente (para ello debes complementar este curso con otros gratuitos estaría bien) entonces puedes extender la formula de svd a la de la pseudoinversa de la siguiente manera: . A = u @ Ds @ vh (nomenclatura numpy) Aplicas inversa a ambos lados A_inv = (u @ Ds @ vh)_inv Por propiedad de inversa de un producto A_inv = vh_inv @ Ds_inv @ u_inv Como u y vh son matrices ortogonales entonces A_inv = vh.T @ Ds_inv @ u.T Como Ds es una matriz diagonal no cuadrada entonces su pseudoinversa es muy facil de calcular, sus elementos diagonales son sus recíprocos (ejm: recíproco de 2 es 0.5) y su forma debe ser transpuesta (si A es 3x2 entonces Ds es 3x2 y Ds_inv es 2x3, A_inv es 2x3 también). . Entonces ahí esta la A_inv = vh.T @ Ds_inv @ u.T . Lo bueno de este algoritmo (.linalg.pinv hace el mismo procedimiento según su documentación) es que no ha calculado ningun .linalg.inv (son costosos) en vez de ello ha calculado reciprocos y transpuestas a partir del svd -que tampoco calcula .linalg.inv- . Este es una página donde se puede repasar.

Anthony Ismael Manotoa Moreno
Hola :)
Había un error y la clase estaba en desorden :( Te sugiero volver a revisar este módulo que ya quedó en el orden correcto y probablemente ahí encuentres clases anteriores que puedan ayudar a entender esta

Sebastián Andrade
Entendí qué es una pseudoinversa, pero no entiendo por qué se calcula asi, y unas cuantas clases anteriores a esta no he entendido el punto de ellas ni la explicacion que da el profesor.
Eloy Chávez Dev
¡Hola! :D
¿En qué se te hizo complicado este tema?