Войти Создать аккаунт

Алгоритмы и структуры данных · 24 из 30

Метод Гаусса

Система линейных уравнений — главная задача вычислительной математики, и решают её методом Гаусса: прямой ход превращает систему в треугольную, обратный находит неизвестные с конца. Борис Аркадьевич предупреждает: если на диагонали оказался ноль, наивная программа делит на него — поэтому строку с самым большим по модулю числом в столбце надо ставить наверх.

Что сделать

Решите систему линейных уравнений методом Гаусса с выбором главного элемента; если решения нет или оно не одно — верните None.

Что приходит

  • a — матрица коэффициентов n × n: список строк; менять её нельзя

  • b — столбец правых частей: список из n чисел; менять его нельзя

Что вернуть

Список из n неизвестных, каждое округлено до шести знаков, или None, если система вырождена.

Допишите функцию gauss в редакторе справа. Результат верните через return — то, что напечатано, на проверку не влияет.

Пример

Система 2x + y = 3, x + 3y = 5: gauss([[2, 1], [1, 3]], [3, 5]). Прямой ход вычитает из второй строки половину первой, обратный находит y = 1,4 и потом x = 0,8 — ответ [0.8, 1.4].

Тот же пример кодом
Вызов
gauss([[2, 1], [1, 3]], [3, 5])
Вернуть
[0.8, 1.4]
Ctrl+Enter — проверить

Обсуждение

Вопросов пока нет.

Войдите, чтобы спросить.