Clase de complejidad de la inversión de matrices


9

¿Se invierte una matriz en la clase de complejidad ?PAGS

Desde el tiempo de ejecución, diría yes pero la matriz invertida puede contener entradas donde el tamaño no está limitado polinómicamente por la entrada.O(norte3)


1
En la práctica, mayor frecuencia significa que es el límite en los flops , suponiendo que esté trabajando en matrices sobre números de coma flotante, que obviamente son aproximaciones de . Las implementaciones habituales se ejecutan en este límite de tiempo, con la advertencia de que, en lugar de sobrepasar el tiempo, se obtiene inestabilidad numérica . Este comentario está destinado a iluminar la afirmación habitual, no a invalidar las respuestas a continuación, que suponen "bignums" . O(n3)R
Fizz

Respuestas:


7

Sí, se puede hacer en tiempo polinómico, pero la prueba es bastante sutil. No es simplemente el tiempo , porque la eliminación gaussiana implica multiplicar y sumar números, y el tiempo para realizar cada una de esas operaciones aritméticas depende de qué tan grandes sean. Para algunas matrices, los valores intermedios pueden llegar a ser extremadamente grandes, por lo que la eliminación gaussiana no necesariamente se ejecuta en tiempo polinómico.O(norte3)

Afortunadamente, no son algoritmos que no se ejecutan en tiempo polinómico. Requieren un poco más de cuidado en el diseño del algoritmo y el análisis del algoritmo para demostrar que el tiempo de ejecución es polinómico, pero se puede hacer. Por ejemplo, el tiempo de ejecución del algoritmo de Bareiss es algo así como [en realidad es más complejo que eso, pero tómalo como una simplificación por ahora].O(norte5 5(Iniciar sesiónnorte)2)

Para obtener más detalles, consulte la entrada del blog de Dick Lipton Olvidando resultados y ¿Cuál es la complejidad de tiempo real de la eliminación gaussiana? y el resumen de Wikipedia .

Finalmente, una palabra de precaución. El tiempo de ejecución preciso depende de exactamente en qué campo está trabajando. La discusión anterior se aplica si está trabajando con números racionales. Por otro lado, si, por ejemplo, se está trabajando sobre el campo finito (los enteros módulo 2), a continuación, la eliminación de Gauss ingenua no se ejecuta en tiempo. Si no comprende lo que esto significa, es probable que pueda ignorar este último párrafo.solF(2)O(norte3)


¿Estas observaciones son válidas para las descomposiciones LU y QR (en lugar de la inversión "directa")?
Fizz

@RespawnedFluff, ¡gran pregunta! No lo sé. Parece que valdría la pena una pregunta por separado.
DW

Si solo desea una solución exacta para con coeficientes enteros, es decir, una solución en racionales "bignum", el método estándar es a través de la expansión p-adic ; esto solo toma . Una implementación es, por ejemplo, IML . De ello se deduce que para invertir una matriz de este tipo exactamente necesita ; hay más detalles prácticos en sciencedirect.com/science/article/pii/S0377042708003907UNAX=siO(norte3losol2norte)O(norte4 4losol2norte)
Fizz

2

Hay una fórmula para las entradas de la matriz inversa que proporciona cada entrada como una relación de dos determinantes, uno de un menor de la matriz original y el otro de toda la matriz original. Esto debería ayudarlo a limitar el tamaño de las entradas en la matriz inversa, si tiene cuidado, dada una noción razonable de "tamaño" (tenga en cuenta que incluso si comienza con una matriz entera, el inverso podría contener entradas racionales).

Dicho esto, a menudo la matriz inversa se estudia desde el punto de vista de la teoría de la complejidad algebraica, en la que se cuentan las operaciones básicas independientemente de la magnitud. En este modelo, se puede demostrar que la complejidad de la matriz inversa es equivalente a la complejidad de la multiplicación de la matriz, hasta los términos pollogarítmicos; Esta reducción quizás también pueda ayudarlo a limitar el tamaño de los coeficientes.

Dado el algoritmo eficiente en el modelo de teoría de la complejidad algebraica, uno se pregunta si implica un algoritmo igualmente eficiente en el modelo habitual; ¿Puede ser que aunque las entradas finales sean de tamaño polinómico, el cálculo implique las más grandes? Probablemente este no sea el caso, e incluso si lo fuera, el problema tal vez podría evitarse utilizando el teorema del resto chino.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.