Чтение онлайн

на главную - закладки

Жанры

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 используется для контроля типов множественных объектов (векторов и матриц):

> М1:=[1,2,3,4];

M1 := [1, 2, 3, 4]

> type(M1,vector);

false

> V:=convert(M1,vector);

V := [1, 2, 3, 4]

> type(V,vector);

true

> М2:=[[1,2],[3,4]];

М2 := [[1,2], [3, 4]]

> type(М2,matrix);

false

> M:=convert(M2,matrix);

> type(M,matrix);

true

Таким образом, используя функцию преобразования данных convert, можно преобразовывать одномерные списки в векторы, а двумерные — в матрицы. Функция type используется в следующих формах:

type(V,vector) — тестирует аргумент V и возвращает true, если V — вектор, и false в ином случае;

type(M.matrix) — тестирует аргумент М и возвращает true, если М — матрица, и false в ином случае.

Здесь параметры vector и matrix используются для указания того, какой тип объекта проверяется. Обратите внимание на то, что матрицы отображаются иначе, чем двумерные списки — без двойных квадратных скобок. Отображение вектора подобно отображению одномерного списка, поэтому здесь особенно важен контроль типов данных.

6.1.6. Операции с векторами

Важное достоинство систем компьютерной алгебры, к которым относится и Maple, заключается в возможности выполнения аналитических (символьных) операций над векторами и матрицами. Перед проведением символьных операций с векторами и матрицами рекомендуется очистить память от предшествующих определений с помощью команды restart. Если какие-то элементы векторов или матриц были ранее определены, это может привести к очень сильным искажениям вида конечных результатов. Очистка памяти устраняет возможность ошибок такого рода.

Приведем примеры операций над векторами (файл vectop):

> V:=array(1..4,[1,2,3,4]);

V:= [1, 2, 3, 4]

> [V[1], V[2], V[4]];

[1, 2, 4]

> V[1]:=a: V[3]:=b:

> evalm(V);

[a, 2, b, 4]

> evalm(V+2);

[a + 2, 4, b + 2, 6]

> evalm(2*V);

[2 a, 4, 2 b, 8]

> evalm(V**V);

[a, 2, b, 4]V

> evalm(a*V);

[a², 2 a, a b, 4 a]

В этих примерах используется функция evalm(M), осуществляющая вычисление матрицы или вектора М.

6.1.7. Операции над матрицами с численными элементами

Над матрицами с численными элементами в Maple можно выполнять разнообразные операции. Ниже приведены основные из них:

> М:=array(1..2,1..2,[[1,2],[3,4]]);

> evalm(2*М);

> evalm(2+М);

> evalm(M^2);

> evalm(М^(-1));

> evalm(М-М);

0

> evalm(М+М);

> evalm(М*М);

> evalm(M/M);

1

> evalm(M^0);

1

Рекомендуется внимательно изучить эти примеры и попробовать свои силы в реализации простых матричных операций.

6.1.8. Символьные операции с матрицами

Одной из привлекательных возможностей СКА является возможность проведения символьных операций с матрицами. Ниже представлены примеры символьных операций, осуществляемых над квадратными матрицами одного размера в системе Maple:

Поделиться:
Популярные книги

Лорд Системы 13

Токсик Саша
13. Лорд Системы
Фантастика:
фэнтези
попаданцы
рпг
5.00
рейтинг книги
Лорд Системы 13

Сама себе хозяйка

Красовская Марианна
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Сама себе хозяйка

Запретный Мир

Каменистый Артем
1. Запретный Мир
Фантастика:
фэнтези
героическая фантастика
8.94
рейтинг книги
Запретный Мир

Измена. Верни мне мою жизнь

Томченко Анна
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Измена. Верни мне мою жизнь

Наследник

Шимохин Дмитрий
1. Старицкий
Приключения:
исторические приключения
5.00
рейтинг книги
Наследник

Великий князь

Кулаков Алексей Иванович
2. Рюрикова кровь
Фантастика:
альтернативная история
8.47
рейтинг книги
Великий князь

Усадьба леди Анны

Ром Полина
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Усадьба леди Анны

Черный Маг Императора 4

Герда Александр
4. Черный маг императора
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Черный Маг Императора 4

Авиатор: назад в СССР

Дорин Михаил
1. Авиатор
Фантастика:
попаданцы
альтернативная история
5.25
рейтинг книги
Авиатор: назад в СССР

Неудержимый. Книга XV

Боярский Андрей
15. Неудержимый
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Неудержимый. Книга XV

Император поневоле

Распопов Дмитрий Викторович
6. Фараон
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Император поневоле

Черный маг императора

Герда Александр
1. Черный маг императора
Фантастика:
юмористическая фантастика
попаданцы
аниме
5.00
рейтинг книги
Черный маг императора

Назад в СССР: 1985 Книга 4

Гаусс Максим
4. Спасти ЧАЭС
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Назад в СССР: 1985 Книга 4

Сердце Дракона. Том 9

Клеванский Кирилл Сергеевич
9. Сердце дракона
Фантастика:
фэнтези
героическая фантастика
боевая фантастика
7.69
рейтинг книги
Сердце Дракона. Том 9