Дьяконов В.П. Maple 9.5 и 10 в математике, физике и образовании (1185901), страница 56
Текст из файла (страница 56)
Основные операции линейной алгебры Приведем еще ряд примеров выполнения символьных операций с одной матрицей: > еча1в(М1" 2) 1 с а11 +Ыс1 а1Ы+ЫН~ с)а1+Нс) Ис1+Н1 ~ > еча1в(а1п(и1) ) с а[в(а1) гйп(Ы) ~[ апз(с1) а[п(Н)~ > еча 1в (М1* м ) 2а1 2И > еча1в(И1/а) 1 а1 Ы с1 Н > еча1в(М1+м) с1 Н+2 > еча1в(М1-м) ~ »-»»» Среди других функций для работы с матрицами полезно обратить внимание на функцию гпар, которая применяет заданную операцию (например, функции дифференцирования (1[[( и интегрирования гп() к каждому элементу матрицы. Примеры такого рода даны ниже: > М1=агсаУ(1.
2,1..2, [[х,х"2], [х"З,х"4]])1 > вар(с$1ГГ,М, м) 1 > вар (1пс, %, х) Ь.') > вар(а1п,и) с $1П(Х) 5[П(Х )~[ а1п(х ) $1п(х )1 394 Глава б. Ревенае задач линейной алгебры, оптимизации и регрессии В результате возвращаются матрицы, каждый элемент которых представлен производной или интегралом. Аналогично можно выполнять над матрицами и другие достаточно сложные преобразования. В дальнейшем мы продолжим изучение матричных функций и операций, включенных в пакеты Мар)е.
6.2. Пакет линейной алгебры 1!па19 системы 6.2.1. Состав пакета !!пв!д Несомненно, что уникальной возможностью системы Мар!е, как и других систем компьютерной алгебры, является возможность решения задач линейной алгебры в символьном (формульном, аналитическом) виде. Однако такое решение представляет скорее теоретический, чем практический интерес, поскольку даже при небольших размерах матриц (уже при 4 — 5 строках и столбцах) символьные результаты оказываются очень громоздкими и трудно обозримыми. Они полезны только при решении специфических аналитических задач, например с разреженными матрицами, у которых большинство элементов имеют нулевые значения.
Поэтому разработчики Мар!е были вынуждены реализовать в своей системе численные методы решения задач линейной алгебры, которые широко используются в основных сферах ее приложения — математическом моделировании систем и устройств, расчетах в электротехнике, механике, астрономии и т. д. Решение задач линейной алгебры в численном виде можно рассматривать как одну из форм визуализации результатов вычислений, относящихся к линейной алгебре. В ядро Мар!е, как отмечалось, введены очень скромные и минимально необходимые средства для решения задач линейной алгебры.
Основной упор в их реализации сделан на подключаемые пакеты. Основным из них, унаследованным от предшествующих реализаций системы, является пакет решения задач линейной алгебры йпа1д. Это один из самых обширных и мощных пакетов в области решения задач линейной алгебры. Для их просмотра достаточно использовать команду: > изгь[1ьпа1в); Для большинства пользователей системой Мар1е набор функций пакета оказывается чрезмерно обширным и потому опущен. Укажем, однако, наиболее употребительные функции пакета !!па!я: ° аг)г)со1 — добавляет к одному из столбцов другой столбец, умноженный на некоторое число; ° аг)0гоьч — добавляет к одной из строк другую строку, умноженную на некоторое число; ° апд1е — вычисляет угол между векторами; ° ацдтепг — объединяет две или больше матриц по горизонтали; ° ЬасквцЬ вЂ” реализует метод обратной подстановки при решении системы линейных уравнений (см.
также (опчагс вцЬ); ° Ьапг) — создает ленточную матрицу; ° Ьав1в — находит базис векторного пространства; ° Ьехоц! — создает Веюцг-матрицу двух полиномов; ° В(оск01адопа! — создает блок-диагональную матрицу; ° Ь!осипа!пх — создает блок-матрицу; 6.2. Пакет линейной алгебры Ина!д сиса!емы ЗР5 ° спо)евКу — декомпозиция Ходесского для квадратной положительно определенной матрицы; ° сйаппа1 — создает характеристическую матрицу (сЬаппа1(М,ч) матрица, вычисляемая как ч Е-М); ° спагро1у — возвращает характеристический полином матрицы; ° со)врасе — вычисляет базис пространства столбцов; ° со)арап — находит базис линейной оболочки столбцов матрицы; ° соп!рап1оп — вычисляет сопровождающую матрицу, ассоциированную с полиномом; ° сопб — вычисляет число обусловленности матрицы (сопб(М) есть величина поггп(М).погпч(М ')); ° сцб — вычисляет ротор вектора; ° бебпйе — тест на положительную (отрицательную) определенность матрицы; ° 6!ад — создает блок-'диагональную матрицу; ° 6!чегде — вычисляет дивергенцию векторной функции; ° е!депча1в — вычисляет собственные значения матрицы: ° е!депчес1в — вычисляет собственные векторы матрицы; ° едца! — определяет, являются ли две матрицы равными; ° ехропепйа! — создает экспоненциальную матрицу; ° Г(дацвве11гп — свободное от дробей Гауссово исключение в матрице; ° бЬопасс! — матрица Фибоначчи; ° ГопнагбвцЬ вЂ” реализует метод прямой подстановки при решении системы линейных уравнений (например для матрицы 1.
и вектора Ь ГопчагбвцЬ(!.,Ь) возвращает вектор решения х системы линейных уравнений 1,.х=Ь); ° ГгоЬепгцв — вычисляет форму Фробениуса (ЕгоЬеп!цз) матрицы; ° дацвве!!гп — Гауссово исключение в матрице; ° дацвв)огб — синоним лля пе1 (метод исключения Гаусса — Жордана); ° деперпв — генерирует элементы матрицы из уравнений; ° депгпа(пх — генерирует матрицу из коэффициентов уравнений; ° дгаб — градиент векторного выражения; ° ОгапзЗсЬгп161 — вычисляет ортогональные векторы; ° паба!пагб — вычисляет ограничение на коэффициенты детерминанта; ° Ьевв)ап — вычисляет гессиан-матрицу выражения; ° Ь!1Ьег1 — создает матрицу Гильберта; ° Ь(гапврове — находит эрмитову транспонированную матрицу; ° 1пеггп!1е — целочисленная эрмитова нормальная форма; ° !пбех(цпс — определяет функцию индексации массива; ° 1ппегргоб — вычисляет векторное произведение; ° !п1Ьав!в — определяет базис пересечения пространств; ° !вгп11Ь вЂ” целочисленная нормальная форма Шмитга; ° 1вхего — проверяет является ли матрица ноль-матрицей; ° !асоЬ!ап — вычисляет якобиан векторной функции; ° .)огбапВ1оск — возвращает блок-матрицу Жордана; ° 'кегпе! — находит базис ядра преобразования, соответствующего данной матрице; ° 1ар1ас!ап — вычисляет лапласиан; ° !еав(вдгв — решение уравнений по методу наименьших квадратов; ° 11пво)че — решение линейных уравнений; 396 Глава 6.
Решение задач линейной алгебры, оптимизации и регрессии ° ~цг)есоп)р — осуществляет [.()-разложение; ° гп1про1у — вычисляет минимальный полином матрицы; ° п)ц1со) — умножает столбец матрицы на заданное выражение; ° )пц!гочч — умножает строку матрицы на заданное выражение; ° п)ц)!)р1у — перемножение матриц или матрицы и вектора; ° погп)а11ае — нормализация вектора; ° огФод — тест на ортогональность матрицы; ° реппапеп! — вычисляет перманент матрицы — определитель, вычисляемый без перестановок; ° р)чо! — вращение относительно элементов матрицы; ° ро(епйа! — вычисляет потенциал векторного поля; ° Огс)есо)пр — осуществляет ()К-разложение; ° гапг))па!пх — генерирует случайные матрицы; ° гапг)чес(ог — генерирует случайные векторы; ° га((опп — вычисляет рациональную каноническую форму; ° ге(егепсеа — выводит список основополагающих работ по линейной алгебре; ° гошарасе — вычисляет базис пространства строки; ° гошарап — вычисляет векторы охвата для места столбца; ° гге! — реализует преобразование Гаусса-Жордана матрицы; ° аса!агп)ц! — умножение матрицы или вектора на заданное выражение; ° а)пдча! — вычисляет сингулярное значение квадратной матрицы; ° а)пдц1агча1а — возвращает список сингулярных значений квадратной матрицы; ° вп)1!Ь вЂ” вычисляет Шмиттову нормальную форму матрицы; ° аоЬ)па!пх — извлекает указанную подматрицу из матрицы; ° ацЬчес!ог — извлекает указанный вектор из матрицы; ° ацгпЬаа)а — определяет базис объединения системы векторов; ° ашарсо) — меняет местами два столбца в матрице; ° а)нарп)чч — меняет местами две строки в матрице; ° ау!чеа!ег — создает матрицу Сильвестра из двух полиномов; ° 1оер11!г — создает матрицу Теплица; ° !гасе — возвращает след матрицы; ° чапг)егп)оп!)е — создает вандермондову матрицу; ° чесро1еп1 — вычисляет векторный потенциал: ° чесЫвп — определяет размерность вектора; ° ччгопак)ап — вронскиан векторных функций.
Назначение многих функция вполне очевидно из названия. Далее мы рассмотрим более подробно некоторые функции из этого пакета. С деталями синтаксиса (достаточно разнообразного) для каждой из указанных функций можно ознакомиться в справочной системе Мар!е. Для этого достаточно использовать команду?пап)е;, где пате — имя функции (из приведенного списка). 6.2.2. Интерактивный Ввод матриц Для интерактивного ввода матриц можно, определив размерность некоторого массива, использовать функцию еп(еппа(пх: > с й:=аггау11..3,1..3); А:= аггау(1.. 3, 1..3, [ [) 397 б.2.
Пакет линейной алгебры Ииа!К системы После исполнения этого фрагмента документа диалог с пользователем имеет следующий вид: 5 6] > в:=(%) 1 2 3 4 5 6 7 8 9 > в[1,1]ю > В[2,2] Р > В[3,3] г 6.2.3. Основные функции для задания векторов и матриц В библиотечном файле ]]па[у имеются следующие функции для задания векторов и матриц: ° чес]ог(п,]151) — создание вектора с и элементами, заданными в списке 1]в]; ° п)а]пх(п,п),1]в1) — создание матрицы с числом строк п и столбцов п) с элементами, заданными списком [га. Ниже показано применение этих функций (файл 1]па[аор): > ч: ечесгог (3, [12, 34, 56] ); У:= (12, 34, 5б) > Н:= есг (2, З, [1,2, 3,4]) ( [4 М,з М,>] > ч[2); 34 > епгегваггсх(й); епсег е1евепГ 1,1 епгег е1евепг 1,2 епсег е1евепГ 1,3 епсег е1евепс 2,1 епгег е1евепг 2,2 епгег е1евепг 2,3 епсег е1евепс 3,1 епгег е1евепг 3,2 епгег е1евепг 3,3 > 1; > 2," > Зс > 4; > 5; > б; > 7; > 8; > 9( 398 Глава б.