Maple 9.5/10 в математике, физике и образовании
Шрифт:
6.2.4. Работа с векторами и матрицами
Для работы с векторами и матрицами Maple имеет множество функций, входящих в пакет linalg. Ограничимся приведением краткого описания наиболее распространенных функций этой категории.
Операции со структурой отдельного вектора V и матрицы М:
• coldim(M) — возвращает число столбцов матрицы М;
• rowdim(M) — возвращает число строк матрицы М;
• vectdim(V) — возвращает размер вектора V;
• col(M.i) — возвращает i-й столбец матрицы М;
• row(M,i) — возвращает i-ю строку матрицы М;
• minor(M,i,j) — возвращает минор матрицы М для элемента с индексами i и j;
• delcols(M,i..j) — удаляет
• delrows(V,i..j) — удаляет строки матрицы М от i-й до j-й;
• extend(M,m,n,x) — расширяет матрицу М на m строк и n столбцов с применением заполнителя х.
Основные векторные и матричные операции:
• dotprod(U,V) — возвращает скалярное произведение векторов U и V;
• crossprod(U,V) — возвращает векторное произведение векторов U и V;
• norm(V) или norm(M) — возвращает норму вектора или матрицы;
• copyinto(A,B,i,j) — копирует матрицу А в В для элементов последовательно от i до j;
• concat(M1,M2) — возвращает объединенную матрицу с горизонтальным слиянием матриц М1 и М2;
• stack(M1,M2) — возвращает объединенную матрицу с вертикальным слиянием М1 и М2;
• matadd(A,B) и evalm(A+B) — возвращает сумму матриц А и В;
• multiply(A,B) и evalm(A&*B) — возвращает произведение матриц А и В;
• adjoint(M) или adj(M) — возвращает присоединенную матрицу, такую, что M∙adj(M) дает диагональную матрицу, определитель которой есть det(M);
• charpoly(M,lambda) — возвращает характеристический полином матрицы М относительно заданной переменной lambda;
• det(M) — возвращает детерминант (определитель) матрицы М;
• Eigenvals(M,vector) — инертная форма функции, возвращающей собственные значения матрицы М и (при указании необязательного параметра vector) соответствующие им собственные векторы;
• jordan(M) — возвращает матрицу М в форме Жордана;
• hermite(M) — возвращает матрицу М в эрмитовой форме;
• trace(M) — возвращает след матрицы М;
• rank(M) — возвращает ранг матрицы М;
• transpose(M) — возвращает транспонированную матрицу М;
• inverse(M) или evalm(1/M) — возвращает матрицу, обратную к М;
• singularvals(A) — возвращает сингулярные значения массива или матрицы А.
Приведем примеры применения некоторых из этих функций (файл linalgop):
В приведенных примерах полезно обратить внимание на то, что многие матричные функции способны выдавать результаты вычислений в аналитическом виде, что облегчает разбор выполняемых ими операций.
6.2.5. Решение систем линейных уравнений
Одной из самых распространенных задач линейной алгебры является решение систем линейных уравнений. Ниже представлен простой пример составления и решения трех систем линейных уравнений с применением функций, входящих в пакет linalg (файл sle):
А теперь рассмотрим пример решения матричного уравнения в символьном виде:
Следующий пример показывает решение более сложной системы линейных уравнений с комплексными коэффициентами: