Функции для работы с векторами и матрицами



Лекция 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; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!