"Risolutore" iterativo per


9

Non riesco a immaginare di essere il primo a pensare al seguente problema, quindi sarò soddisfatto di un riferimento (ma una risposta completa e dettagliata è sempre apprezzata):

Supponi di avere un simmetrico positivo definito . n è considerato molto grande, quindi è impossibile tenere Σ in memoria. È possibile, tuttavia, valutare Σ x , per qualsiasi x R n . Dati alcuni x R n , ti piacerebbe trovare x t Σ - 1 x .ΣRn×nnΣΣxxRnxRnxtΣ1x

La prima soluzione che viene in mente è trovare usando (diciamo) i gradienti coniugati. Tuttavia, questo sembra alquanto dispendioso: cerchi uno scalare e nel processo trovi un vettore gigantesco in R n . Sembra avere più senso escogitare un metodo per calcolare direttamente lo scalare (cioè senza passare attraverso Σ - 1 x ). Sto cercando questo tipo di metodo.Σ1xRnΣ1x


2
La tua matrice deriva da per una A rettangolare "corta e larga" ? Σ=ATAA
GeoMatt22,

@ GeoMatt22 purtroppo no. Ma diciamo che lo fa - cosa suggeriresti in quel caso?
Yair Daon,

1
Sì, stavo solo pensando se ci fosse una matrice più piccola con cui lavorare ... non sono sicuro che possa aiutare comunque. Hai provato a cercare "distanza mahalanobis libera da matrice" o simile? Mi dispiace non essere di più aiuto!
GeoMatt22,

Grazie @ GeoMatt22, non sono riuscito a trovare nulla online.
Yair Daon,

Risposte:


2

y=Σ1x

Σλi,viΣ=VTLVVviLΣ1=VTL1V

xTΣ1x=xTVTL1Vx=iλi1(viTx)2.
VΣmλi1i>m
xTΣ1x=i=1nλi1(viTx)2i=1mλi1(viTx)2.
mn

y=Σ1x


m

xTΣ1x

Puoi suggerire un metodo allora?
Yair Daon,

Ci sono molti risolutori di autovalori in abbondanza o sparsi. ARPACK e SLEPc basato su PETSc sono probabilmente i più utilizzati.
Wolfgang Bangerth,

mn×n
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.