-
Notifications
You must be signed in to change notification settings - Fork 163
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Титов Семён. Задача 2. Вариант 24. Метод простых итераций #335
base: master
Are you sure you want to change the base?
Титов Семён. Задача 2. Вариант 24. Метод простых итераций #335
Conversation
|
||
Matrix.assign(Matrix_input, Matrix_input + Rows * Rows); | ||
Values.assign(Values_input, Values_input + Rows); | ||
current.assign(Rows, 0.0); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
there must be a condition under which the solution of the equation converges to an exact solution from any point, in your case from point zero
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fixed
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please, add more functional tests for matrix of type 1x1, 2x2, and also don't forget to check the empty matrix
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fixed
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #335 +/- ##
==========================================
- Coverage 96.31% 96.27% -0.04%
==========================================
Files 437 441 +4
Lines 11236 11446 +210
Branches 4739 4840 +101
==========================================
+ Hits 10822 11020 +198
Misses 136 136
- Partials 278 290 +12 ☔ View full report in Codecov by Sentry. |
cb23c5d
to
b7ca0a7
Compare
70eea93
to
4b44fcb
Compare
Описание последовательной задачи:
На вход подается матрица системы линейных уравнений, преобразуется к виду x = cx + d. Далее, начиная с точки 0 высчитываются последовательные приближения значений переменных системы уравнений. Для этого нужны 2 массива с текущими значениями и предыдущими. Процесс идет до тех пор пока максимальная разница между текущими значениями переменной и прошлыми значениями не будут меньше заданного epsilon.
Описание параллельной задачи:
На вход для удобства подается матрица A и вектор B, где СЛАУ имеет вид Ax=B, (здесь мы не преобразовываем матрицу заранее, а немного меняем вычисления новых значений). Каждой процессу выделена одна строка, если процессов меньше, то каждому процессу соответствует кратное количество строк, последний процесс забирает все оставшиеся. Если процессов выделено больше, часть из них бездействует. После подсчета очередным процессом очередного приближения переменной данные массив текущих значений x обновляется у всех процессов, по окончании итерации всеми процессами, массив с текущими значениями копируется в массив с прошлыми значениями, процесс продолжается пока в главном процессе не пройдет проверка на сходимость к epsilon.