Говорухин В., Цибулин Б. Компьютер в математическом исследовании (1185927), страница 25
Текст из файла (страница 25)
Приведем пример выделения подматрпцы: > ячпиатг!х(6,7..3.35.4),' А теперь выделим минор матрицы: > И!пог(А1,3.3): Опишем некоторые команды пакета Ипа(д, позволяющие оперировать со строками и столбцами матрицы. Так, команда а((((со1 (М. 11,! 2, ехрг ) формирует новую матрицу, получаемую из матрицы М прибавлением к столбцу с номером 12 столбца с номером 11, умноженного на выражение ехрг, Аналогичная команда для строк имеет вид: аз!(гон(М. 11, 12.
ехрг). Для умножения столбца или строки матрицы М с номером 1 на выражение ехрг применяются соответственно команды я)з1 со1 (М.1. ехрг) и (яо1- гои(М,1, ехрг). Чтобы переставить местами строки матрицы М с номерами )1 и 12, нужно выполнить команду зиаргои(М, г1, г2), а для перестановки столбцов используется команда варсо1(А, с1, с2). Основные матричные и векторные операции Перейдем к командам, которые реализуют основные векторные и матричные операции. Начнем с самых простых и часто необходимых операций линейной алгебры — действий с самими матрицами и векторами. Вначале рассмотрим команды пакета Ипа(д, а затем их аналоги из пакета ПпеагА(деЬга.
Для выполнения арифметических операций сложения, вычитания и умножения удобно использовать, команду еча)в, кроме того, есть команды для отдельных операций. Сложение двух матриц (векторов) А и В одинаковой размерности с помощью этой команды выглядит следующим образом: еча1(я(А+В). Умножить матрицу А на матрицу (вектор) В можно двумя способами: пи)С1р1у(А, В) или еча1п!(М*В). Проиллюстрируем сказанное примерами: > еча16(С+С); в+а с+г! ! 1-а 2 3+г,, сз У аз 132 Глава 5.
Алгебра в Мар1е > аи)сэр1у(С.и); [аи,+Ьи +си,и,+2и +3 и,хи,+уи + и 1 Возведение матрицы М в степень и осуществляется командой еиа)а(М"и) . Обратную матрицу к матрице М можно вычислить также двумя способами: 1пчегзе(М) или еуа1в(1/М). Транспонировать матрицу М можно при помощи команды 1гзпзрозе(М). Вычислить эрмитову транспонированную матрицу можно командой Ь[гзпзрозе(А). Для вычисления сопряженной матрицы используется команда а()) о)п1 (М), у которой есть короткая форма записи ао) (М).
Приведем несколько примеров: > асбо!п((С). с 2г-Зу -Ьх+су ЗЬ-2с — с+Зх ах ††За у — 2х -ау+Ьх 2а — Ь > 1гапэрозе(Е) 0 -а -с э,э а О -Ь' Вычислить определитель матрицы М можно командой бе[(М) пакета И па[В или при помощи команды стандартной библиотеки Ве[(М). Напомним, что для получения результата в последнем случае нужно дополнительно дать команду нз1ое. Для получения числа обусловленности используется команда соп()(М), а для вычисления следа — команда[гасе(М). Ранг матрицы М вычисляется командой гап1(М).
Например: > оеыг). О > гапв(6): 3 > (гасе(С): а+2+4 Арифметические операции с матрицами и векторами типа Ма[с) х и Чес[ог, с которыми работает пакет ПпеагА[деЬга, определяются как обычные операции с числамн. Для сложения двух матриц А и В в этом случае достаточно выполнить команду АеВ, для умножения — А"В и т. д. Если к матрице А прибавляется скалярная величина з, то она добавляется к диагональным элементам.
Приведем примеры: > А1 -Натг)х(3.[[1.2.33,[4,5.61.[а,ь,сП ); А1>и 4 5 б > А1"2; с 9+За 12+ЗЬ 15+Зс 24+ба ЗЗ+бЬ 42+бс а+4Ь+са 2а+5Ь+сЬ За+бЬ+с Линейная алгебра 133 ° В):-А).13; В(» 4 18 б Кроме этих элементарных операций существуют расширенные варианты команд сложения и умножения матриц. КомандаАг(о(Я, В. с1, с2, 1р. оигортз) производит сложение матриц А и В со скалярными множителями с1 и с2: с1"А+с2*В. Если параметр 1р имеет вид 1пр) асе=тгое, то результат размещается в матрице А, О параметрах ои1ор16, которые позволяют определять представление результата, смотри описание команды Мэтт)х в этой главе и в справке Мар! е. Умножить две матрицы А и В можно при помощи команды Мо)11р1у(А.
В. 1р, оо1ор1). Для поэлементного сложения двух матриц или векторов одинаковых размерностей А и В существуют соответственнокомандыиатг)хАбг((А, В, с1. с2, )р, оигор15) иуестогА()г)(А, В. с1, с2, 1р, оигоргз). Пример сложения с множителями двух матриц: > Аео(А),81,2.-2): Для применения к элементам матриц А и В функции г, в качестве которой может фигурировать знак операции или имя процедуры, существует команда 21 р(г, А.
В. ехг) „где ехт — значение, которое заменяет при обращении недостающие элементы матриц в случае их разной размерности. Продемонстрируем использование этой команды: > А . сс1,2,3>(с4,6,6» В , сс1,2>(с3,4>(с5,6»; г:-(х.у)->х"у: А:= 2 5 (2 4 б~ > 21р( "Г", А, В) (4 625~ > 21р(.Г".А.В.Р1) 1 64 аз 4 625 яе 3 б" и> 134 Глава 5. Алгебра в Мал(в В заключение описания основных матричных и векторных операций перечислим некоторые команды пакета Ипеа(А(деЬ(а без подробного описания их параметров: С) А()]о) пт — вычисление сопряженной матрицы; С) Соп01С1опн(ьпЬег — число обусловленности матрицы; с) Ое[епп1 пап[ — определитель матрицы; (3 напŠ— ранг матрицы; (у Тгасе — след квадратной матрицы; с) Тгапьроье — транспонированная матрица; о Негьнт)алТгапьроье — Эрмитова транспонированная матрица.
Решение задач линейной алгебры Этот раздел начнем с изложения команд, позволяющих находить спектр квадратной матрицы М, В стандартной библиотеке для поиска собственных чисел и собственных векторов числовой матрицы существует команда с отложенным исполнением Е1депча1ь (М.честь): здесь М вЂ” квадратная числовая матрица, а честь — необязательный параметр, наличие которого говорит о том, что кроме собственных чисел вычисляются и собственные векторы.
Результатом действия команды являются собственные числа, а соответствующие собственные векторы будут находиться в колонках матрицы честь. Приведем пример обращения к данной команде: > АА;-ьггьу(1..2. 1..2,[[23/25,35/25].[35/25.2/25]]): > чч:-еча)Г(Е1депча1ь(АА.И)); еча1(И); чч и> [-1,000000000, 2.000000000 ] (-.8000000000 -.б000000000~ Для исследования спектра символьной матрицы можно использовать команды из пакета йпа(д. Для вычисления собственных чисел матрицы М используется команда е)депча1ь(М), результатом ее действия является массив, содержащий собственные числа. Для поиска собственных чисел и собственных векторов применяется команда е)депчессь(М), причем результат получается в виде массива, каждая строка которого состоит из собственного числа, его кратности и соответствующего собственного вектора.
Поясним сказанное примером: > СС:-аггау(1..3.1..3,нх.д.у],[х,у,О],[у,д.х]]): СС:= х у 0 > 11па10[е!депчессь](СС): [у, 1, ([О, 1,0] )], [у+х, 1, ([1, 1, 1] )],~-у+х, 1, (~ — 2 —. 1,— — с — ~) 1 Линейная алгебра 135 -у+х | 1 1 1 -2у+х х Для вычисления характеристического многочлена матрицы М относительно переменной )ч в пакете Ипа[д используется команда СЬагро1у(М.1аа)Ь()а), а в пакете ПпеагА[деЬга — СЬагасСег1зС!СР01упоа)!а! (М, 1ал!Ь()а). Выяснить положительную или отрицательную определенность матрицы можно прн помощи команды пет) п1Се (М С(по) пакета йпа[д. Здесь М вЂ” квадратная матрица а С! пс — параметр, который может принимать значения "роз!С!че сеу", "роз!С!че зев!Оеу", "педаС)че ОеГ' и "пе- даС)че зел)!ОеГ'.
Аналог этой команды в пакете С!пеагЯ1деЬга — 1з0еу!и!Се(М. О), где параметр 0 имеет вид: пиесу=С!оп. Для проверки ортогональности и унитарности матрицы М в пакете ПпеагА[деЬга предусмотрены соответственно команды 1ЕОгвпсдопа1 (М) и 1зцп!Сагу(М), а подобие двух матриц М и М выясняется командой 1з5!в!1аг(М,М). Проверить ортогональность матрицы М можно и командой)! па10[огСЬсд(М) ].
Результатом действия последних команд будет булевская константа (Сгие или Еа1зе). Пример: > А:- С!пеагА1деЬга[0!адопа)натг!х]([-5.0. -1]): А:> О 0 0 > С!пеагА1деЬга[1апегм и!се](А.'диегу'-'педаС!че аиа!ОеГ ); ггна В пакете ПпеагА[деЬга также существуют команды для вычисления собственных чисел и векторов. Собственные числа матрицы А можно найти при помощи команды Е!депча1ие! (А.С,!вр,аис.оисорС!) где С вЂ” матрица для полной спектральной задачи, параметр !л)р определяет тип результата вычисления корней характеристического уравнения (! вр1 ! с ! С вЂ” решения представляются через йооСОЕ), а параметр оиС задает формат результата (оиСриС- 'чесгог[гон] — вектор-строка, ои[рис = 'чес[ог[сс1и!лп] — вектор-столбец).
Для вычисления собственных векторов матрицы Априменяется команда Е! депчес[огз(Я. С, )пр, си[.ои[орСз). Содержание параметра !вр совпадает с описанным для предыдущей команды, а параметр оиС может принимать значения ои[риС= ча!иез, чесСогз или 1! ЕС. 0 параметрах оиСоргз, которые позволяют изменять представление результата, смотри описание команды МаСг1х. Применим описанные команды к вычислению собственных значений матрицы СС из предыдущего примера, для чего предварительно преобразуем ее тип: > Е!депча1иеа(сопчегС(СС.Магг!х).ситриС-Чес(ог[гсн]. сигригорг!ила-[геасип)у Сгие]); [у, у + х, -у+ х] > Е!депчесгсга(сопчегс(СС,Магг!х).ои(рис-[чессога,ча1иеа]): 136 Глава З. Алгебра в Мар(е Команда М] п1в)а1ро1увсн1 а)(М,1авЬба) пакета БпеагА[деЬгв вычисляет минимальный полипом матрицы по переменной Х. Ядро матрицы М вычисляется при помощи команд 11па1д[Ьегве1](М) или []пеагА1деЬга[Ми115расеПМ).