Wiem, że większość metod znajdowania przybliżonych rozwiązań PDE skaluje się słabo wraz z liczbą wymiarów i że Monte Carlo jest używane w sytuacjach wymagających ~ 100 wymiarów.
Jakie są dobre metody skutecznego numerycznego rozwiązywania PDE w ~ 4-10 wymiarach? 10-100?
Czy są jakieś metody oprócz Monte Carlo, które dobrze skalują się z liczbą wymiarów?
Odpowiedzi:
Bardziej ustrukturyzowanym sposobem zapewnienia podstawy lub kwadratury (która może zastąpić MC w wielu przypadkach) w wielu wymiarach jest siatka rzadka , która łączy pewną rodzinę jednowymiarowych reguł o różnym porządku w taki sposób, aby uzyskać jedynie wykładniczy wzrost wymiar , zamiast być tak, że wymiar jest wykładnikiem rozdzielczości N d .2d Nd
Odbywa się to poprzez tak zwaną kwadraturę Smolyaka, która łączy szereg jednowymiarowych reguł jakoQ1l
Jest to równoważne przestrzeni kwadratury produktu tensora z usuniętymi wysokimi rzędami mieszanymi . Jeśli zostanie to wykonane w wystarczająco poważny sposób, złożoność może zostać znacznie poprawiona. Jednak, aby ktoś mógł to zrobić i zachować dobre przybliżenie, regularność roztworu musi mieć wystarczająco zanikające mieszane pochodne.
Rzadkie siatki zostały pobite na śmierć przez grupę Griebel za takie rzeczy jak równanie Schrödingera w przestrzeni konfiguracyjnej i inne wysokowymiarowe rzeczy z całkiem dobrymi wynikami. W aplikacji używane funkcje podstawowe mogą być dość ogólne, o ile można je zagnieżdżać. Na przykład fale płaskie lub podstawy hierarchiczne są powszechne.
Kodowanie jest również dość proste. Z mojego doświadczenia wynika jednak, że przygotowanie go do rozwiązania tych problemów jest bardzo trudne. Istnieje dobry samouczek .
W przypadku problemów, których rozwiązania występują w wyspecjalizowanych przestrzeniach Sobolewa z pochodnymi, które szybko giną, podejście z rzadką siatką może potencjalnie przynieść jeszcze lepsze wyniki .
Zobacz także artykuł przeglądowy Acta Numerica, Rzadkie dyskretyzacje tensorów wysokowymiarowych parametrycznych i stochastycznych PDE .
źródło
Zasadniczo łatwo jest zrozumieć, dlaczego zwykłe siatki nie mogą wykraczać daleko poza problemy 3 lub 4-wymiarowe: w wymiarach d, jeśli chcesz mieć co najmniej N punktów na kierunek współrzędnych, otrzymasz N ^ d punkty ogółem. Nawet dla stosunkowo fajnych funkcji na 1d potrzebujesz co najmniej N = 10 punktów siatki, aby je w ogóle rozwiązać, więc ogólna liczba punktów wyniesie 10 ^ d - tj. Nawet na największych komputerach raczej nie wykroczysz poza d = 9, i prawdopodobnie nie będzie pójść znacznie poza kiedykolwiek . Rzadkie siatki mogą w niektórych okolicznościach pomóc, jeśli funkcja rozwiązania ma pewne właściwości, ale ogólnie będziesz musiał żyć z konsekwencjami przekleństwa wymiarowości i stosować metody MCMC.
źródło
źródło