Функции для работы с векторами и матрицами
Лекция 5
РЕШЕНИЕ ЗАДАЧ ЛИНЕЙНОЙ АЛГЕБРЫ
Рассмотрим основные определения относящиеся к линейной алгебре.
Матрица ( ) – прямоугольная двумерная таблица, содержащая строк и столбцов элементов, каждый из которых может быть представлен числом, константой, переменной, символьным или математическим выражением.
Квадратная матрица – матрица, у которой число строк равно числу столбцов.
Сингулярная (вырожденная) матрица – квадратная матрица, у которой детерминант (определитель) равен нулю. Линейные уравнения с почти сингулярными матрицами могут давать большие погрешности при решении.
Транспонированная матрица – матрица, у которой столбцы и строки меняются местами, т.е. элементы транспонированной матриц удовлетворяют условию .
Обратная матрица – это матрица , которая, будучи умноженной на исходную матрицу , даёт единичную матрицу .
Ранг матрицы – наибольший из порядков отличных от нуля квадратной матрицы.
Определитель матрицы – это многочлен от элементов квадратной матрицы, каждый элемент которого является произведением элементов, взятых по одному из каждых строк и каждого столбца со знаком произведения, заданным четностью перестановок: , где – определитель матрицы , полученной из матрицы вычёркиванием первой строки и -го столбца. В таком виде определитель легко получить в символьных вычислениях.
Идемпотентная матрица – матрица, отвечающая условию .
|
|
Симметричная матрица – матрица отвечающая условию .
Ортогональная матрица – матрица, отвечающая условию .
Собственные значения матрицы – корни её характеристического многочлена.
Норма – обобщенное понятие абсолютной величины числа.
Норма трёхмерного вектора – его длина.
Норма матрицы – значение .
Пакет решения задач линейной алгебры (linalg)
Maple предоставляет возможность решения задач линейной алгебры в символьном виде. Для интерактивного ввода матриц можно, определив размерность некоторого массива, использовать функцию entermatrix.
> restart;
> with(linalg):
> A:=array(1..3,1..3):
> entermatrix(A):
После ввода этих команд на экране появится окно с предложением для ввода элемента 1,1 – 400; затем появляется окно с предложением о вводе элемента 1,2 и т.д. После набора команды
> A:=(%);
на экране получим
Основные функции для задания векторов и матриц
В библиотечном файле linalg имеются следующие функции для задания векторов и матриц:
§ vector(n,list) – создание вектора с элементами в списке list;
§ matrix(m,n,list) – создание матрицы с числом строк и столбцов с элементами, заданными списком list.
Например:
> V:=vector(3,[12,34,56]);
> M:=matrix(2,3,[1,2,3,4]);
|
|
Функции для работы с векторами и матрицами
Для работы с векторами и матрицами имеется множество функций, входящих в пакет linalg.
Операции со структурой отдельного вектора и матрицы :
§ coldim(M) – возвращает число столбцов матрицы ;
§ rowdim(M) – возвращает число строк матрицы ;
§ vecdim(V) – возвращает размерность вектора ;
§ col(M,i) – возвращает -й столбец матрицы ;
§ row(M,,j) – возвращает -ю строку матрицы ;
§ minor(M,i,j) – возвращает минор матрицы для элемента с индексами и ;
§ delcols(M,i..j) – удоляет столбцы матрицы от -го до -го;
§ delrows(V,i..j) – удоляет строки матрицы от -й до -й;
§ extend(M,m,n,x) – расширяет матрицу на строк и столбцов с применением заполнителя .
Основные векторные и матричные операции:
§ dotprod(U,V) – возвращает скалярное произведение векторов и ;
§ crossprod(U,V) – возвращает векторное произведение векторов и ;
§ norm(V) или norm(M) – возвращает норму вектора и матрицы;
§ copyinto(A,B,i,j) – копирует матрицу в для элементов последовательно от до ;
§ concat(M1,M2) – возвращает объединённую матрицу с горизонтальным слиянием матриц и ;
§ stack(M1,M2) – возвращает объединённую матрицу с вертикальным слиянием матриц и ;
§ matadd(A,B) и evalm(A+B) – возвращает сумму матриц и
|
|
§ multiply(A,B) и evalm(A*B) – возвращает произведение матриц и
§ adjoint(M) или adj(M) – возвращает присоединённую матрицу, такую что даёт диагональную матрицу, определитель которой есть
§ charpoly(M,lambda) – возвращает характеристический полином матрицы относительно заданной переменной lambda;
§ det(M) – возвращает детерминант (определитель) матрицы ;
§ Eigenvals(M,vector) – инертная форма функции, возвращающей собственные значения матрицы и (при указании необязательного параметра vector) соответствующие им собственные векторы)
§ jordan(M) – возвращает матрицу в форме Жордана;
§ transpose(M) – возвращает транспонированную матрицу ;
§ inverse(M) или evalm(1/M) – возвращает матрицу, обратную к ;
§ singularvals(A) – возвращает сингулярные значения массива или матрицы .
Дата добавления: 2020-11-27; просмотров: 69; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!