Me gustaría preguntarle si sabe, dada la descomposición QR $A=QR,A\in\mathbb{R}^{N\times M}$ si es posible derivar más rápidamente la descomposición QR de una partición de A, que contenga un subconjunto de filas de A. La razón por la que pregunto es que tengo que aplicar CCA sobre un conjunto de un millón de $B$ matrices con $B\in \mathbb{R}^{N\times K},K\in\{1,2\}$ que contienen filas que faltan, y la misma matriz A. Estoy utilizando la implementación en Matlab de canoncorr, que hace uso de la descomposición QR en las dos matrices seguida de SVD. Puede encontrar más información sobre el algoritmo CCA en este enlace documento . Actualmente existe un método en Matlab qrdelete, que elimina una columna encontrando un conjunto óptimo de rotaciones Givens, pero me gustaría saber si hay una forma más general de hacerlo, con un subconjunto arbitrario de filas A.
Respuesta
¿Demasiados anuncios?Trabajo de Hammarling et. al (2008) explica algunas formas con las que se puede hacer lo que pedía. La idea principal aquí es la eliminación de un número de grupos de filas, por lo que la sección 2.1 resume un montón de maneras de hacer esto, sin embargo, las ganancias computacionales que podría obtener de esto, sobre todo en el caso de alta falta, parece ser inexistente. Si pudiera intercalar un método que encuentre la mejor permutación de matrices B , de modo que se requiera añadir o eliminar el mínimo número de filas en cualquier iteración dada, es decir, minimizar la distancia de edición entre conjuntos, entonces posiblemente podría conseguir una aceleración del proceso total.