¿Se invierte una matriz en la clase de complejidad ?
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.
¿Se invierte una matriz en la clase de complejidad ?
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.
Respuestas:
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.
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].
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.
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.