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

Zlecenie zamknięte
no avatar
Zleceniodawca
1 umowa
Kategoria zlecenia:
Usługi programowania
Budżet:

Do negocjacji

Umiejętności:
Opublikowano:
Ważne do:

Opis zlecenia

Zlecę wykonanie 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. Dobrze było by aby sprawdzane było także to 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. Sytuacja jest ta sama tyle że powinny się nieco zmienić parametry. Po dodaniu metody currentTimeMillis() będzie można określić jaki wpływ mają parametry z artykułu na metodę SOR oraz jak bardzo ją przyśpieszają. 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ń,

- czas wykonania programu.

Wymagane funkcje: