9.3. Системы линейных алгебраических уравнений

Центральным вопросом вычислительной линейной алгебры является решение систем линейных алгебраических уравнений (СЛАУ), т. е. систем уравнений вида

аi1X1i2х2+. . .+ainхn=bi                (1)

В матричной форме СЛАУ записывается в эквивалентном виде:

Ах = b,                                                      (2)

где А — матрица коэффициентов СЛАУ размерности NXN, х — вектор неизвестных, b— вектор правых частей уравнений.

К системам линейных уравнений сводится множество, если не сказать большинство, задач вычислительной математики. Один из таких примеров приведен в разд. "Разностные схемы для ОДУ" гл. 12.

СЛАУ имеет единственное решение, если матрица А является невырожденной, или, по-другому, несингулярной, т. е. ее определитель не равен нулю. С вычислительной точки зрения, решение СЛАУ не представляет трудностей, если матрица А не очень велика. С большой матрицей проблем также не возникнет, если она не очень плохо обусловлена. В Mathcad СЛАУ можно решить как в более наглядной форме (1), так и в более удобной для записи форме (2). Для первого способа следует использовать вычислительный блок Given/Find (см. гл. 8), а для второго — встроенную функцию isoive.

  • isoive ( А, Ь) — решение системы линейных уравнений;
  • А — матрица коэффициентов системы;
  • b — вектор правых частей.

Применение функции isoive показано в листинге 9.33. При этом матрица А может быть определена любым из способов (см. разд. "Массивы" гл. 4), необязательно явно, как во всех примерах этого раздела. Встроенную функцию isoive допускается применять и при символьном решении СЛАУ (листинг 9.34).

Соответствующая матрице А и вектору ь система уравнений выписана явно в листинге 9.35.

Листинг 9.33. Решение СЛАУ

Листинг 9.34. Символьное решение СЛАУ (продолжение листинга 9.33)

В некоторых случаях, для большей наглядности представления СЛАУ, его можно решить точно так же, как систему нелинейных уравнений (см. гл. 8). Пример численного решения СЛАУ из предыдущих листингов показан в листинге 9.35. Не забывайте, что при численном решении всем неизвестным требуется присвоить начальные значения (это сделано в первой строке листинга 9.35). Они могут быть произвольными, т. к. решение СЛАУ с невырожденной матрицей единственно.

При решении СЛАУ с помощью функции Find Mathcad автоматически выбирает линейный численный алгоритм, в чем можно убедиться, вызывая на имени Find контекстное меню.

Листинг 9.35. Решение СЛАУ с помощью вычислительного блока