Quando le trasformazioni ortogonali superano l'eliminazione gaussiana?


22

Come sappiamo, i metodi di trasformazioni ortogonali (rotazioni di Givens e riflessioni di Housholder) per i sistemi di equazioni lineari sono più costosi dell'eliminazione gaussiana, ma teoricamente hanno proprietà di stabilità più belle, nel senso che non cambiano il numero di condizioni del sistema. Anche se conosco solo un esempio accademico di una matrice che è viziata dall'eliminazione gaussiana con rotazione parziale. E c'è un'opinione comune che è molto improbabile che si verifichi questo tipo di comportamento in pratica (vedere queste note di lezione [pdf] ).

Quindi, dove dovremmo cercare la risposta sull'argomento? Implementazioni parallele? In aggiornamento?..

Risposte:


24

Precisione

Trefethen e Schreiber hanno scritto un eccellente documento, Stabilità di caso medio dell'eliminazione gaussiana , che discute il lato di accuratezza della tua domanda. Ecco alcune delle sue conclusioni:

  1. "Per fattorizzazione QR con o senza colonna ruotabile, l'elemento media massima della matrice residuo è , mentre per l'eliminazione gaussiana è O ( n ) . Questo confronto rivela che l'eliminazione gaussiana è leggermente instabile, ma la l'instabilità sarebbe rilevabile solo per problemi di matrice molto grandi risolti in bassa precisione. Per la maggior parte dei problemi pratici, l'eliminazione gaussiana è mediamente stabile " . (Miniera di enfasi)O(n1/2)O(n)

  2. "Dopo i primi passi dell'eliminazione gaussiana, i restanti elementi della matrice sono approssimativamente distribuiti normalmente, indipendentemente dal fatto che siano iniziati in quel modo."

C'è molto altro nel documento che non riesco a catturare qui, inclusa la discussione sulla matrice del caso peggiore che hai citato, quindi ti consiglio vivamente di leggerlo.

Prestazione

Per matrici reali quadrati, LU con pivoting parziale richiede circa flop, che Householder basata QR richiede circa 4 / 3 n 3 flop. Pertanto, per matrici quadrate ragionevolmente grandi, la fattorizzazione QR sarà circa due volte più cara della fattorizzazione LU.2/3n34/3n3

Per matrici, dove m n , LU con pivoting parziale richiede m n 2 - n 3 / 3 flop, contro QR 2 m n 2 - 2 n 3 / 3 (che è ancora due volte quella di fattorizzazione LU). Tuttavia , è sorprendentemente comune per le applicazioni produrre matrici magre molto alte ( m n ) e Demmel et al. avere una buona carta, Comunicazione evitando la fattorizzazione QR parallela e sequenzialem×nmnmn2n3/32mn22n3/3mn, che (nella sezione 4) discute un algoritmo intelligente che richiede l' invio di messaggi solo quando vengono utilizzati i processori p , rispetto ai messaggi n log p degli approcci tradizionali. La spesa è che vengono eseguiti O ( n 3 log p ) extra flop, ma per n molto piccoli questo è spesso preferito al costo di latenza dell'invio di più messaggi (almeno quando deve essere eseguita una sola fattorizzazione QR).logppnlogpO(n3logp)n


10

Sono sorpreso che nessuno abbia menzionato problemi di minimi quadrati lineari , che si verificano frequentemente nel calcolo scientifico. Se vuoi usare l'eliminazione gaussiana, devi formare e risolvere le equazioni normali, che assomigliano a:

UNTUNX=UNTB,

dove è una matrice di punti dati corrispondente alle osservazioni di variabili indipendenti, x è un vettore di parametri da trovare e b è un vettore di punti dati corrispondente alle osservazioni di una variabile dipendente.UNXB

Come sottolinea spesso Jack Poulson, il numero di condizione di è il quadrato del numero di condizione di A , quindi le equazioni normali possono essere disastrosamente mal condizionate. In tali casi, sebbene gli approcci basati su QR e SVD siano più lenti, producono risultati molto più accurati.UNTUNUN


2
Upvoted, ma QR dovrebbe in realtà essere alla pari con LU se si considera il superfluo operazioni necessarie per formare A H A (QR richiede solo 2 / 3 n 3 più flop di LU). L'approccio SVD dovrebbe comunque essere più lento (si può pensare al suo costo di circa 6 n 3 ). n3UNHUN2/3n36n3
Jack Poulson,

1
Oltre alla stabilità garantita dall'uso di trasformazioni ortogonali, il grande vantaggio di SVD è che la decomposizione fornisce il proprio controllo delle condizioni, poiché il rapporto tra il valore singolare più grande e quello più piccolo è precisamente il numero della condizione (2 norme). Per le altre decomposizioni, l'uso di uno stimatore di condizioni (ad esempio Hager-Higham) è, sebbene non così costoso come la decomposizione vera e propria, in qualche modo "bloccato".
JM

1
@JackPoulson Solo per curiosità, hai un riferimento per il tuo conteggio al flop per SVD? Da quello che posso dire da una rapida occhiata a Golub & Van Loan (p. 254 3a edizione), la costante sembrerebbe più alta per l'uso dell'SVD nella risoluzione dei problemi dei minimi quadrati, ma potrei sbagliarmi. Grazie in anticipo.
OscarB,

1
8/3n3UN=FBsolHCB=UΣVHx:=(G(V(inv(Σ)(UH(FHB)))))O(n2)CO(n2)

1
@JM Si noti, tuttavia, che il numero della condizione del problema dei minimi quadrati non è il numero della condizione "classica" σ1σn

3

Come misurate le prestazioni? Velocità? Precisione? Stabilità? Un rapido test in Matlab fornisce quanto segue:

>> N = 100;
>> A = randn(N); b = randn(N,1);
>> tic, for k=1:10000, [L,U,p] = lu(A,'vector'); x = U\(L\b(p)); end; norm(A*x-b), toc
ans =
   1.4303e-13
Elapsed time is 2.232487 seconds.
>> tic, for k=1:10000, [Q,R] = qr(A); x = R\(Q'*b); end; norm(A*x-b), toc             
ans =
   5.0311e-14
Elapsed time is 7.563242 seconds.

Quindi risolvere un singolo sistema con una decomposizione LU è circa tre volte più veloce di risolverlo con una decomposizione QR, al costo di una cifra decimale di precisione (questo esempio!).


Tutti i meriti che hai suggerito sono i benvenuti.
Faleichik,

3

L'articolo che citi difende l'eliminazione gaussiana dicendo che anche se è numericamente instabile tende a fare bene su matrici casuali e poiché la maggior parte delle matrici che si possono pensare sono come matrici casuali, dovremmo essere ok. Questa stessa affermazione si può dire di molti metodi numericamente instabili.

Considera lo spazio di tutte le matrici. Questi metodi funzionano bene quasi ovunque. Cioè il 99,999 ...% di tutte le matrici che si potrebbero creare non avrà problemi con metodi instabili. C'è solo una piccolissima frazione di matrici per cui GE e altri avranno difficoltà.

I problemi che interessano i ricercatori tendono ad essere in quella piccola frazione.

Non costruiamo matrici in modo casuale. Costruiamo matrici con proprietà molto speciali che corrispondono a sistemi molto speciali e non casuali. Queste matrici sono spesso mal condizionate.

Dal punto di vista geometrico è possibile considerare lo spazio lineare di tutte le matrici. C'è un sottospazio volume / misura zero di matrici singole che tagliano questo spazio. Molti problemi che costruiamo sono raggruppati attorno a questo sottospazio. Non sono distribuiti in modo casuale.

Ad esempio, considerare l'equazione o la dispersione del calore. Questi sistemi tendono a rimuovere le informazioni dal sistema (tutti gli stati iniziali gravitano verso un singolo stato finale) e di conseguenza le matrici che descrivono queste equazioni sono enormemente singolari. Questo processo è molto improbabile in una situazione casuale ma onnipresente nei sistemi fisici.


2
Se il sistema lineare inizialmente è mal condizionato, indipendentemente dal metodo utilizzato: sia la decomposizione LU che QR daranno risultati imprecisi. QR può vincere solo nei casi in cui il processo di eliminazione gaussiana "rovina" una buona matrice. Il problema principale è che non si conoscono casi pratici di tale comportamento.
Faleichik,

Per la maggior parte delle applicazioni scientifiche, generalmente otteniamo matrici sparse, simmetriche, definite positive e / o dominanti in diagonale. Con pochissime eccezioni, c'è una struttura nella matrice che ci consente di sfruttare alcune tecniche rispetto all'eliminazione gaussiana tradizionale.
Paul

@Paul: D'altra parte, l'eliminazione gaussiana densa è dove la maggior parte del tempo viene speso nel metodo multifrontale per matrici non simmetriche sparse.
Jack Poulson,

6
@Paul Non è proprio vero che "la maggior parte delle applicazioni produce matrici SPD / diagonalmente dominanti". Sì, di solito esiste una struttura sfruttabile di qualche tipo, ma i problemi asimmetrici e indefiniti sono estremamente comuni.
Jed Brown,

4
"In cinquant'anni di informatica, non sono noti problemi di matrice che suscitano un'instabilità esplosiva in circostanze naturali." - LN Trefethen e D. Bau Forniscono un'interessante analisi probabilistica nel loro libro.
JM,
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.