Tengo una matriz de banda : una matriz escasa, cuadrada y simétrica cuya estructura se parece a la siguiente:
Aquí, el área debajo de las rayas azules son los elementos distintos de cero; todo lo demás es cero
¿Existe algún algoritmo para invertir este tipo de matriz que sea simple pero más eficiente que la eliminación gaussiana y la descomposición de LU?
Respuestas:
Dado que ninguno de los comentarios dio la respuesta concreta, lo escribiré explícitamente aquí en caso de que alguien lo necesite (como yo lo hice).
En primer lugar, desafortunadamente, el inverso de una matriz de banda limitada es una matriz completa (sin banda limitada) en general, por lo que solo completar las entradas de la matriz inversa tomaría . Así que supondré que solo quieres resolver un sistema lineal .Ω (norte2) A x = b
Usando el algoritmo en este documento , una banda-limitado matriz general de tamaño con ancho de banda se pueden descomponer en triangular -bandwidth matrices y en tiempo. A partir de ahí, se puede resolver rápidamente en el tiempo . Entonces, en general, el tiempo de ejecución será . Como seguimiento, si es constante, eso significa que el sistema se puede resolver en tiempo lineal (muy útil).UNA n × n k k L U O (k2n ) L Ux = b O ( k n ) O (k2n ) k
fuente