Trovare la radice quadrata di una matrice laplaciana


11

Supponiamo che venga data la seguente matrice con la sua trasposta . Il prodotto produce ,A T A T A = G [ 0,750 - 0,334 - 0,417 - 0,334 0.667 - 0.333 - 0,417 - 0.333 0.750 ]A

[0.5000.3330.1670.5000.6670.1670.5000.3330.833]
ATATA=G
[0.7500.3340.4170.3340.6670.3330.4170.3330.750]

dove è una matrice laplaciana . Si noti che le matrici e sono di rango 2, con lo zero autovalore corrispondente alla autovettore .A G 1 n = [ 1 1 1 ] TGAG1n=[111]T

Mi chiedo quale sarebbe il modo di ottenere se solo fosse dato. Ho provato l'eigendecomposition , quindi ho impostato , ma ho ottenuto risultati diversi. Immagino che ciò abbia a che fare con una carenza di rango. Qualcuno potrebbe spiegarlo? Chiaramente, l'esempio sopra è a scopo illustrativo; potresti considerare la decomposizione generale della matrice laplaciana della forma sopra.AGG=UEUTA=UE1/2


Poiché, ad esempio, la decomposizione di Cholesky potrebbe essere usata per trovare , la decomposizione su potrebbe produrre molte soluzioni. Sono interessato alla soluzione che potrebbe essere espressa come dove è una matrice di identità , e essendo un vettore soddisfacente . Se semplifica le cose, potresti supporre che le voci di non siano negative. G A = ( I - 1 n w T ) , IG=LLTG

A=(I1nwT),
I1 n = [ 1 1 1 ] w w T 1 n = 1 w3×31n=[1 1 1]wwT1n=1w

Penso che il commento che hai aggiunto sulla rappresentazione di sia solo parzialmente utile. Presuppone che esista esattamente un autovalore uguale a zero, ma la non determinanza è sempre presente, no? A
Wolfgang Bangerth,

@WolfgangBangerth Sto cercando di capire il significato di "non determinante". Se questo è , che detiene per l'esempio di cui sopra, e non sono sicuro se può essere generalizzato per . Tuttavia, ad eccezione di , dubito che la soluzione esisterebbe sempre. A = I - 1 n w Tdet(A)=0A=I1nwTn=3
usero,

No, intendevo dire che la soluzione al tuo problema non è determinata in modo univoco. Stavo sottolineando il fatto che il fatto che la matrice abbia un autovalore zero o meno non cambia effettivamente il fatto che il problema della radice quadrata non ha una soluzione unica.
Wolfgang Bangerth,

Risposte:


11

Abbiamo la matrice matrice laplaciana che ha un insieme di autovalori per dove abbiamo sempre sapere . Pertanto la matrice laplaciana è sempre semi-definita positiva simmetrica. Poiché la matrice non è definita simmetrica positiva, dobbiamo fare attenzione quando discutiamo della decomposizione di Cholesky. La decomposizione di Cholesky esiste per una matrice semi-definita positiva ma non è più unica. Ad esempio, la matrice semi-definita positiva ha infinitamente molti Scomposizioni di Cholesky λ 0λ 1λ n G R n × n λ 0 = 0 G A = [G=ATAλ0λ1λnGRn×nλ0=0GA= [

A=[0001],
A=[0001]=[00sinθcosθ][0sinθ0cosθ]=LLT.

Tuttavia, perché abbiamo una matrice che è noto per essere una matrice laplaciana possiamo realmente evitare i più sofisticati strumenti algebra lineare come decomposizioni Cholesky o trovare la radice quadrata della matrice semi-definita positiva tale che recuperiamo . Ad esempio, se abbiamo la matrice di Laplace , possiamo usare la teoria dei grafi per recuperare il desiderato matrice . Lo facciamo formulando la matrice di incidenza orientata. Se definiamo il numero di spigoli nel grafico daG A G R 4 × 4 G = [GGAGR4×4 AmnAm×n A e v = { 1 se  e = ( v , w )  e  v < w - 1 se  e = ( v , w )  e  v > w 0 altrimenti , e=(v,w)vwGA= [

G=[3111110010101001]
Ame il numero di vertici che deve essere allora la matrice di incidenza orientata sarà matrice data da dove indica il bordo che collega i vertici e . Se prendiamo un grafico per con quattro vertici e tre bordi, allora abbiamo la matrice di incidenza orientata nAm×n
Aev={1if e=(v,w) and v<w1if e=(v,w) and v>w0otherwise,
e=(v,w)vwGG= A T AGAG
A=[110010101001],
G=ATA . Per il problema matrice si descrive si costruire un grafo di con lo stesso numero di archi come vertici, allora si dovrebbe avere la capacità di ricostruire la matrice quando si è dato solo la matrice di Laplace .GAG

Aggiornare:

Se definiamo la matrice diagonale dei gradi di vertice di un grafico come e la matrice di adiacenza del grafico come , allora la matrice Laplaciana del grafico è definita da . Ad esempio, nel seguente graficoM G G = N - MNMGG=NM

troviamo che la matrice laplaciana è Ora mettiamo in relazione con la matrice di incidenza orientata usando i bordi e i nodi indicati nel grafico rappresentato. Ancora una volta troviamo le voci di da GAA A e v = { 1 se  e = ( v , w )  e  v < w - 1 se  e = ( v , w )  e  v > w 0 altrimenti , . e 1 v 1 v 2 A e 1 , v 1 v 1 v 2 v<w

G=[3000010000100001][0111100010001000].
GAA
Aev={1if e=(v,w) and v<w1if e=(v,w) and v>w0otherwise,.
e1v1e . Quindi per determinare notiamo che l'indice di è inferiore all'indice di (oppure abbiamo il caso nella definizione di ). Pertanto, . Allo stesso modo, confrontando gli indici, possiamo trovare . Diamo sotto in un modo più esplicito facendo riferimento ai bordi e ai vertici nella foto. v2Ae1,v1v1v2v<wAevAe1,v1=1Ae1,v2=1A
A=v1v2v3v4e11100e21010e31001.

Successivamente, generalizziamo il concetto della matrice laplaciana in un grafico non orientato ponderato. Sia un grafo finito non orientato definito da ed il vertice e il bordo impostati. Per considerare un grafico ponderato definiamo una funzione di peso che assegna un peso reale non negativo a ciascun bordo del grafico. Indicheremo il peso attribuito a vertici del bordo di collegamento e da . Nel caso di un grafico ponderato definiamo il grado di ciascun vertice come la somma di tutti i bordi ponderati collegati a , ovvero GrVE

w:V×VR+,
uvw(u,v)uVu
du=vVw(u,v).
Dal dato grafico possiamo definire la matrice di adiacenza ponderata come con righe e colonne indicizzate da cui voci sono indicate da . Sia la matrice diagonale indicizzata da con i vertici sulla diagonale, quindi possiamo trovare la matrice Laplaciana ponderata proprio come prima di GrAd(Gr)n×nVw(u,v)D(Gr)VG
G=D(Gr)Ad(Gr).

Nel problema del post originale sappiamo che Dai commenti sappiamo che cerchiamo una fattorizzazione per dove e specificiamo è della forma dove . Per la massima generalità supponiamo che la matrice non abbia zero voci. Pertanto, se formuliamo la matrice di incidenza orientata ponderata per trovare , vogliamo la matrice di adiacenza ponderata

G=[34135121323135121334].
GG=ATAAA=I1nwTwT1n=1AAAd(Gr)per non avere anche zero voci, cioè il grafico ponderato avrà dei loop. In realtà il calcolo della matrice di incidenza orientata ponderata sembra difficile (sebbene possa essere semplicemente il risultato della mia inesperienza con i grafici ponderati). Tuttavia, possiamo trovare una fattorizzazione della forma che cerchiamo in modo ad hoc se assumiamo di sapere qualcosa sui loop nel nostro grafico. Abbiamo diviso la matrice Laplaciana ponderata nelle matrici di grado e adiacenza come segue G
G=[5400010001112][12135121313135121316]=D(Gr)Ad(Gr).

Quindi sappiamo che i loop su , e hanno pesi , e rispettivamente. Se mettiamo i pesi sui loop in un vettore = allora possiamo recuperare la matrice che vogliamo nella forma desiderata v1v2v31/21/31/6w[12 13 16]TA
A=I1nwT=[121316122316121356].

Sembra che se abbiamo conoscenza dei loop nel nostro grafico ponderato possiamo trovare la matrice nella forma desiderata. Ancora una volta, questo è stato fatto in modo ad hoc (poiché non sono un teorico dei grafi), quindi potrebbe essere un trucco che ha funzionato solo per questo semplice problema.A


Il recupero di nel caso di Laplacian come descritto non dovrebbe essere un problema (nel tuo esempio, solo una riga / colonna contiene elementi diversi da zero). Immagino che le cose complicino il generale "pieno" Laplacian come nel mio esempio. Dati i gradi di libertà di , non sono sicuro che la soluzione possa essere ottenuta, soggetti ai vincoli che do sopra. AGO(n2)G
usero,

Bene, l'esempio che do è altamente semplificato, ma sarà possibile nel caso generale in cui è una matrice completa. Il problema della teoria dei grafi diventa più complicato quando si aumenta il numero di bordi e vertici. In sostanza sostituiamo un problema di fattorizzazione a matrice difficile con un problema di teoria dei grafi difficile. GG
Andrew Winters,

Ok, ti ​​sarei grato se provassi a ricostruire come indicato sopra da dato . AG
usero,

@AndrewWinters: Potresti chiarire come è determinato da ? Non mi è chiaro come procede il tuo algoritmo nel caso generale. AG
Geoff Oxberry,

1
Non penso che sarà possibile per una generale in quanto sembra che la forma di fattorizzazione specifica esisterà solo per alcuni tipi di grafici ponderati. Quindi le matrici Laplaciane che hanno la forma sono un sottoinsieme di tutte le possibili matrici Laplaciane. GA=I1nwTGG=ATA=(I1nwT)T(I1nwT)
Andrew Winters,

9

Penso che tu stia confondendo la matrice quadrata unica della matrice semi-definita positiva ermita , cioè una matrice semi-definita positiva ermita soddisfacente,AB

B2=A,

con il problema non unico di trovare soddisfacente una matriceC

CHC=A,

dove chiaramente la mappatura , per qualsiasi unitaria , conserva l'identità. Come hai notato, una fattorizzazione di Cholesky offre una possibile soluzione. Tuttavia, si noti che Cholesky funziona solo per matrici definite positive di Hermitian (con la possibile eccezione di una matrice semi-definita positiva di Hermitian che è definita positiva se l'ultima riga e colonna vengono rimosse).CQCQ

Infine, si può definire in modo costruttivo la radice quadrata unica della matrice di una matrice semi-definita positiva ermitiana attraverso la sua decomposizione autovalvola, diciamo

A=UΛUH,

dove è unitario e è diagonale con voci non negative a causa del fatto che è semi-definito positivo. La radice quadrata della matrice hermitiana può essere facilmente identificata comeΛ AUΛA

B=UΛUH.

Hai ragione sulla matrice quadrata-radice . Chiaramente, ci sono diversi modi per ottenere la fattorizzazione, ma potrebbe garantire che (dalla mia ricerca) possa essere scritto come ho formulato. A
usero,

6

In sostanza, quello che stai chiedendo è trovare la radice quadrata A di una matrice G, in modo che Esistono molti modi per farlo se è una matrice simmetrica. Per esempio, se è simmetrico, quindi la decomposizione di Cholesky vi dà una risposta: . Ma hai già trovato un'altra risposta, con la matrice hai già. Ciò significa semplicemente che ci sono molte "radici quadrate" della matrice , e se vuoi averne una in particolare, devi riformulare la domanda in modo tale da specificare le proprietà strutturali del "ramo" di la radice quadrata che ti interessa.G G G = L T L A = L A G

G=ATA.
GGG=LTLA=LAG

Direi che questa situazione non è dissimile dal prendere la radice quadrata tra i numeri reali usando i numeri complessi: anche lì, in generale, hai due radici e devi dire quale vuoi rendere unica la risposta.


Hai decisamente ragione. Un altro modo sarebbe l'approccio di decomposizione spettrale, come ho affermato sopra. Ho apportato una modifica per rendere unica la soluzione. Spero che non complicherà le cose.
usero,

Esiste sempre una soluzione con il vincolo che do sopra? Forse vale solo per alcuni casi, e non in generale.
usero,

In realtà, Cholesky non funziona nel suo caso, poiché (essenzialmente) richiede che la matrice sia definita positiva da Hermitian.
Jack Poulson,

4

Penso che tu possa applicare la fattorizzazione per la tua matrice A. Poiché la tua matrice ha autovalori non negativi, la matrice diagonale D avrà voci non negative lungo il diagonale. Quindi puoi facilmente fattorizzare . E ottieni la matrice . La composizione elettronica non è numericamente stabile, quindi penso che dovresti evitare questo tipo di decomposizione.D = LDLT G=L DD^=DG=LD^


Devo essere in disaccordo su due aspetti: (1) la fattorizzazione non funziona per le matrici singolari (la sua matrice è singolare) e (2) le scomposizioni di autovalori delle matrici eremitiche sono considerate stabili, poiché le loro matrici di autovettori sono unitarie. LDLT
Jack Poulson,

1
@JackPoulson Provo una singolare matrice A in matlab, ed eseguo ldl, funziona. Gli autovalori zero corrispondono agli zeri nella diagonale di D.
Willowbrook,

2
Penso che scoprirai che la routine 'ldl' di MATLAB calcola una decomposizione del blocco con pivot , cioè , dove non deve essere diagonale (può avere blocchi). Al fine di evitare la divisione per zero a causa della singolarità della matrice, le voci diagonali zero vengono ruotate nella parte inferiore destra della matrice. P A P = L D L T D 2 × 2LDLTPAP=LDLTD2×2
Jack Poulson,
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.