Estoy trabajando en una biblioteca matricial de solo encabezado para proporcionar un grado razonable de capacidad de álgebra lineal en un paquete lo más simple posible, y estoy tratando de estudiar cuál es el estado actual de la técnica: calcular la SVD de un matriz compleja
Estoy haciendo una descomposición de dos fases, bidiagonalización seguida de cálculo de valor singular. En este momento estoy usando el método de jefe de familia para la bidiagonalización (creo que LAPACK también lo usa), y creo que es tan bueno como lo es actualmente (a menos que alguien sepa de un algoritmo para ello..).
El cálculo del valor singular es el siguiente en mi lista, y estoy un poco fuera de lugar en cuanto a cuáles son los algoritmos comunes para hacer esto. Leí aquí que la investigación se dirigía hacia un método de iteración inversa que garantiza la ortogonalidad con la complejidad . Me interesaría saber sobre ese u otros avances.