Матросов А.В. Maple 6. Решение задач высшей математики и механики (1185909), страница 31
Текст из файла (страница 31)
> А:=нагггх(2,2,1(; > с(е1со1а(А,1..1(с > А1:=ехгеос((А,1„0,-1( Большая группа команд позволяет выделять из матрицы подструктуры: столбцы, строки, подматрицы и.миноры. Для выделения строки с заданным НОМЕРОМ СЛЕдуст ПрИМЕНятъ КОМамду гесс(й,а(, а ЧтОбЫ ПОЛуЧИтЬ'НужНЫй СтОЛбЕц МОЖНО ИСПОЛЬЗОВатЬ КОМаиду,со1И, 11; ЗДЕСЬ й — МатрИца, а Пара- Час)ь 1 О новы Мер[а метры 1 и 3 являются номерами соответственно выделяемой строки или столбца. Формирование подматрицы, состоящей из элементов столбцов с номерами от 11 до 12 и строк с номерами от 11 до 32, осуществляется командой ао)шах ахш,ш..12, 11..12). Сушествует аналогичная команда для выделения вектора, состоящего из элементов с номерами от 11 до 12 исходного вектора, — ао)> аопоп( ао,11..12).
Матрица минора элемента с индек- СаМИ (1,1) ПОЛУЧаЕтСЯ КОМаНДОй пасох(А,1,3). НаПОМНИМ, ЧтО МИНОР ПОЛУ- чается из исходной матрицы вычеркиванием 1-й строки и 3-го столбца. Отметим, что все перечисленные команды не изменяют структуру исходной матрицы, а только выделяют из нее соответствуюшие подструктуры. Примеры использования этих команд приведены ниже.
> А: чпаПпгх (4, 3, [1, 1, -1, 1, 1,-1, 1, 1,-1, -1,-1,-1)); 1 1 -1 1 1 -1 1 ! -1 -1 -1 -1 > пои(А,4) > А1:=ао)хпаго1х(А,2..3,2..3)) > А2:=по.поп(А, 3,2) ' А2:= 1 -1 Пакет 11па1о содержит ряд команд, предназначенных для выполнения линейных преобразований над строками и столбцами исходной матрицы. Команда аыоо1(А,11,32,ахр.) создает новую матрицу из матрицы А путем прибавления к столбцу номер 11 столбца с номером 12, умноженного на значение параметра ахрп. Команда для выполнения аналогичных действий над сгроками матрицы имеет следуюший синтаксис: аси-ох(А,11,1г,ахрп). Умножить столбец с номером 3 на значение выражения ахрп можно команДОй по1со1(А, 3, ехрп), а тО жс СаМОЕ ДЕЙСТВИЕ ДЛЯ СТРОКИ НОМЕР 1 ВЫПОЛНЯЕТСЯ КОМаНДОЙ пыгпох(А,1, ахрп). ДЛЯ ПЕрЕСтаНОВКИ МЕСтаМИ ДВУХ СТРОК ИЛИ двух столбцов матрицы А следует обратиться соответственно к командам ачарпо~(А,11,12) ИЛИ чарсо1(А,З1,12). Этн КОМаыдЫ ПОЛЕЗНЫ ПрИ ПрИВЕдЕ- нии матрицы к треугольному виду или вычислении ее определителя разложением по строкам или столбцам.
Глава 3. Пакеты КОМаНДЫ ПаКЕта 11са19 ПРЕДОСтаВЛЯЮт ВОЗМОжНОСтъ ВЫПОЛНЕНИЯ ОСНОВНЫХ матричных и векторных операций: перемножение матриц, умножение матрицы иа вектор, вычисление транспонированной и обратной матриц, а также вычисление определителя квадратной матрицы. Сложение двух матриц осуществляется двумя способами: командой зсс() и командой егер().
Отметим, что команда егз~т() служит для вычисления матрицы или вектора на уровне их элементов и используется для вычисления любых возможных действий над матрицами, заданными операторами сложения (+), вычитания (-), умножения (г*), деления (2) и возведения в степень (").
Обратим внимание, что для выполнения некоммутативного умножения матриц используется операция умножения со знаком г*, а не знаком коммутативного умножения * чисел. Итак, сложить две матрицы одинаковой размерности можно либо командой стз1в(А+В), ЛИбо командой ас)с(А,В). Последнюю команду можно использовать лля вычисления линейной комбинации двух матриц со скалярными множителями — ас(с(А, В, зса1аг1, зса1аг2) . В этом случае результатом будет матрица, вычисляемая по следующей фор- МУЛЕ: зса1аг1*А+зса1аг2*В.
Умножение матрицы на матрицу (или вектор) выполняется командой гс1Г1р1у(А,В) ИЛИ егз1г (Аг*В). При этом, естественно, размерности матриц- сомножителей должны быть таковыми, чтобы соответствующие операции существовали. ВОЗВЕСТИ КВадратНуЮ МатрИцу В СТЕПЕНЬ п МОЖНО КОМаНдОй сге1г (А"с). ДЛя вычисления обратной матрицы к заданной можно воспользоваться либо комаидой 1сгегзе(А), либо командой сгз1в(ии).
Транспонированная матрИца ВЫЧИСЛяЕтСя С ПОМОШЬЮ ОбраШЕНИя К КОМаНдЕ Ггзсзрсзс(А). ОПрЕдЕ- литель и ранг матрицы можно получить, обратившись к командам с)ег (А) и гзск (А), СООтВЕтСтВЕННО. Одной из важных характеристик квадратных матриц являются собственные числа и соответствующие им собственные векторы. Для вычисления собственных чисел и векторов числовой квадратной матрицы можно воспользоваться отложенной командой кгчесга1з(А,Ч) основной библиотеки Мар)е. В ней первый параметр представляет собой матрицу, для которой вычисляются собственные числа, а второй необязательный параметр является матрицей, столбцы которой содержат собственные векторы, соответствующие собственным числам.
Для получения результата применения этой отложенной команды следует использовать команду ета1Г(). Пример вычисления с ее помощью собственных чисел и собственных векторов представлен ниже. > А.'=щаеггх(3,3, ( 1, 2, 3, -1,-2, 3, О, 2, 9]); Часть!. Основы МаРЬ О 2 > еча1Г(вьдепча1а(А,Ч[! [-1.905615188,.6683267973, 9.422305214 ! > еча(та(ч!т с .955495034 -.5719289135 .4022344932 -.2869586740 !.203!462!8 .22283329!6 .06843945323 -.2174334239 .9847493465 Для получения собственных чисел и векторов символьных матриц следует соответственно использовать команды етдесча1а (А! и етде чесса (Ак Результатом выполнения первой команды будет массив, содержащий собственные числа матрицы, а результатом второй команды будет массив строк, элементами которых являются собственное число, его кратность и соответствующий собственному числу собственный вектор.
> А:тьаСт1х(2,2, [ О, 1, а, (т[( > ездеача1а(А) — Ь+ — /Ь'+4 а,— Ь вЂ” — ~/Р+4 а 2 2 2 '2 2 > етдеачесса(А); — — 2 2 — Ь вЂ” — /Ьт+4 а, 1, В ПаКЕтЕ ЕСТЬ СПЕЦИаЛЬНаЯ КОМаНДа 1 вас1че И РЕШЕНИЯ СИСТЕМЫ ЛИНЕИНЫХ алгебраических уравнений. Эта команда решает матричное уравнение Ах-ь. ' Матрица А и вектор ь передаются ей в качестве параметров: 11аа19(А, (>, 'х', ч); Размерность вектора ь должна равняться числу строк матрицы А.
НеизвестНая ПЕрЕМЕННая х, ЕСЛИ Задама, СОдЕржИт ПОСЛЕ рЕШЕНИя раНГ МатрИцЫ А. Если ранг матрицы А меньше количества неизвестных, определяемых коли- Глава 3. Пакеты честном столбцов матрицы А, то решение представляется в параметрической форме. Если задан необязательный четвертый параметр т, представляющий ИМя, тО ПараМЕтрЫ ЗадаЮтСя В ВИДЕ т[1], о[2), ..., ИНаЧЕ ИСПОЛЬЗуЕтСя имя по умолчанию, равное символу [с]. Результатом выполнения команды будет вектор, в случае существования решения, и пустая последовательность — в противном случае.
Эта команда может решать и матричное уравнение вида Ах=в, в котором количество строк матрицы в равняется количеству строк матрицы А, количество столбцов матрицы в равняется количеству столбцов матрицы неизвестных х, а число строк матрицы х равняется числу столбцов матрицы А. В этом случае, по существу, решается последовательность уравнений со1(Х, Ы=со1(В,1), ГдЕ т ПрОбЕГаЕт ЗНаЧЕНИя От 1 дО КОЛИЧЕСтВа СтОЛбцОВ матрицы в.
Результатом будет матрица, столбцы которой являются решением соответствующей линейной системы из указанной последовательности систем уравнений. Если решения не существует, то результатом будет пустая последовательность. ф„'З[~[~ф!фунай,,4й[['4ф~~~~~~ > А:= патггх( [[1,2], [1,3]1): > Ь:=- ъессог( [1, -2) ); > 11пао1пе(А, Ь)' [7, -3) > В:= патггх( [[1,1), [-2,1]]): > 11сао1пе(А, В); > А:= патпзх( [[5,7], [0,0]]): > Ь:= пассос( [3,0) ) ." > 11лао1па(А, Ъ, > г; $ Ранг матрицы А > 11оао1че(А, Ь, 'г', раг); ) 3 7 — — — раг, раг 5 5 ' '[ Рекомендуется для ускорения расчетов при решении систем линейных алгебраических уравнений использовать команду 11пао1те () из пакета 11на1о, так как для систем линейных уравнений больших размеров зта команда выполняется быстрее, чем универсальная команда ао1 е (), Часть (. Основы )йар(е ПаКЕт 11па1о СОдЕржИт бОЛЕЕ Ста ПОЛЕЗНЫХ КОМаНд ВЫПОЛНЕНИЯ МатрИЧНЫХ операций, а также структурных преобразований матриц.
Перечень всех доступных команд можно найти на странице справки, отображаемой командой т11па1д. 3.2.2. Пакет 1.иуеагА!деЬга Все команды пакета ь пеатА1оеьта можно вызывать непосредственно по имени, предварительно подключив все его команды функцией > игьп (щпеагА1деьта) г или отдельную команду с использованием синтаксиса > иъгп(ьгпеагА1оеЬта, имя команды)) Можно вызывать команду, предварительно не подключая ее, а используя длинное имя > ьъпеагА1оеЬга(имя команды)(параметры)' > ЪъпеагА1чеЬта('имя команды')(параметры) Последняя форма (имя команды, заключенное в одинарные кавычки), вызывает соответствующую команду пакета, даже если в текущем сеансе используется какой-либо объект с таким же именем.
Пакет ъгпеагА1оеьта реализован в виде модуля, новой языковой конструкции Мар)е, реализующей элементы объектно-ориентированного программирования. Каждая команда является методом объекта 11оеагА1оеьта, а поэтому ее можно вызывать, используя специальную операцию: — обращения к методу объекта: > ЪьпеатА1деЬга:-имя команды(параметры) В этом случае вызываемая команда также будет загружена, не конфликтуя с объектом другого типа, созданным в текущем сеансе.
Замечание Создание и работа с объектами, реализуемыми в Мар(е е виде модулей, рассматривается в гл. 5. Ограниченный объем книги не позволяют нам а полной мерв описать возможности пакета ъъдеа .А1оеьга, поэтому настоятельно рекомендуем обратиться к странице Справки по этому пакету, которую можно отобразить командой тълотектгеи. На ней расположены ссылки на другие страницы, подробно описывающие работу и программирование пакета ьгдеасА1деьса, включая рабочие листы с примерами использования подгрограмм пакета МАО. 1б9 Глава 3.
Пакеты 3.2.2.1. Основные типы данных Семантика параметров и их допустимые значения представлены в табл. 3.2. Таблица 3.а Параметры конструктора матриц Параметр Описание Неотрицательное целое или диапазон целых чисел, начинающийся с 1 Представляет количество строк в матрице Неотрицательное целое или диапазон целых чисел, начинающийся с 1. Представляет количество столбцов в матрице Задает значения элементов матрицы.