Ci sono due problemi separati qui.
- Come utilizzare solutori efficienti per per applicare .A 1 / 2 bA x = bUN1 / 2B
- Come calcolare il determinante.
Le risposte brevi sono 1) usare approssimazioni di funzioni di matrice razionale e 2) non lo fai, ma non è necessario comunque. Di seguito affronterò entrambi questi problemi.
Approssimazioni di radice quadrata a matrice
L'idea qui è di convertire un'approssimazione di funzione razionale per funzioni scalari in un'approssimazione di funzione razionale per funzioni matrice.
Sappiamo che esistono funzioni razionali che possono approssimare molto bene la funzione radice quadrata,
per positivo . In effetti, per ottenere un'elevata precisione sull'intervallo , sono necessari i termini nella serie. Per ottenere i pesi appropriati ( ) e i poli ( ), basta cercare l'approssimazione della funzione razionale online o in un libro.bi[m,M]O(registroM
X--√≈ r ( x ) : = a1x + b1+ a2x + b2+ ⋯ + aNx + bN,
Bio[ m , M]ai-biO ( logMm)un'io- bio
Ora considera di applicare questa funzione razionale alla tua matrice:
r ( A ) = a1( A + b1io)- 1+ a2( A + b2io)- 1+ ⋯ + aN( A + bNio)- 1.
A causa della simmetria di , abbiamo
dove è la decomposizione in valori singolari (SVD) di . Quindi, la qualità dell'approssimazione della matrice razionale è equivalente alla qualità dell'approssimazione della funzione razionale nella posizione degli autovalori.| | A 1 / 2 - R ( A ) | | 2UNA=UΣU∗A
| | UN1 / 2- r ( A ) | |2= | | U( Σ1 / 2- r ( Σ ) ) U*| |2,= maxio| σio--√- r ( σio) |
A = UΣ U*UN
Denotando il numero della condizione di per , possiamo applicare a qualsiasi tolleranza desiderata eseguendo soluzioni Laplaciane del modulo spostate positivamente ,
κ A 1 / 2 b O ( log κ ) ( A + B I ) x = b .UNκUN1 / 2BO ( logκ )
( A + b I) x = b .
Queste soluzioni possono essere fatte con il tuo solutore Laplacian grafico preferito: preferisco le tecniche di tipo multigrid, ma anche quella nel documento che citi dovrebbe andare bene. Il extra aiuta solo la convergenza del risolutore.b io
Per un eccellente documento che ne discute, oltre a tecniche di analisi complesse più generali che si applicano alle matrici non simmetriche, vedere Calcolo di funzioni , e relative matrici mediante integrali di contornoAαlog(A) , di Hale, Higham e Trefethen (2008 ).
"Calcolo" determinante
Il determinante è più difficile da calcolare. Per quanto ne so, il modo migliore è quello di calcolare la Schur decomposizione usando l'algoritmo QR, quindi leggere gli autovalori della diagonale della matrice triangolare superiore . Questo richiede tempo, dove è il numero di nodi nel grafico.A=QUQ∗UO(n3)n
Tuttavia, il calcolo dei determinanti è un problema intrinsecamente mal condizionato, quindi se mai leggi un documento che si basa sui determinanti di calcolo di una matrice di grandi dimensioni, dovresti essere molto scettico sul metodo.
Fortunatamente, probabilmente non hai davvero bisogno del determinante. Per esempio,
Possiamo vedere come aggiornamento di basso rango all'identità,
dove il numerico effettivo rank, , dell'aggiornamento di basso rango è una misura locale di quanto non sia gaussiana la vera distribuzione; in genere questo è molto più basso dell'intero rango della matrice. In effetti, se è grande, la distribuzione vera è localmente così non gaussiana che si dovrebbe mettere in discussione l'intera strategia di provare a campionare questa distribuzione usando approssimazioni gaussiane locali.A−1x0Axp
A−1x0Axp=I+QDQ∗,
rr
I fattori di basso rango e possono essere trovati con SVD randomizzato o Lanczos applicando la matrice
a vettori diversi, ciascuna delle quali richiede un grafico Soluzione Laplaciana. Pertanto, il lavoro complessivo per ottenere questi fattori di basso rango è .QD
A−1x0Axp−I
O(r)O(rmax(n,E))
Conoscendo , il rapporto determinante è quindi
det ( A - 1 x 0 A x p ) = det ( I + Q D Q ∗ ) = exp ( r ∑ i = 1 log d i ) .D=diag(d1,d2,…,dr)
det(A−1x0Axp)=det(I+QDQ∗)=exp(∑i=1rlogdi).
Queste tecniche di calcolo della razione determinante di basso rango si possono trovare in Un metodo MCMC stocastico di Newton per problemi inversi statistici su larga scala con applicazione all'inversione sismica , di Martin, et al. (2012). In questo documento viene applicato a problemi di continuum, quindi il "grafico" è una griglia nello spazio 3D e il grafico Laplacian è la matrice Laplaciana effettiva. Tuttavia, tutte le tecniche si applicano al Laplaciano grafico generale. Probabilmente ci sono altri documenti che applicano questa tecnica ai grafici generali ormai (l'estensione è banale e sostanzialmente ciò che ho appena scritto).