Program analizujący techniki przyśpieszania zbieżności w metodach rozwiązywania równań (Java)

Closed job
no avatar
Employer
1 deal
Job category:
Desktop/web applications
Expected budget:

Negotiable

Preferable skills:
Published:
Finished

Job description

Zlecę Sprawdzenie i poprawienie projektu w Javie który opierać się ma w założeniach na metodzie Jacobiego i Gaussa-Seidla oraz usprawnionej metodzie Gaussa - Seidla czyli SOR (metoda nadrelaksacji). Chodzi o to aby zbadać techniki przyśpieszania zbieżności w powyższych metodach rozwiązywania równań. Całość bazować ma na artykule z odnośnika (https://www.sciencedirect.com/science/article/pii/S089812211400203X podpunkt 3.1). Potrzebuję działającej klasycznej metody Jacobiego, Gaussa - Seidla oraz SOR które pobierać będą z pliku wejściowego albo konsoli wielkość macierzy, wartości macierz oraz wektor wyrazów wolnych, wyznaczą przybliżenia początkowe a następnie za pomocą kolejnych iteracji pozwolą zbadać zbieżność/rozbieżność metody i rozwiązanie układu równań z którego wyciągnęliśmy sprawdzaną macierz (To w zasadzie jest zaimplementowane aczkolwiek wydaje mi się że metoda GS nie działa prawidłowo) . Musi być także sprawdzane czy macierz jest diagonalnie dominująca. Kolejnym krokiem jest zastosowanie wzorów do metody SOR z załączonego pliku tak aby uzyskać usprawnioną metodę SOR (nie działa to niestety tak jak powinno ponieważ po wygenerowaniu dziesięciu macierzy od 10x10 do 100x100 i sprawdzeniu wyników i czasów wykonania obliczeń mój wykres nie pokrywa się z wykresami pokazanymi w podpunkcie 5.1 (fig.8 oraz fig.9) a powinien). Dodatkowo program powinien zmieniać parametry mi oraz lambda po każdej iteracji. Program prześlę po akceptacji zlecenia. Potrzebowałbym też opis najważniejszych metod w formie komentarzy w kodzie tak żebym wiedział co się dzieje w programie.

Na końcu działania programu wynik powinien być zapisywany do pliku wyjściowego z takimi danymi jak:

- czy dana macierz jest diagonalnie dominująca,

- ilość wykonanych iteracji,

- rozwiązanie danej macierzy (układu równań) w postaci wyników z ostatniej iteracji,

- warunek zakończenia obliczeń,

- warunki mi oraz lambda po każdej iteracji (chodzi o to aby zbadać jak się zmieniają)

- czas wykonania programu.

Submitted offers 1

Add your offer or ask the client for more details