Задачи линейной алгебры в приложении Mathcad
Mathcad обладает мощными средствами решения задач линейной алгебры. Их можно условно разделить на два класса.
Первый — это простейшие матричные операции, которые сводятся к определенным арифметическим действиям над элементами матрицы. Простейшие операции матричной алгебры реализованы в Mathcad в виде операторов, причем их запись максимально приближена к математическому значению. Каждый оператор выражается соответствующим символом. Некоторые операции применимы только к квадратным матрицам, некоторые допускаются только для векторов (например, скалярное или векторное произведение), а другие, несмотря на одинаковое написание, по-разному действуют на векторы и матрицы.
Второй класс — это более сложные действия, которые реализуются алгоритмами вычислительной линейной алгебры, такие как вычисление определителей и обращение матриц, вычисление собственных векторов и собственных значений, решение систем линейных алгебраических уравнений. В наглядной и удобной форме весь этот большой материал представлен в разделах «Линейная алгебра» и «Системы линейных уравнений» в книге
Кирьянов Д. В. Mathcad 15/Mathcad Prime 1.0. - СПб.: БХВ-Петербург, 2012. - 432 с.
PDF-версия этой книги под именем Кирьянов Д.В. Mathcad 15 находится в папке COMMON.
Многие средства решения задач линейной алгебры допустимо использовать как в численных, так и в символьных расчетах. Мощь символьных операций заключается в возможности проводить их не только над конкретными числами, но и над переменными. Символьный процессор можно использовать в качестве мощного математического справочника, когда надо вспомнить какую-либо формулу из области линейной алгебры.
Например:
Листинг 1. Символьные операции в операторах линейной алгебры |
Средства Mathcad, необходимые для выполнения работы
Массивы
Массивами называют упорядоченные последовательности чисел, т.е. такие последовательности, в которых каждому элементу соответствует номер, называемый индексом элемента массива. В Mathcad условно выделяются два типа массивов: векторы - одноиндесные массивы, матрицы - двухиндесные массивы.
Работа с массивами осуществляется в основном с помощью панели «Вектор и матрица». Назначение ее кнопок приведено на рис.1.
Рис.1. Панель работы с векторами и матрицами
Доступ ко всему массиву осуществляется обычным определением векторной переменной. Над элементами массива можно совершать действия как над обычными числами. Нужно только правильно задать соответствующий индекс или сочетание индексов массива.
В рассмотренных ниже листингах нумерация индексов массивов начинается с нуля, например, первый элемент вектора имеет индекс 0. Стартовый индекс массива задается системной переменной ORIGIN, которая по умолчанию равна нулю. Если необходимо нумеровать элементы векторов и матриц с единицы, то надо присвоить этой переменной значение 1.
Примеры операций с векторами и матрицами приведены в листингах 2 и 3.
Листинг 2. Векторы и действия над ними |
Здесь:
1-я строка– ввод векторов a и b. Размер и размерность массива устанавливаются с помощью кнопки «ввод массива».
2-я строка– вывод и сумма отдельных координат (элементов) векторов. Например, чтобы получить доступ к нулевому элементу вектора a, надо ввести имя массива (a), нажать кнопку «индекс» либо ввести символ [, в появившийся справа снизу от имени массива местозаполнитель ввести желаемый индекс (0).
3-я строка– нахождение сумм координат векторов. Используется кнопка «сумма координат вектора».
4-я строка– нахождение скалярного (кнопка «скалярное произведение») и векторного произведений (кнопка «векторное произведение») и суммы векторов (обычный символ +).
Листинг 3. Матрицы и действия над ними |
Здесь:
1-я строка– ввод матрицы третьего порядка.
2-я строка– вывод отдельных элементов матрицы. Например, чтобы получить доступ к элементу матрицы р, расположенному на пересечении строки с номером 2 и столбца с номером 1 (нумерация начинается с нуля), надо ввести имя матрицы (р), нажать кнопку «индекс» либо ввести символ [, в появившийся справа от имени массива местозаполнитель ввести первый индекс (2), ввести запятую (,), в появившийся справа от запятой местозаполнитель ввести второй индекс (1).
3-я строка– вывод отдельных столбцов матрицы. Ввести имя матрицы, нажать кнопку «столбец матрицы», в появившийся справа местозаполнитель ввести желаемый номер столбца.
4-я строка– транспонирование матрицы и вычисление определителя. Используются соответствующие кнопки панели «Матрица».
5-я строка– нахождение обратной матрицы (кнопка «Обратная матрица»), проверка обращения: произведение матрицы на обратную к ней равно единичной матрице.
6-я строка– нахождение суммы и произведения матриц. Используются обычные символы клавиатуры + и *.
В листинге 4 представлен пример решения системы линейных алгебраических уравнений (СЛАУ) третьего порядка, использующий матричную формулу .
Листинг 4. Решение СЛАУ через обратную матрицу |
Здесь:
1-я строка– ввод матрицы A коэффициентов системы и вектора В – столбца свободных членов;
2-я строка– нахождение вектора Х (решение системы) и проверка: произведение матрицы А на вектор Х равно вектору В.
Следовательно, система имеет решение .
В Mathcad имеется и встроенные способы решения СЛАУ: