Команды для выполнения линейных преобразований над строками и столбцами исходной матрицы.
addс ol(M, j1, j2, expr)
Создание новой матрицы из матрицы М путем прибавления к столбцу номер j1 столбца с номером j2, умноженного на значение параметра expr
addrow(M, i1, i2, expr)
Создание новой матрицы из матрицы М путем прибавления к строке номер i1 строки с номером i2, умноженной на значение параметра expr
mulcol(M, j, expr)
Умножение столбца с номером j на expr
mulrow(M, i, expr)
Умножение строки с номером i на expr
swaprow(M, i1,i2)
Меняет местами две строки матрицы М
swapcol(M, j1, j2)
Меняет местами два столбца матрицы М
Основные команды для выполения векторных и матричных операций:
add(A, B) add(A, B, s1, s2)
Сумма матриц А и В Линейная комбинация двух матриц: s1*A+s2*B, где s1 и s2 скаляры.
evalm(A оператор B)
Команда для вычисления матрицы или вектора на уровне их элементов, используется для вычисления любых возможных действий, заданных операторами сложения (+), вычитания (-), умножения (&*), деления (/) и возведения в степень(^).
multiply(A,B)
Умножение матрицы на матрицу или вектор
angle(U,V)
Вычисление угла между векторами U и V.
grad(expr, V)
Вычисление градиента скалярного выражения над векторным полем V (задается как vector() или в виде списка координат)
diverge(F,V)
Вычисление дивергенции векторной функции F(в виде вектора или списка выражений) над полем вектора V (вектор или список)
curl(F, V)
Вычисление ротора F над полем вектора V (F и V векторы или списки из 3-х элементов)
interprod(U,M1,M2,..,Mn, V)
Вычисление скалярного произведения (U, V - векторы, M1,M2,..,Mn -матрицы)
potential(F,var,'V')
Вычисление потенциала векторного поля F. var -список переменных, ' V' имя функции, которой присваивается вычисленный потенциал.
augment(A,B,...)
Объединение двух и более матриц горизонтально ("бок о бок")
stack(A,B,...)
Объединение двух и более матриц вертикально ("одна под другой")
copyinto(A,B,m,n)
Копирование элементов матрицы А в матрицу В начиная с позиции [m,n] (B[m,n]=A[1,1])
transpose(M)
Вычисление транспонированной матрицы или вектора.
inverse(M)
Вычисление обратной матрицы
jacobian(F,V)
Якобиан-матрица векторной функции. (F - вектор или список выражений, V - вектор или список переменных). (i,j)-й элемент матрицы представляет diff(F[i], V[j]).
charmat(M,lambda)
Создание характеристической матрицы для матрицы M (lambda - переменная, используемая для обозначения характеристических чисел)
charpoly(M,lambda)
Выдает характеристический полином матрицы М
Команды, позволяющие получить те или иные характеритики матриц:
det(A)
Определитель матрицы А
rank(A)
Ранг матрицы А
definite(A, kind)
Тест на положительно- (отрицательно) определенные матрицы
cond(A)
Вычисление условных чисел матрицы
orthog(M)
Тест на ортогональность матрицы M
singularvals(M)
Вычисляет сингулярные значения матрицы.
Eigenvals(M,V)
Вычисляет собственные значения матрицы М и соответствующие собственные векторы, которые помещает в вектор V.
eigenvals(M)
Вычисляет собственные числа матрицы М
eigenvects(M,V)
Вычисляет собственные числа, их кратность и соответствующие каждому собственному числу собственные векторы.
Команды для решения линейных уравнений и систем:
linsolve(M,B)
Решение системы линейных уравнений, представленных в матричной форме: M*x=B
leastsqrd(M,B)
Решение уравнений по методу наименьших квадратов.
В пакете linalg имеется также достаточное количество команд для всевозможных разложений матриц, представления их в той или иной форме (Эрмитова, Жордана, Гильберта и др.)
Пакет LinearAlgebra
Все команды пакета LinearAlgebra можно вызвать непосредственно по имени, предварительно подключив весь пакет стандартным способом, или можно подключить отдельную команду с использованием синтаксиса
with(LinearAlgebra, имя команды);
Можно вызвать команду, предварительно не подключая ее, а используя длинное имя
Последняя форма (имя команды, заключенное в кавычки), вызывает соответствующую команду пакета, даже если в текущем сеансе используется какой-либо объект с таким же именем.
Пакет LinearAlgebra реализован в виде модуля, новой языковой конструкции Maple, использующей элементы объектно-ориентированного программирования. Каждая команда является методом объекта LinearAlgebra, и поэтому ее можно вызвать, используя специальную операцию :- обращения к методу объекта.
LinearAlgebra:- имя команды (параметры);
В этом случае вызываемая команда также будет загружена, не конфликтуя с объектом другого типа, созданным в текущем сеансе.
Для получения более полной информации по пакету LinearAlgebra можно загрузить справку командой ?LAOverview. На этой странице справки расположены ссылки на другие страницы, подробно описывающие работу и программирование пакета LinearAlgebra, включая рабочие листы с примерами использования подпрограмм пакета NAG.
Основные типы данных. Создание векторов и матриц.
Основные типы данных, с которыми работают команды пакета LinearAlgebra, являются скаляры, представляющие как числа, так и алгебраические выражения, а также матрицы и векторы, определяемые на базе нового типа данных r- таблицы.(В данном курсе не рассматривается этот тип данных).
Конструктором матриц является команда Matrix() (обязательно с заглавной буквы), все параметры которой являются необязательными. Её синтаксис: