Znalezienie pierwiastka kwadratowego macierzy Laplaciana

11

Załóżmy, że podano następującą macierz z transponowaniem . Produkt daje ,[ 0,500 - 0,333 - 0,167 - 0,500 0,667 - 0,167 - 0,500 - 0,333 0,833 ] A T A T A = G [ 0,750 - 0,344 - 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]

gdzie jest macierzą Laplaciana . Zauważmy, że macierze i mają stopień 2, z zerowym wartości własnych odpowiadający wektor własny .A G 1 n = [ 1 1 1 ] TGAG1n=[111]T

Zastanawiam się, jaki byłby sposób na uzyskanie gdyby podano tylkoPróbowałem eigendecomposition , a następnie ustawiłem , ale inny wynik. Myślę, że ma to związek z niedoborem rang. Czy ktoś mógłby to wyjaśnić? Oczywiście powyższy przykład służy ilustracji; można rozważyć ogólny rozkład macierzy Laplaciana powyższej postaci.G G = U E U T ' = U e 1 / 2AGG=UEUTA=UE1/2


Ponieważ na przykład rozkład Cholesky'ego można wykorzystać do znalezienia , rozkład na może dać wiele rozwiązań. Ja zainteresowany w roztworze, który może być wyrażony jako gdzie to macierzy tożsamości, , a jedne wektor spełniające . Jeśli upraszcza to sprawy, możesz założyć, że wpisy są nieujemne. G A = ( I - 1 n w T ) , I 3 × 3 1 n = [ 1 1 1 ] w w T 1 n = 1 wG=LLTG

A=(I1nwT),
I3×31n=[1 1 1]wwT1n=1w
usero
źródło
Myślę, że dodany komentarz na temat reprezentacji jest tylko częściowo pomocny. Zakłada się, że jest dokładnie jedna wartość własna równa zero, ale brak determinacji zawsze istnieje, prawda? A
Wolfgang Bangerth,
@WolfgangBangerth Staram się zrozumieć znaczenie „niedeterminacji”. Jeśli to , to odnosi się do powyższego przykładu, a nie jestem pewien, czy to może być uogólnione dla . Jednak z wyjątkiem wątpię, aby rozwiązanie zawsze istniało. det(A)=0A=I1nwTn=3
usero
Nie, miałem na myśli to, że rozwiązanie twojego problemu nie jest jednoznacznie określone. Zwracałem uwagę na fakt, że to, czy macierz ma zerową wartość własną, czy nie, tak naprawdę nie zmienia faktu, że problem pierwiastka kwadratowego nie ma unikalnego rozwiązania.
Wolfgang Bangerth,

Odpowiedzi:

11

Mamy macierz Laplaciana która ma zestaw wartości własnych dla gdzie zawsze know . Zatem macierz Laplaciana jest zawsze symetryczna dodatnia półokreślona. Ponieważ macierz nie jest jednoznacznie symetryczna, musimy zachować ostrożność, omawiając rozkład Choleskiego. Rozkład Cholesky'ego istnieje dla dodatniej półokreślonej macierzy, ale nie jest już unikalny. Na przykład dodatnia półokreślona macierz ma nieskończenie wiele Rozkłady Choleskiego G=ATAλ0λ1λnGRn×nλ0=0G

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

Jednakże, ponieważ mamy macierz , który jest znany być Laplace'a matryca rzeczywiście możemy uniknąć bardziej wyrafinowanych narzędzi algebry liniowej jak dekompozycji Cholesky lub znalezienia pierwiastek kwadratowy z pozytywnym pół określonej macierzy takie, że możemy odzyskać . Na przykład, jeśli mamy macierz Laplace'a , możemy użyć teorii grafów do odzyskania pożądane matrycy . Robimy to, formułując zorientowaną matrycę występowania. Jeśli zdefiniujemy liczbę krawędzi na wykresie jakoGGAGR4×4

G=[3111110010101001]
Ama liczba wierzchołków, które mają być a zorientowana macierz padania będzie macierzą podaną przez gdzie oznacza krawędź łączącą wierzchołki i . Jeśli weźmiemy wykres dla z czterema wierzchołkami i trzema krawędziami, otrzymamy zorientowaną macierz padania nAm×n
Aev={1if e=(v,w) and v<w1if e=(v,w) and v>w0otherwise,
e=(v,w)vwG
A=[110010101001],
G=ATA . W przypadku problemu matrycy opisać byłoby skonstruować wykres dla w tej samej ilości, jak krawędzie wierzchołków, a następnie powinien mieć możliwość odtworzenia macierzy , gdy są podane jedynie laplasjan macierz .GAG

Aktualizacja:

Jeśli zdefiniujemy macierz diagonalną stopni wierzchołków wykresu jako a macierz przyległości wykresu jako , to macierz Laplaciana na wykresie jest zdefiniowana przez . Na przykład na poniższym wykresieNMGG=NM

widzimy, że macierz Laplaciana to Teraz odnosimy do zorientowanej macierzy padania używając krawędzi i węzłów podanych na przedstawionym wykresie. Znów znajdujemy wpisy z

G=[3000010000100001][0111100010001000].
GAA
Aev={1if e=(v,w) and v<w1if e=(v,w) and v>w0otherwise,.
e1v1i . Aby ustalić , zauważamy, że indeks jest mniejszy niż indeks (lub mamy przypadek w definicji ). Zatem . Podobnie, porównując indeksy, możemy znaleźć . Dajemy poniżej w bardziej wyraźny sposób, odnosząc się do pokazanych krawędzi i wierzchołków. v2Ae1,v1v1v2v<wAevAe1,v1=1Ae1,v2=1A
A=v1v2v3v4e11100e21010e31001.

Następnie uogólniamy pojęcie macierzy Laplaciana na ważony niekierowany wykres. Niech będzie nieukierunkowym skończonym wykresem zdefiniowanym przez i jego wierzchołek i krawędź. Aby rozważyć ważony wykres, definiujemy funkcję wagi która przypisuje nieujemną wagę rzeczywistą do każdej krawędzi wykresu. Oznaczymy ciężar przypisany do krawędzi łączących wierzchołki i przez . W przypadku wykresu ważonego określamy stopień każdego wierzchołka jako sumę wszystkich ważonych krawędzi połączonych z , tj. GrVE

w:V×VR+,
uvw(u,v)uVu
du=vVw(u,v).
Z podanego wykresu możemy zdefiniować ważoną macierz przylegania jako z wierszami i kolumnami indeksowanymi przez których wpisy są podane przez . Niech będzie macierzą diagonalną indeksowaną przez ze stopniami wierzchołków na przekątnej, wtedy możemy znaleźć ważoną macierz Laplaciana tak jak przed GrAd(Gr)n×nVw(u,v)D(Gr)VG
G=D(Gr)Ad(Gr).

W problemie z oryginalnego postu wiemy, że Z znanych nam komentarzy szukamy faktoryzacji dla gdzie i określamy, że ma postać gdzie . Dla pełnej ogólności załóżmy, że macierz nie ma zerowych wpisów. Zatem jeśli sformułujemy macierz zorientowaną ważoną częstości występowania w celu znalezienia , potrzebujemy ważonej macierzy przyległości

G=[34135121323135121334].
GG=ATAAA=I1nwTwT1n=1AAAd(Gr)aby nie mieć również zerowych wpisów, tj. wykres ważony będzie miał pętle. Właściwie obliczenie ważonej zorientowanej macierzy częstości wydaje się trudne (chociaż może to wynikać z mojego braku doświadczenia z ważonymi wykresami). Możemy jednak znaleźć faktoryzację formy, której szukamy w sposób ad hoc, jeśli założymy, że wiemy coś o pętlach na naszym wykresie. Podzieloną ważoną macierz Laplaciana dzielimy na macierze stopnia i przylegania w następujący sposób G
G=[5400010001112][12135121313135121316]=D(Gr)Ad(Gr).

Tak więc wiemy, że pętle na , i mają odpowiednio wagi , i . Jeśli umieścimy wagi na pętlach w wektorze = wówczas możemy odzyskać macierz którą chcemy w żądanej formie v1v2v31/21/31/6w[12 13 16]TA
A=I1nwT=[121316122316121356].

Okazuje się, że jeśli mamy wiedzę na temat pętli na naszym wykresie ważonym, możemy znaleźć macierz w pożądanej formie. Znów zostało to zrobione w sposób ad hoc (ponieważ nie jestem teoretykiem grafów), więc może to być hack, który zadziałał tylko dla tego prostego problemu.A

Andrew Winters
źródło
Odzyskiwanie w przypadku Laplaciana jak to opisujesz , nie powinno stanowić problemu (w twoim przykładzie tylko jeden wiersz / kolumna zawiera niezerowe elementy). Myślę, że sprawy komplikują ogólny „pełny” Laplacian jak w moim przykładzie. Biorąc pod uwagę stopień swobody , nie jestem pewien, czy rozwiązanie można uzyskać, z zastrzeżeniem ograniczeń, które podam powyżej. AGO(n2)G
usero
Tak, przykład który podam, jest bardzo uproszczony, ale będzie to możliwe w ogólnym przypadku, gdy jest pełną matrycą. Problem teorii grafów staje się bardziej skomplikowany w miarę zwiększania liczby krawędzi i wierzchołków. Zasadniczo zastępujemy trudny problem faktoryzacji macierzy trudnym problemem teorii grafów. GG
Andrew Winters,
Ok, będę wdzięczny, jeśli starają się zrekonstruować jak podano powyżej z danymi . AG
usero
@AndrewWinters: Czy możesz wyjaśnić, w jaki sposób określa się podstawie ? Nie jest dla mnie jasne, jak działa twój algorytm w ogólnym przypadku. AG
Geoff Oxberry
1
Nie sądzę, aby było to możliwe dla ogólnego ponieważ wydaje się, że specyficzna forma faktoryzacji będzie istnieć tylko dla niektórych typów wykresów ważonych. Zatem macierze Laplaciana które mają postać są podzbiorem wszystkich możliwych macierzy Laplaciana. GA=I1nwTGG=ATA=(I1nwT)T(I1nwT)
Andrew Winters,
9

Myślę, że są mylące wyjątkowy macierzy kwadratowych korzeń hermitowskiego pozytywny semi-definitywna macierzy , tj Hermitian pozytywny semi-definitywna macierz zaspokojenia,AB

B2=A,

z nie unikalnym problemem znalezienia macierzy spełniającejC

CHC=A,

gdzie wyraźnie mapowanie , dla dowolnego jednolitego , zachowuje tożsamość. Jak zauważyłeś, faktoryzacja Cholesky'ego stanowi jedno z możliwych rozwiązań. Należy jednak pamiętać, że Cholesky działa tylko w przypadku pustelnikowo-dodatnich macierzy hermitowskich (z możliwym wyjątkiem Hermitianowskiej dodatniej półokreślonej macierzy, która jest dodatnio-dodatnia, jeśli ostatni wiersz i kolumna zostaną usunięte).CQCQ

Na koniec można konstruktywnie zdefiniować unikalny pierwiastek kwadratowy macierzy Hermitian dodatniej półokreślonej macierzy poprzez jej rozkład wartości własnej, powiedzmy

A=UΛUH,

gdzie jest jednostkowe, a jest ukośna z nieujemnymi wpisami, ponieważ jest dodatnim półokreślonym. Pierwiastek kwadratowy macierzy hermitowskiej można łatwo zidentyfikować jakoUΛA

B=UΛUH.
Jack Poulson
źródło
Masz rację co do pierwiastka kwadratowego z macierzy . Oczywiście istnieją różne sposoby osiągnięcia faktoryzacji, ale mogą zagwarantować, że (z mojej wyprawy.) Może być napisane tak, jak sformułowałem. A
usero
6

W istocie to, o co prosisz, to znalezienie pierwiastka kwadratowego A macierzy G, tak aby Jest wiele sposobów na zrobienie tego, jeśli jest macierzą symetryczną. Na przykład, jeżeli jest symetryczne, a rozkład Cholesky'ego zapewnia z jednej odpowiedzi: . Ale już znalazłeś inną odpowiedź, z macierzą którą już masz. Oznacza to po prostu, że istnieje wiele „pierwiastków kwadratowych” macierzy , a jeśli chcesz mieć jeden konkretny, musisz ponownie sformułować pytanie w taki sposób, aby określić właściwości strukturalne „gałęzi” pierwiastek kwadratowy, który Cię interesuje.

G=ATA.
GGG=LTLA=LAG

Powiedziałbym, że ta sytuacja nie różni się od wyliczenia pierwiastka kwadratowego spośród liczb rzeczywistych za pomocą liczb zespolonych: tam też, ogólnie rzecz biorąc, masz dwa pierwiastki i musisz powiedzieć, która z nich ma uczynić odpowiedź unikalną.

Wolfgang Bangerth
źródło
Zdecydowanie masz rację. Innym sposobem byłoby podejście do rozkładu widmowego, jak stwierdziłem powyżej. Dokonałem edycji, aby rozwiązanie było unikalne. Mam nadzieję, że to nie skomplikuje sprawy.
usero
Czy zawsze istnieje rozwiązanie z ograniczeniem, które podam powyżej? Być może dotyczy to tylko niektórych przypadków, a nie ogólnie.
usero
W rzeczywistości Cholesky nie działa w jego przypadku, ponieważ (zasadniczo) wymaga, aby matryca była pustelnikiem-dodatnim.
Jack Poulson,
4

Myślę, że możesz zastosować faktoryzację do swojej macierzy A. Ponieważ macierz ma nie ujemne wartości własne, macierz diagonalna D będzie miała nieujemne wpisy wzdłuż przekątnej. Następnie możesz łatwo podzielić na czynniki pierwsze . I dostajesz macierz . Skład eigend nie jest stabilny numerycznie, więc myślę, że powinieneś unikać tego rodzaju rozkładu.LDLTD^=DG=LD^

Willowbrook
źródło
Muszę się nie zgadzać z dwóch powodów: (1) faktoryzacja nie działa dla macierzy pojedynczych (jego macierz jest pojedyncza), oraz (2) rozkład wartości własnych macierzy hermitowskich jest uważany za stabilny, ponieważ ich macierze własne są jednolite. LDLT
Jack Poulson,
1
@JackPoulson Próbuję pojedynczej macierzy A w Matlabie i uruchamiam ldl, to działa. Zerowe wartości własne odpowiadają zerom na przekątnej D.
Willowbrook
2
Myślę, że przekonasz się, że procedura 'ldl' MATLAB-a oblicza dekompozycję bloku z przechylaniem , tj. , gdzie nie musi być ukośne (może mieć bloki). Aby uniknąć podziału przez zero, ponieważ macierz jest pojedyncza, zerowe wpisy po przekątnej są obracane w prawym dolnym rogu matrycy. P A P = L D L T D 2 × 2LDLTPAP=LDLTD2×2
Jack Poulson,