Maple 9.5/10 в математике, физике и образовании
Шрифт:
Разложение Холецкого А=L∙LT применяется к симметричной матрице А, при этом L — треугольная матрица.
Сингулярное разложение матрицы А размера M×N (М×N) определяется выражением А=U∙s∙VT, где U и V — ортогональные матрицы размера N×N и М×M, соответственно, a s — диагональная матрица
6.1.4. Элементы векторов и матриц
Элементы векторов и матриц в Maple являются индексированными переменными, то есть место каждого элемента вектора определяется его индексом, а у матрицы — двумя индексами. Обычно их обобщенно обозначают как i (номер строки матрицы или порядковый номер элемента вектора) и j (номер столбца матрицы). Допустимы операции вызова нужного элемента и присваивания ему нового значения:
V[i] — вызов i-го элемента вектора V;
M[i,j] — вызов элемента матрицы М, расположенного на i– й строке в j-м столбце.
V[i]:=x — присваивание нового значения х i-му элементу вектора V;
M[i,j]:=x — присваивание нового значения х элементу матрицы М.
6.1.5. Преобразование списков в векторы и матрицы
Прежде всего, надо обратить внимание на то, что векторы и матрицы, хотя и похожи на списки, но не полностью отождествляются с ними. В этом можно убедиться с помощью следующих примеров (файл vmop), в которых функция type используется для контроля типов множественных объектов (векторов и матриц):
Таким образом, используя функцию преобразования данных convert, можно преобразовывать одномерные списки в векторы, а двумерные — в матрицы. Функция type используется в следующих формах:
type(V,vector) — тестирует аргумент V и возвращает true, если V — вектор, и false в ином случае;
type(M.matrix) — тестирует аргумент М и возвращает true, если М — матрица, и false в ином случае.
Здесь параметры vector и matrix используются для указания того, какой тип объекта проверяется. Обратите внимание на то, что матрицы отображаются иначе, чем двумерные списки — без двойных квадратных скобок. Отображение вектора подобно отображению одномерного списка, поэтому здесь особенно важен контроль типов данных.
6.1.6. Операции с векторами
Важное достоинство систем компьютерной алгебры, к которым относится и Maple, заключается в возможности выполнения аналитических (символьных) операций над векторами и матрицами. Перед проведением символьных операций с векторами и матрицами рекомендуется очистить память от предшествующих определений с помощью команды restart. Если какие-то элементы векторов или матриц были ранее определены, это может привести к очень сильным искажениям вида конечных результатов. Очистка памяти устраняет возможность ошибок такого рода.
Приведем примеры операций над векторами (файл vectop):
В этих примерах используется функция evalm(M), осуществляющая вычисление матрицы или вектора М.
6.1.7. Операции над матрицами с численными элементами
Над матрицами с численными элементами в Maple можно выполнять разнообразные операции. Ниже приведены основные из них:
Рекомендуется внимательно изучить эти примеры и попробовать свои силы в реализации простых матричных операций.
6.1.8. Символьные операции с матрицами
Одной из привлекательных возможностей СКА является возможность проведения символьных операций с матрицами. Ниже представлены примеры символьных операций, осуществляемых над квадратными матрицами одного размера в системе Maple: