26 votos

¿Fórmula analítica para la derivada numérica del pseudoinverso de la matriz?

¿Existe un procedimiento numérico sencillo para obtener la derivada (con respecto a $x$ ) del pseudoinverso de una matriz $A(x)$ sin aproximaciones (salvo las limitaciones habituales del punto flotante)? La matriz $\frac{\mathrm{d}}{\mathrm{d}x}A(x)$ se supone que se conoce.

En otras palabras, ¿existen fórmulas analíticas que puedan evaluarse numéricamente para obtener la derivada del pseudoinverso? o bien, ¿qué fórmula generalizaría $$ \frac{\mathrm{d}}{\mathrm{d}x}A^{-1}(x) = -A^{-1}(x) \left(\frac{\mathrm{d}}{\mathrm{d}x}A(x)\right) A^{-1}(x) $$ para el pseudoinverso?

Me alegraría que esto fuera posible, ya que permitiría a mi paquete de programación para el cálculo de incertidumbres para calcular con precisión las incertidumbres sobre el pseudoinverso de las matrices cuyos elementos tienen incertidumbres (actualmente, se realiza una diferenciación numérica, que puede dar resultados imprecisos en algunos casos).

Cualquier idea será muy apreciada.

31voto

ezotrank Puntos 11

La respuesta es conocida al menos desde 1973 una fórmula para la derivada del pseudoinverso de una matriz $A(x)$ de rango constante en

Diferenciación de las pseudoinversiones y problemas de mínimos cuadrados no lineales Cuyas Variables se Separan. Autor(es): G. H. Golub y V. Pereyra. Fuente: SIAM Journal on Numerical Analysis, Vol. 10, No. 2 (Abr., 1973), pp. 413-432

Las referencias 29 y 30 del artículo anterior contienen una fórmula anterior que también puede utilizarse para obtener el mismo resultado (artículos de P.A. Wedin).

El caso de rango no constante es sencillo: el pseudoinverso no es continuo, en este caso (véase el Corolario 3.5 en On the Perturbation of Pseudo-Inverses, Projections and Linear Least Squares Problemas. G. W. Stewart. SIAM Review, Vol. 19, No. 4. (Oct., 1977), pp. 634-662).

He aquí la fórmula para una matriz de rango constante (ecuación (4.12), en el artículo de Golub):

$$ \frac{\mathrm d}{\mathrm d x} A^+(x) = -A^+ \left( \frac{\mathrm d}{\mathrm d x} A \right) A^+ +A^+ A{^+}^T \left( \frac{\mathrm d}{\mathrm d x} A^T \right) (1-A A^+) + (1-A^+ A) \left( \frac{\mathrm d}{\mathrm d x} A^T \right) A{^+}^T A^+ $$

(para una matriz real).

Para matrices complejas, la fórmula anterior funciona si se utilizan conjugados hermitianos en lugar de transposiciones. No tengo ninguna referencia al respecto (¿alguien?), pero esto lo verifican todas las pruebas numéricas que hice (con matrices de diversas formas y rangos).

10voto

ricree Puntos 5055

Esta no es una respuesta completa.

Según la página de Wikipedia que has enlazado, el pseudoinverso $A^+$ no es una función continua de $A$ ya que salta cuando $A$ está mal condicionada. Por lo tanto, no se puede esperar $A^+(x)$ para tener siempre una derivada en términos de la derivada matricial de $A(x)$ .

Supongo que puede ser razonable pedir una fórmula que funcione cuando la trayectoria de $A(x)$ se restringe a estratos de rango constante, pero no conozco tal fórmula. Si existe, debería explotar cuando te acercas a un lugar donde el rango salta hacia abajo.

Esto es un tiro en la oscuridad, pero usted podría tratar de elaborar un límite de regularizaciones Tikhonov, tomando la derivada de $(A^\ast(x)A(x) - \epsilon I)^{-1}A^\ast(x)$ como $\epsilon \to 0$ .

1voto

segfault Puntos 159

Dado que su objetivo es tener en cuenta el efecto de las perturbaciones en los elementos de la matriz sobre la solución de mínimos cuadrados, puede que le resulte útil lo siguiente:

http://www.jstor.org/pss/2156807

http://en.wikipedia.org/wiki/Total_least_squares

Dependiendo de las suposiciones que hagas sobre la naturaleza de las perturbaciones, estos resultados podrían ahorrarte trabajo en el análisis.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X