* Данный текст распознан в автоматическом режиме, поэтому может содержать ошибки
626
MatrixInverse: MatrixInverse: MatrixInverse:
Решение задач линейной алгебры и оптимизации
"calling external function" "NAG" hw_f07adf "NAG" hw_f07ajf
Обратите внимание, что Maple теперь выдает информационные сообщения о новых условиях реализации операции инвертирования матриц с вещественными элементами и, в частности, об использовании алгоритмов NAG и арифметики, встроенной в сопроцессор. Следующий пример иллюстрирует создание двух случайных матриц M1 и M2 и затем их умножение:
> M1:=RandomMatrix(2,3); M2:=RandomMatrix(3,3); Multiply(M1,M2,'inplace'); M1;
Параметр inplace в функции умножения обеспечивает помещение результа та умножения матриц на место исходной матрицы M1 – излюбленный прием со здателей быстрых матричных алгоритмов NAG. Поскольку матрицы M1 и M2 зада ны как случайные, то при повторении этого примера результаты, естественно, будут иными, чем приведенные. Другой пример иллюстрирует проведение хорошо известной операции LU разложения над матрицей M, созданной функцией Matrix:
> M:=Matrix([[14,-8,1],[-11,-4,18],[3,12,19]], datatype=float); LUDecomposition(M,output=['NAG'],inplace); ipiv:=%[1]; M;
LUDecomposition: LUDecomposition:
"calling external function" "NAG" hw_f07adf