¿La "técnica de cofactor" para invertir una matriz tiene algún significado práctico?

13

El título es la pregunta. Esta técnica implica el uso de la "matriz de cofactores", o "matriz adjunta", y proporciona fórmulas explícitas para los componentes de la inversa de una matriz cuadrada. No es fácil hacer a mano una matriz más grande que, digamos, . Para una matriz , requiere calcular el determinante de la matriz misma y calcular determinantes de matrices. Así que supongo que no es tan útil para las aplicaciones. Pero me gustaría confirmación.n × n n 2 ( n - 1 ) × ( n - 1 )3×3norte×nortenorte2(norte-1)×(norte-1)

No estoy preguntando sobre el significado teórico de la técnica para probar teoremas sobre matrices.

Stefan Smith
fuente

Respuestas:

11

Tienes razón: no tiene absolutamente ninguna relevancia práctica para la informática. Incluso si calcular el determinante fuera una operación , la complejidad del método sería al menos y, en consecuencia, de la misma complejidad que la eliminación gaussiana. En la práctica, calcular el determinante de una matriz es en realidad de complejidad exponencial, lo que hace que este método sea completamente inutilizable.O ( n 3 )O(n)O(n3)

Wolfgang Bangerth
fuente
44
Quiero agregar dos cosas: la complejidad de la Regla de Cramer (usando determinantes para calcular un inverso) es Que es mucho mucho más grande que la Eliminación Gaussiana . Además, en general, no desea calcular un inverso a menos que sea absolutamente necesario. O ( n 3 )O(n!)O(n3)
Paul
OTOH, puede haber algunas circunstancias donde se prefiera la expansión de Laplace, por ejemplo, matrices con bandas. Pero, de hecho, en general, la expansión de Laplace tiene Complejidad. O(n!)
JM
3
@Stefan, sí, la eliminación gaussiana se puede usar para calcular determinantes. Dado que , y la eliminación gaussiana produce factores (triangulares) cuyos determinantes se calculan fácilmente, tomará esfuerzo. O ( n 3 )det(UNsi)=det(UN)det(si)O(n3)
JM
1
Sí, tiene razón: el determinante se puede calcular a costa de una descomposición de . (La forma ingenua que se muestra en los libros de texto usando la expansión recursiva es exponencial en - la complejidad Mencionada por Paul). Pero eso aún produce una complejidad general de para el algoritmo propuesto, mucho más que la eliminación gaussiana, si se usara, e incluso más que los solucionadores iterativos. LUnn!O(n5)
Wolfgang Bangerth
1
Correcto. La reducción de filas es la mitad de calcular la descomposición de . Reduce al factorLa otra mitad del trabajo está haciendo las mismas operaciones a partir de la matriz de identidad, produciendo la matrizEs cierto que puede evitar esto último si lo único que le importa es el determinante. LUAUL
Wolfgang Bangerth
9

Voy en contra de la multitud: la matriz adyuvante es, de hecho, muy útil para algunas aplicaciones especializadas con una pequeña dimensionalidad (como cuatro o menos), en particular cuando necesita la inversa de una matriz pero no le importa la escala.

Dos ejemplos incluyen el cálculo de una homografía inversa y la iteración del cociente de Rayleigh para problemas muy pequeños (que además de simplificarse mediante el uso de adyuvante es numéricamente mejor).

sin cesto
fuente
Estoy totalmente de acuerdo, ¡hay algunos casos (en general con matrices pequeñas) en los que ayuda mucho! (por ejemplo, para calcular coordenadas
barcéntricas