La "tecnica cofattore" per invertire una matrice ha qualche significato pratico?


13

Il titolo è la domanda. Questa tecnica prevede l'uso della "matrice di cofattori", o "matrice corrugata", e fornisce formule esplicite per i componenti dell'inverso di una matrice quadrata. Non è facile farlo a mano per una matrice più grande di, diciamo, . Per una matrice n × n , richiede il calcolo del determinante della matrice stessa e il calcolo di n 2 determinanti delle matrici ( n - 1 ) × ( n - 1 ) . Quindi suppongo che non sia utile per le applicazioni. Ma vorrei una conferma.3×3n×nn2(n1)×(n1)

Non sto chiedendo il significato teorico della tecnica nel dimostrare teoremi sulle matrici.

Risposte:


11

Hai ragione: non ha assolutamente alcuna rilevanza pratica per l'informatica. Anche se il calcolo del determinante fosse un'operazione , la complessità del metodo sarebbe almeno O ( n 3 ) e, di conseguenza, della stessa complessità dell'eliminazione gaussiana. In pratica, calcolare il determinante di una matrice è in realtà di complessità esponenziale, rendendo questo metodo completamente inutilizzabile.O(n)O(n3)


4
Due cose che voglio aggiungere: La complessità della Regola di Cramer (usando i determinanti per calcolare un inverso) è Che è molto più grande dell'eliminazione gaussiana O ( n 3 ) . Inoltre, in generale, non si desidera calcolare un inverso a meno che non sia assolutamente necessario. O(n!)O(n3)
Paolo

OTOH, potrebbero esserci alcune circostanze in cui si potrebbe preferire l'espansione di Laplace, ad esempio matrici fasciate. Ma in effetti, in generale, l'espansione di Laplace ha complessità . O(n!)
JM,

3
@Stefan, sì, l'eliminazione gaussiana può essere utilizzata per calcolare i determinanti. Poiché e l'eliminazione gaussiana producono fattori (triangolari) i cui determinanti sono facilmente calcolabili, ci vorrà davvero uno sforzo O ( n 3 ) . det(AB)=det(A)det(B)O(n3)
JM,

1
Sì, hai ragione: il determinante può essere calcolato al costo di una decomposizione (Il modo ingenuo mostrato nei libri di testo usando l'espansione ricorsiva è esponenziale in n - la complessità n ! Menzionata da Paolo). Ma ciò produce ancora una complessità complessiva di O ( n 5 ) per l'algoritmo proposto - molto più dell'eliminazione gaussiana, se si dovesse usarlo, e persino più dei solutori iterativi. LUnn!O(n5)
Wolfgang Bangerth,

1
Corretta. La riduzione delle righe rappresenta la metà del calcolo della decomposizione Riduce il fattore A al fattore U. L'altra metà del lavoro sta facendo le stesse operazioni a partire dalla matrice identità, producendo la matrice L. È vero che puoi evitare quest'ultimo se tutto ciò che ti interessa è il determinante. LUAUL
Wolfgang Bangerth,

9

Sto andando contro la folla: la matrice ad ago è in effetti molto utile per alcune applicazioni speciali con dimensionalità ridotta (come quattro o meno), in particolare quando hai bisogno dell'inverso di una matrice ma non ti preoccupi della scala.

Due esempi includono il calcolo di un'omografia inversa e l' iterazione del quoziente di Rayleigh per problemi molto piccoli (che oltre ad essere semplificato dall'uso dell'aggregato è numericamente migliore).


Sono pienamente d'accordo, ci sono alcuni casi (in generale con piccole matrici) in cui aiuta molto! (ad esempio, per calcolare le coordinate baricentriche in un piccolo simplex)
BrunoLevy
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.