Дьяконов Владимир Павлович
Шрифт:
Матрицы в новом пакете линейной алгебры могут задаваться в угловых скобках, как показано ниже:
После этого можно выполнять с ними типовые матричные операции. Например, можно инвертировать (обращать) матрицы:
Обратите внимание, что Maple теперь выдает информационные сообщения о новых условиях реализации операции инвертирования матриц с вещественными элементами и, в частности, об использовании алгоритмов NAG и арифметики, встроенной в сопроцессор.
Следующий пример иллюстрирует создание двух случайных матриц M1 и М2 и затем их умножение:
Параметр inplace в функции умножения обеспечивает помещение результата умножения матриц на место исходной матрицы М1 — излюбленный прием создателей быстрых матричных алгоритмов NAG. Поскольку матрицы M1 и М2 заданы как случайные, то при повторении этого примера результаты, естественно, будут иными, чем приведенные.
Другой пример иллюстрирует проведение хорошо известной операции LU-разложения над матрицей М, созданной функцией Matrix:
6.3.3. Методы решения систем линейных уравнений средствами пакета LinearAlgebra
Конечной целью большинства матричных операций является решение систем линейных уравнений. Для этого пакет LinearAlgebra предлагает ряд методов и средств их реализации. Основными методами решения являются следующие:
• обращением матрицы коэффициентов уравнений и решением вида Х=А– 1*В;
• применением метода LU-декомпозиции (method='LU');
• применением метода QR-декомпозиции (method='QР');
• применением метода декомпозиция Холесского (method='Cholesky');
• метод обратной подстановки (method='subs').
Решение с применением обращения матрицы коэффициентов левой части системы уравнений А уже не раз рассматривалось и вполне очевидно. В связи с этим отметим особенности решения систем линейных уравнений другими методами. Любопытно отметить, что указание метода может быть сделано и без его заключения в одинарные кавычки.
6.3.4. Решение системы линейных уравнений методом LU-декомпозиции
Зададим матрицу А левой части системы уравнений и вектор свободных членов В:
Прямое решение этим методом выполняется одной из двух команд, отличающихся формой записи:
Проверим решение данной системы уравнений:
В данном случае решение точно (в пределах точности вычислений по умолчанию).
Можно также выполнить решение проведя отдельно LU-декомпозицию, что делает наглядным алгоритм решения и операции подстановки: