Użyłem metody Jacobiego do znalezienia wszystkich wartości własnych i wektorów własnych w kodzie c. Chociaż złożoność metody Jacobiego to O (n^3), ale wymiar mojej matrycy jest ogromny (17814 X 17814). To zajmuje dużo czasu. Chcę poznać lepszy algorytm, dzięki któremu mogę rozwiązać ten problem. Jeśli chcesz, mogę dołączyć mój kod c.Jak znaleźć lepszy algorytm obliczania wartości własnej i wektora własnego bardzo dużej macierzy
6
A
Odpowiedz
2
Algorytm sugerowany w komentarzach niekoniecznie jest najlepszy.
Jak widać here, metoda Jacobiego może być znacznie szybsza przy użyciu specjalnych technik.
Co więcej, Jacobi jest dość łatwy do uruchomienia równolegle i jest znacznie szybszy w przypadku macierzy rzadkich niż w przypadku gęstych macierzy, więc można również z tego skorzystać, w zależności od architektury i typu macierzy.
Powiedziałbym, że najlepiej jest przetestować kilka różnych metod i zobaczyć w praktyce, gdzie można uzyskać najlepsze wyniki.
O(n^2.376)
niekoniecznie jest lepszy niż O(n^3)
w zależności od stałych.
Powiązane problemy
- 1. Najszybszy algorytm obliczania wyznacznika macierzy?
- 2. Dowolna płaszczyzna OpenGL podana w bardzo dużej wartości klipuje wszystko
- 3. Jak mogę wektoryzować i przyspieszyć obliczenia dla tej dużej macierzy?
- 4. Algorytm optymalizacji do obliczania wartości mnożnika i dzielnika
- 5. Przewijanie bardzo dużej GtkDrawingArea
- 6. getThreads bardzo dużej etykiety
- 7. Implementacja bardzo rzadkich macierzy
- 8. Lepszy algorytm wygaszania wygrywającej wersji
- 9. Szybki algorytm obliczania Pi równolegle
- 10. Algorytm mnożenia macierzy Boole'a
- 11. Algorytm macierzy skośnych
- 12. Jaki jest skuteczny algorytm znajdowania pierwiastka kwadratowego liczby całkowitej z bardzo dużej liczby, cyfra po cyfrze?
- 13. Konfliktowe wyniki wektora własnego między Matlab i Numpy
- 14. Algorytm do uzupełnienia uszkodzonej macierzy danych
- 15. Algorytm do obliczania harmonogramu z podanymi ograniczeniami
- 16. Przyspieszenie kodu Pythona do obliczania kofaktorów macierzy
- 17. Jaki algorytm R używa do obliczania średniej?
- 18. Dołączanie wektora do pustej macierzy MATLABA
- 19. Algorytm obliczania najbliższego położenia na podstawie długości i szerokości geograficznej
- 20. Algorytm obliczania odległości między 2 punktami trójwymiarowymi?
- 21. biblioteka lub algorytm obliczania widocznych satelitów GPS
- 22. Algorytm obliczania najbardziej energooszczędnej sieci ad-hoc
- 23. Jak poprawić wydajność INSERT na bardzo dużej tabeli MySQL
- 24. Powtórzenie bardzo dużej liczby plików w folderze
- 25. Transakcje powyżej bardzo dużej grupy podmiotów
- 26. R statystyki - problemy z pamięcią podczas przydzielania dużej macierzy/Linux
- 27. Wyrażenie macierzy powoduje błąd "wymaga argumentów numerycznych/złożonych macierzy/wektora"?
- 28. Algorytm Dijkstry dla macierzy 2D w Javie
- 29. Przechowywanie dużej, ale niskiej rangi macierzy wydajnie
- 30. Jak zaktualizować macierz modelu OpenGL za pomocą własnej macierzy 4x4?
To pytanie zostało już przesłuchane (http://mathoverflow.net/questions/62904/complexity-of-eigenvalue-decomposition) –
Algorytm Coppersmitha i Winograda może rozwiązać problem w O (n^2,376) –