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

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

Жанры

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) — удаляет

столбцы матрицы М от 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):

> M:=matrix(2,2, [a,b,с,d]);

> transpose(M);

> inverse(M);

> det(M);

ad - bc

> rank(M);

2

> trace(M);

a + d

> M:=matrix(2,2,[1,2,3,4]);

> ev:=evalf(Eigenvals(M,V));

ev := [-.372281323, 5.372281323]

> eval(V);

> charpoly(M,p);

p² - 5p - 2

> jordan(M);

> A:= array([[1,0,1],[1,0,1],[0,1,0]]);

> singularvals(А);

[0, 2, 1]

В

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

6.2.5. Решение систем линейных уравнений

Одной из самых распространенных задач линейной алгебры является решение систем линейных уравнений. Ниже представлен простой пример составления и решения трех систем линейных уравнений с применением функций, входящих в пакет linalg (файл sle):

> with(linalg):

> C:=matrix(3,3,[[4,8,2],[6,2,3],[3,7,11]]);

> B:=matrix(3,1, [5,6,1]);

> A:=evalm(C);

> A1 :=copyinto(В, С, 1, 1);

> C:=evalm(A):А2:=copyinto(В,С,1,2);

> C:=evalm(A):A3:=copyinto(В,С,1,3);

> x1:=det(A1)/det(А);

> x2:=det(A2)/det(A);

> x3:=det(A3)/det(a);

А теперь рассмотрим пример решения матричного уравнения в символьном виде:

> A:=matrix(2,2,[a,b,с,d]);

> В:=vector(2, [с,d]);

В := [с, d]

> X:=linsolve(А,В);

Следующий пример показывает решение более сложной системы линейных уравнений с комплексными коэффициентами:

> А:=matrix(2,2,[[10+200*1,-200*1],[-200*1,170*1]]);

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

Лолита

Набоков Владимир Владимирович
Проза:
классическая проза
современная проза
8.05
рейтинг книги
Лолита

Я подарю тебе ребёнка

Малиновская Маша
Любовные романы:
современные любовные романы
6.25
рейтинг книги
Я подарю тебе ребёнка

Убивать чтобы жить 3

Бор Жорж
3. УЧЖ
Фантастика:
героическая фантастика
боевая фантастика
рпг
5.00
рейтинг книги
Убивать чтобы жить 3

Небо для Беса

Рам Янка
3. Самбисты
Любовные романы:
современные любовные романы
5.25
рейтинг книги
Небо для Беса

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

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

Печать мастера

Лисина Александра
6. Гибрид
Фантастика:
попаданцы
технофэнтези
аниме
фэнтези
6.00
рейтинг книги
Печать мастера

Идеальный мир для Лекаря 19

Сапфир Олег
19. Лекарь
Фантастика:
юмористическое фэнтези
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 19

Калибр Личности 1

Голд Джон
1. Калибр Личности
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Калибр Личности 1

Идеальный мир для Лекаря 2

Сапфир Олег
2. Лекарь
Фантастика:
юмористическая фантастика
попаданцы
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 2

Волчья воля, или Выбор наследника короны

Шёпот Светлана
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Волчья воля, или Выбор наследника короны

Вечный. Книга I

Рокотов Алексей
1. Вечный
Фантастика:
боевая фантастика
попаданцы
рпг
5.00
рейтинг книги
Вечный. Книга I

Спасение 6-го

Уолш Хлоя
3. Парни из школы Томмен
Любовные романы:
современные любовные романы
эро литература
5.00
рейтинг книги
Спасение 6-го

Ротмистр Гордеев

Дашко Дмитрий Николаевич
1. Ротмистр Гордеев
Фантастика:
фэнтези
попаданцы
альтернативная история
5.00
рейтинг книги
Ротмистр Гордеев

Нечто чудесное

Макнот Джудит
2. Романтическая серия
Любовные романы:
исторические любовные романы
9.43
рейтинг книги
Нечто чудесное