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(n−1)×(n−1)

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.