logo
Самоучитель по Maple

1. Основные определения линейной алгебры Урок 15. Пакеты линейной алгебры и функциональных систем

Основные определения линейной алгебры

Прежде чем перейти к рассмотрению обширных возможностей пакетов Maple 7 по части решения задач линейной алгебры, рассмотрим краткие определения, относящиеся к ней.

Матрица (m х n) — прямоугольная двумерная таблица, содержащая m строк и n столбцов элементов, каждый из которых может быть представлен числом, константой, переменной, символьным или математическим выражением (расширительная трактовка матрицы).

Квадратная матрица — матрица, у которой число строк m равно числу столбцов n. Пример квадратной матрицы размера 3x3:

Сингулярная (вырожденная) матрица — квадратная матрица, у которой детерминант (определитель) равен 0. Такая матрица обычно не упрощается при символьных вычислениях. Линейные уравнения с почти сингулярными матрицами могут давать большие погрешности при решении.

Единичная матрица — это квадратная матрица, у которой диагональные элементы равны 1, а остальные элементы равны 0. Ниже представлена единичная матрица размера 4x4:

Сингулярные значения матрицы А — квадратные корни из собственных значений матрицы АТ=А, где Ат- транспонированная матрица А (см. ее определение ниже);Транспонированная матрица — матрица, у которой .столбцы и строки меняются . местами, то есть элементы транспонированной матрицы удовлетворяют условию AT(i,j)=A(j,i). Приведем простой пример. Исходная матрица:

Транспонированная матрица:

Обратная матрица — это матрица М-1, которая, будучи умноженной на исходную квадратную матрицу М, дает единичную матрицу Е.

Ступенчатая форма матрицы соответствует условиям, когда первый ненулевой элемент в каждой строке есть 1 и первый ненулевой элемент каждой строки появляется справа от первого ненулевого элемента в предыдущей строке, то есть все элементы ниже первого ненулевого в строке — нули.

Диагональ матрицы — расположенные диагонально элементы Ai,i матрицы А. В приведенной ниже матрице элементы диагонали представлены заглавными буквами:

Обычно указанную диагональ называют главной диагональю — для матрицы А, приведенной выше, это диагональ с элементами А, Е и L. Иногда вводят понятия под диагоналей (элементы d и k) и над диагоналей (элементы b и f). Матрица, все элементы которой, расположенные кроме как на диагонали, под диагонали и над диагонали, равны нулю, называется ленточной.

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

След матрицы — сумма диагональных элементов матрицы.

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

где M1<j>— определитель матрицы порядка n - 1, полученной из матрицы А вычеркиванием первой строки и j-гo столбца. В таком виде определитель (он же детерминант) легко получить в символьных вычислениях. В численных расчетах мы будем подразумевать под определителем численное значение этого многочлена.

Матрица в целой степени — квадратная матрица в степени n (n — целое неотрицательное число), определяемая следующим образом:

М° = Е, М1= М, М2= ММ ..., Мnn-1М.

Идемпотентная матрица — матрица, отвечающая условию Р2= Р.

Симметрическая матрица — матрица, отвечающая условию Ат= А.

Кососимметрическая матрица — матрица, отвечающая условию Ат= -A. Ортогональная матрица — матрица, отвечающая условию Ат-1.Нуль-матрица — матрица, все элементы которой равны 0.Блок-матрица — матрица, составленная из меньших по размеру матриц, также можно представить как матрицу, каждый элемент которой — матрица. Частным случаем является блок-диагональная матрица — блок-матрица, элементы-матрицы которой вне диагонали — нуль-матрицы.

Комплексно-сопряженная матрица — матрица А, полученная из исходной матрицы А заменой ее элементов на комплексно-сопряженные. Эрмитова матрица — матрица А, удовлетворяющая условию А = А .Собственный вектор квадратной матрицы А — любой вектор х е V", х* О, удовлетворяющий уравнению Ах = gx, где g — некоторое число, называемое собственным значением матрицы А.

Характеристический многочлен матрицы — определитель разности этой матрицы и единичной матрицы, умноженный на переменную многочлена, — |А - gE|. Собственные значения матрицы — корни ее характеристического многочлена. Норма — обобщенное понятие абсолютной (величины числа. Норма трехмерного вектора ||х|| — его длина. Норма матрицы — значение sup(||Ax||/||x||).

Матричная форма записи системы линейных уравнений — выражение АХ = В, где А — матрица коэффициентов системы, X — вектор неизвестных и В — вектор свободных членов. Один из способов решения такой системы очевиден — X = А-1В, где А-1— обратная матрица.

1.gif

2.gif

3.gif

4.gif

5.gif

6.gif

2. Пакет решения задач линейной алгебры linatg

Пакет решения задач линейной алгебры linalg

Состав пакета linalg

Несомненно, что уникальной возможностью системы Maple 7, как и других систем компьютерной алгебры, является возможность решения задач линейной алгебры в символьном (формульном, аналитическом) виде. Однако такое решение представляет скорее теоретический, чем практический интерес, поскольку даже при небольших размерах матриц (уже при 4-5 строках и столбцах) символьные результаты оказываются очень громоздкими и труднообозримыми. Они полезны только при решении специфических аналитических задач, например с разреженными матрицами, у которых большинство элементов имеют нулевые значения.

Поэтому разработчики Maple 7 были вынуждены реализовать в своей системе численные методы решения задач линейной алгебры, которые широко используются в основных сферах ее приложения — математическом моделировании систем и устройств, расчетах в электротехнике, механике, астрономии и т. д.

В ядро Maple 7, как отмечалось, введены очень скромные и минимально необходимые средства для решения задач линейной алгебры. Основной упор в их реализации сделан на подключаемые пакеты. Основным из них, унаследованным от предшествующих реализаций системы, является пакет решения задач линейной алгебры Unalg. Это один из самых обширных и мощных пакетов в области решения задач линейной алгебры. Он содержит свыше ста функций:

> with(linalg);

Warning, the names fibonacci, inverse and multiply have been redefined Warning, the protected names norm and trace have been redefined and unprotected[BlockDiagonal, GramSchmidt, JordanBlock, LUdecomp, QRdecomp, Wronskian, addcol, addrow, adj, adjoint, angle, augment, backsub, band, basis, bezout, blockmatrix, charmat, charpoly, cholesky, col, coldim, colspace, colspan, companion, concat, cond, copyinto, crossprod, curl, definite, delcols, delrows, det, diag, diverge, dotprod, eigenvals, eigenvalues, eigenvectors, eigenvects, entermatrix, equal, exponential, extend, ffgausselimfifibonacci,forwardsub,frobenius, gausselim, gaussjord, geneqns, genmatrix, grad, hadamard, hermite, hessian, hilbert,htranspose, thermite, indexfunc, innerprod, intbasis, inverse, ismith, issimilar, iszerojacobian, Jordan, kernel, laplacian, leastsqrs, linsolve,matadd, matrix, minor, minpoly, mulcol, /им/row,multiply, norm, normalize, nullspace, orthog, permanent, pivot, potential, randmatrix, randvector, rank, ratform, row, rowdim, rowspace, rowspan, rref, scalarmul, singularvals, smith, stackmatrix, submatrix, subvector, sumbasis, swapcol, swaprow, Sylvester, toeplitz, trace, transpose, vandermonde, vecpotent, vectdim, vector, wronskian]

Ниже указано назначение тех функций пакета linalg, которые подробно не описаны:

Ниже мы рассмотрим более подробно наиболее часто используемые функции из этого пакета. С деталями синтаксиса (достаточно разнообразного) для каждой из указанных функций можно ознакомиться в справочной системе Maple. Для этого достаточно использовать команду

?name; где name — имя функции (из приведенного списка).