Говорухин В., Цибулин Б. Компьютер в математическом исследовании (1185927), страница 62
Текст из файла (страница 62)
Если матрица А квадратная и невырожденная, то вычисле- Линейная алгебра 333 ние А" (-3) состоит в нахождении обратной матрицы и возведения ее в куб. Дробные степени вычисляются также, а результат зависит от распределения собственных чисел матрицы. Специальные команды, реализующие важные для приложений операции вычисления экспоненты, логарифма и функции общего вида, даны в табл. 13.3.
Команда ехр(А) находит экспоненту для каждого элемента матрицы А, а для определения матричной экспоненты е~ имеются команда ех(ха(А), основанная на разложении Паде, и функция ехро!2(А), находящая экспоненту с помощью разложения Тейлора. Вычисление любой матричной функции можно реализовать при помощи функции гоп!и.
Разработчики МАТЮКАВ предупреждают, что функция от матрицы вычисляется с использованием потенциально неустойчивого алгоритма, поэтому результаты могут быть не точны. Представим простой пример вычисления косинуса от матрицы второго порядка при помощи функции гппл! и сравним результат с вычислением на основе матричной компоненты: » А=[2 1: -1 4). 5=топи(А.'соя'), геа)(ехра(!»А)) А 2 1 -1 4 ИЯан1НО. йеао)1 Ггоа ЕЬНМ Мат Ье !пассогаое. еыегг - 1 5- -0.9900 0 0 -0.9900 апа- -0.8489 -0.1411 0.1411 -1.1311 Заметим, что использование [ип!и привело к предупреждению и плохому результату. Если даже незначительно изменить первый элемент матрицы Я(1.
1), то получится правильный результат. » А-[2.1 1; -1 4); 5=[поп(А.'соя'). геа)(ехрп(1»А)) 5- -0.9664 -0.0930 0.0930 -1.1331 апо = -0.9664 0.0930 Линейная алгебра Теперь рассмотрим команды, реализующие ряд важных операций линейной алгебры (см. табл. 13.4). Вычисление р-нормы матрицы или вектора М производится при помощи команды попа(М. р) Для вектора р-норма вычисляется при помощи формулы Бои(аьа(М)."р)"1/р 334в Глава 13. Матричные вычисления Таблица 13.4. Матричные характеристики Имя Описание Вычисление определителя Вычисление следа матрицы Вычисление числа обусловленности Оценка числа обусловленности Параметр обусловленности Определение ранга матрицы Вычисление нормы матрицы (вектора) Оценка нормы матрицы (вектора) Оет спасе сопп сопоевг гсопп гапх погм погмеы Приведем пример вычисления различных норм.
Подготовим вектор-строку ч и набор значений параметра р, для которых будем вычислять нормы вектора ч: » ч-1 3 р=[-тп[,1.2,3ппт) ч- 1 2 3 Р = -!пт 1 2 3 !пт Запустим вычисления при помощи цикла Гог ... епб: » Гог К-р, [к погм[ч.х)1. епп В результате получим таблицу, где левая колонка дает порядок нормы, а правая— вычисленное значение (строки с переменной апз опушены): 1 ! б 2.0000 3.7417 3.0000 3.30!9 !пт 3 Отметим, что здесь для представления результата использован формат злого, и если выводимая строка не содержит вещественных чисел, то мантисса опускается. Обращение к функции пспп без второго параметра эквивалентно вызову погв[ч, 2). Нормы матриц вычисляются для значений р, равных 1, 2, !пг, и так называемой нормы Фробениуса: псгп![А, ' Ггс' ) "вцгг [зов[От а9[А 'еА) ) ).
Число обусловленности характеризует точность операции обращения матрицы или решения системы линейных уравнений и равно отношению максимального син- гулярного числа к минимальному. Функция гсапб[А) вычисляетзначение, практи- чески обратное числу обусловленности матрицы А. Это число близко к единице, если матрица хорошо обусловлена, и к нулю — если матрица плохо обусловлена. Определитель матрицы А вычисляется методом Гаусса на основе треугольного раз- ложения. Продемонстрируем примеры обращения к ряду функций таблицы.
Вычислим для гильбертовых матриц четных порядков их ранг, различные нормы, а также деся- тичные логарифмы числа обусловленности и определителя." Линейная алгебра 335 » тог Ь 3:3:12, и-лт)ь(А); рц галь(Н), попа(Н,'Гго'), поги(Н,2). поги(Н.(пт). )а910(сопщН)), )о910(оет(Н))7 епп Таблица 13.5, Команды линейной алгебры Имл Описание Вычисление обратной матрицы Вычисление псевдообратной матрицы Определение ядра (нуль-пространства) матрицы Вычисление ортонормального базиса 1пч ртпч по) ) огсп Матрица с разным числом строк и столбцов не имеет обратной и определителя. Частичное решение проблемы обращения такой матрицы представляет псевдооб- ратная матрица Мура-Пенроуза, которая находится при помощи команды р( пч.
Приведем пример: » А 11 2 3: 2 1 3] А 1 2 3 2 1 3 » В ртпч(А) В.О. 4444 0,5556 0.1111 0.5556 0.4444 О. П!1 Проверим, что произведение А»В дает единичную матрицу размера 2х2: » С А"В С 1.0000 -0.0000 -0.0000 1.0000 Другой порядок произведения дает матрицу размера ЗхЗ с практически нулевым определителем: » 0-В"А; оеЫО) дпв -5.5511е-01? Далее приведены результаты вычислений, причем для зкономии места опущены строки присвоения ответа переменной апз, а значения порядка матрицы и ранга представлены целыми числами: 3 3 1.
4136 1. 4083 1. 8333 2. 7194 -3. 3345 6 6 1.6370 1.6189 2.4500 7.1747 -17.2702 9 9 1.7559 1.7259 2.8290 11.6930 -42.0123 12 11 1.8358 1.7954 3.1032 16.2464 -77 5439 336 Глава 13. Матричные вычисления Решение систем линейных уравнений В различных приложениях требуется находить решения систем линейных алгебраических уравнений. Пусть дана система АХ=В с известными матрицей А и вектором (или матрицей) В. Ее решение относительно неизвестного вектора (или матрицы) Х представляется формулой Х-А-1В.
В МАТ1АВ это записывается как Х=АХВ. Если же система записана в виде ХА"В, то ее решением будет Х=В/А. Размерности массивов должны быть согласованы: необходимо, чтобы значение 5! те [А, 2) было равно 5) те( В, 1), и тогда матрица-результат будет иметь размерность 5! Хе(А, 1) хз(те(В, 2). Для квадратных матриц ищется точное решение, для переопределенных систем 5 ! 2Е(А. 1) >5 ! 2Е(А, 2) используется метод наименьших квадратов, а для недоопределенных систем ищется решение с числом 512е(А, 1) ненулевых компонент.
Приведем простые примеры решения систем малой размерности. Начнем с квадратной матрицы: » А-[О 1; 2 Ц . В=[1 3]', Х=АХВ А- 0 1 2 1 Проиллюстрируем правое деление (решается система ХА=В!); » В!=[1 2]; В1!А дл5 = 1.5000 0.5000 Для недоопределенной системы (число уравнений меньше числа неизвестных) получаем: » А(1,3)-2 АО 1 2 2 1 0 » А!В ал5- 1.5000 0 0.5000 Переопределим матрицу, чтобы число строк превысило число столбцов: » А(:,3)=П .А(3,:)"[3 2] А 0 ! 2 1 3 2 Решение систем линейных уравнений 337 Добавим третий элемент в вектор В: » В(3) 1: В' апз- 1 3 1 Теперь для переопределенной системы АХ=В (три уравнения и две неизвестных компоненты вектора Х) имеем: »ХА)В Х = 0.4286 0.4286 Таблица 13.6. Команды факторизации Имя Описание Разложение Холецкого для симметричных, положительно определенных матриц Неполное разложение Холецкого (представление симметричной матрицы в аиде произведения верхней треугольной н транспонированной матриц) Ы-разложение (для квадратных матриц) Неполное ЬЦ-разложение Приведение к форме Хессенберга Приведение к треугольной форме ОР-разложение (представление матрицы в виде произведения ортогональной и верхней треугольной матриц) спо1 сно1пс 1о1пс пезз ггет пг Испытаем некоторые функции из таблицы, взяв в качестве аргумента матрицу Паскаля третьего порядка: » А-разса113) А- 1 1 1 Разложение Холецкого записывается следующим образом: > сьо)(А) апз- 1 0 0 1 1 1 2 О 1 Некоторые алгоритмы решения систем линейных алгебраических уравнений основаны иа факторизации матриц по одной из схем: Холецкого, метода Гаусса и ЯГсразложения.
Например, факторизация при помощи команды сЬО1 позволяет переписать систему Ах=Ь в виде В ' йх=Ь, и тогда решение дается формулой Х=ВХ Я ')Ь ). В случае матрицы порядка и для получения разложения необходимо число операций порядка пд а для определения решения — порядка пд Если решаются системы с одной матрицей и различными правыми частями, то для ускорения вычислений лучше один раз провести факторизацию матрицы и вычислить обратную матрицу, 338 Глава 13. Матричные вычислении Разбиение матрицы на произведение нижней (Ь) и верхней (Ч)) треугольных матриц, а также матрицы перестановок (Р) делается одной командой: » [С,О,Р) )о(А) 1.0000 0 0 1.0000 1.0000 О 1.0000 0.5000 1.0000 О" 1.0000 0 0 1.0000 1.0000 2 0000 5.0000 0 -0.5000 Р 1 0 0 0 0 1 0 1 0 При обращении (с, Ч)]=1 о(А) матрица Ь есть результат перемножения нижней треугольной матрицы и матрицы перестановок.
Для системы Ах=Ь метод ЕП-разложения дает решение в виде х-Ч)1(сЧЬ) . Функция дг ((1й-разложение) дает факторизацию, в результате которой возникают верхне-треугольная матрица й и матрица Ч). Для исходной вещественной матрицы получается матрица 0 с ортонормированными столбцами, а для матрицы с комплексными коэффициентами 1) — еще и унитарная матрица. Например, для матрицы Паскаля третьего порядка получим: в ГО.В)-дг(А) 0 = -0.57?4 0.7071 0.4082 -0.5774 0 -0 8165 -0.5774 -0.7071 0.4082 8 -1.7321 -3.4541 -5.7735 0 -1.4142 -3.5355 О 0 0.4082 Сз ОЧчЧОе Ьу тего — деление на нуль при поэлементном делении; о 14агпЧлд: МаСгЧх Чз с!озеч) 10 81пдо)аг ог Ьач))у зса)ед — предупреждение:матрица близка к вырожденной или плохо масштабирована (при этом будет выведено число обусловленности); Конечно, рассмотренные примеры элементарны.