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.