W "czarnej księdze", w wydaniu numerycznym, wydanie trzecie, podano algorytm Gaussa-Jordana dla rozwiązania układu równań liniowych. Bezpośrednio potem jest rozdział dotyczący obliczania dekompozycji LU, a następnie wykorzystywany do rozwiązania układu równań liniowych (patrz LUdcmp :: rozwiązać na str. 53). Niestety, książka nie wyjaśnia, dlaczego ktoś wolałby jedną metodę od drugiej. Czy oba podejścia są równoważne, czy też istnieją powody, aby preferować jedną metodę w stosunku do drugiej w konkretnej sytuacji?Eliminacja Gaussa-Jordana w porównaniu z dekompozycją LU
Odpowiedz
Zaletami dekompozycji LU może być ponowne wykorzystanie do obliczenia wielu rozwiązań.
Na przykład, jeśli chcesz rozwiązać równanie
Ax = b
dla stałej A
i wielu różnych b
s potem wystarczy tylko obliczyć metoda lu z A
raz i może być ponownie użyty do każdego b
. Jednak w przypadku eliminacji Gaussa-Jordana konieczne będzie ponowne wykonanie wszystkich operacji dla każdego z nich. Przyczyna tego jest szybsza, ponieważ eliminacja Gaussa-Jordana skaluje się jako O (n^3), ale etap podstawienia dekompozycji LU metoda skaluje się tylko jako O (n^2). Dlatego w przypadku LU wystarczy wykonać tylko jeden kosztowny krok O (n^3) dla każdego b
.
Rozsądny zestaw notatek na dokładnie ten temat można znaleźć here
"Dlatego dla przypadku LU wystarczy wykonać kosztowny krok O (n^3) raz dla każdego b." - czyż nie jest to raz dla każdego "A"? –
- 1. Eliminacja ogona w Mono
- 2. Eliminacja błędów @ Nie działa
- 3. Co oznacza to wyrażenie regularne - "\ p {Lu}"?
- 4. Co to jest eliminacja rekursji ogonowej?
- 5. Python ABC: rejestracji w porównaniu z podklasy
- 6. CALL w porównaniu z opcją START/WAIT
- 7. Docker Container w porównaniu z Unikernelem
- 8. Montaż w porównaniu z kodem C
- 9. element.style.setAttribute() w porównaniu element.attribute = ''
- 10. Jaka jest różnica między specyfikatorami% ul i% lu C?
- 11. Marionette.js w porównaniu do Chaplin.js
- 12. Eliminacja tej pośredniej lewej rekursji krok po kroku
- 13. Fałdy porównaniu rekursji w Erlang
- 14. Eliminacja echa akustycznego (AEC) ze Speexem i DirectSound
- 15. FogBugz w porównaniu do OnTime
- 16. Simple Object porównaniu fabryce porównaniu konstruktor - praktyczny przykład
- 17. prosty if porównaniu z normalną if
- 18. "new Foo() {}" w porównaniu z "new Foo()" w Javie
- 19. Importowanie przestrzeni nazw w porównaniu z plikami w PHP
- 20. Przykład właściwości w porównaniu z metodami w JS
- 21. C++ METAPROGRAMOWANIE z szablonami porównaniu inline
- 22. Dlaczego kontenery STL są preferowane w porównaniu z kontenerami MFC?
- 23. APL kontra A w porównaniu z J kontra K?
- 24. C++, niejednoznaczny błąd dziedziczenia w porównaniu z 2010 r.
- 25. Jak wykrywać Chromium specjalnie w porównaniu z Chrome?
- 26. C++/CLI klasy interfejs w porównaniu z interfejsem struct
- 27. Jak ładnie Python "płynie" z HTML w porównaniu do PHP?
- 28. Kolory czcionek HTML/CSS w porównaniu z stylem zakresu
- 29. „PHP Kompozytor” w porównaniu z „Ruby klejnotów i Bundler”
- 30. Ręczne wdrażanie w porównaniu z Amazon Elastic Beanstalk
Może pomocne: https://math.stackexchange.com/questions/266355/necessity-advantage-of-lu-decomposition-over-gaussian- eliminacja – stephan
Zadaję pytanie wyłącznie z punktu widzenia algorytmicznego/programowania, a nie matematycznego punktu widzenia. Moje doświadczenie jest takie, że matematycy często nie wiedzą, dlaczego jeden algorytm powinien być preferowany nad innym. –
Numeryczna algebra liniowa powinna być lepiej omówiona na temat Computational Science http://scicomp.stackexchange.com Proszę spojrzeć, a znajdziecie bardzo dobrze poinformowaną społeczność numeryczną. –