Главная » Просмотр файлов » Т. Кормен, Ч. Лейзерсон, Р. Ривест, К. Штайн - Алгоритмы - Построение и анализ (2 изд.)

Т. Кормен, Ч. Лейзерсон, Р. Ривест, К. Штайн - Алгоритмы - Построение и анализ (2 изд.) (1123758), страница 174

Файл №1123758 Т. Кормен, Ч. Лейзерсон, Р. Ривест, К. Штайн - Алгоритмы - Построение и анализ (2 изд.) (Т. Кормен, Ч. Лейзерсон, Р. Ривест, К. Штайн - Алгоритмы - Построение и анализ (2 изд.)) 174 страницаТ. Кормен, Ч. Лейзерсон, Р. Ривест, К. Штайн - Алгоритмы - Построение и анализ (2 изд.) (1123758) страница 1742019-05-10СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 174)

На рис. 28.1 показан процесс работы процедуры 1ЛЗ 1)нсомвоз!т!о!4. На рис. 28.1а показана исходная матрица, на рис. 28.1б-г — шаги рекурсии. Веду!ций элемент выделен черным цветом, а вычисляемые элементы матриц У и Ь— серым. На рис. 28.1д показан окончательный результат 1.1)-разложения. В приведенной реализации используется стандартная оптимизация, состоящая в том, что значащие элементы матриц У и 2 хранятся на месте элементов матрицы А, т.е. мы устанавливаем соответствие между каждым элементом а4 и либо 1!5 (если 1 > 7), либо и4 (если 1 < 2) и обновляем матрицу А так, что при выходе из процедуры она будет содержать значащие элементы матриц У и Ь. Для этого в псевдокоде достаточно заменить все обращения к и и 1 на обращения к а; нетрудно убедиться, что такое преобразование кода сохраняет его корректность.

Глава 28. Работа с матрицами матрицы А для того, чтобы избежать деления на О. Причем нежелательно не только деление на О, но и просто на малое число, даже если матрица А невырождена, поскольку в результате понижается численная устойчивость вычислений. В связи с этим в качестве ведущего элемента следует выбирать наибольший возможный элемент. Математические основы 1Л1Р-разложения аналогичны 1Л1-разложению.

Нам дана невырожденная матрица А размером п х и, и нам требуется найти матрицу перестановки Р, единичную нижне-треугольную матрицу Ь и верхне-треугольную матрицу У такие, что Р А = Ь Г/. Перед разделением матрицы А на части, как мы делали при вычислении 1Л)-разложения, мы перемещаем ненулевой элемент, скажем, аы, откуда-то из первого столбца матрицы в позицию (1, 1) (если первый столбец содержит только нулевые значения, то матрица вырождена, поскольку ее определитель равен О (см. теоремы 28А и 28.5)). Для сохранения множества исходных линейных уравнений мы меняем местами строки 1 и й, что эквивалентно умножению матрицы А на матрицу перестановки Я слева (см.

упражнение 28.1-5). Тогда мы можем записать ЯА как сА=(, ), где п = (азыазм...,аь маы,аь+м...,а„1) (1с-й элемент заменен первым), ю~ = (аьз, аьз,..., аь„), а А' — матрица размером (и — 1) х (и — 1). Поскольку ая1 ф О, мы можем выполнить те же преобразования, что и при 1Л1-разложении, не опасаясь деления на О: о А' и/аи 1„~ О А' — пиГ/аы Как мы видели в 1.П-разложении, если матрица А невырождена, то невы- рождено и дополнение Шура А' — сит/аы.

Таким образом, мы можем индуктивно найти его 1Л)р-разложение, дающее единичную нижне-треугольную матрицу К верхне-треугольную матрицу 1А' и матрицу перестановки Р' такие, что Р' (А' — сшт/и„,) = ~' У' Определим матрицу которая является матрицей перестановки в силу того, что она представляет собой произведение двух матриц перестановки (см. упражнение 28.1-5).

Мы имеем Часть Ч1!. Избранные темы 850 <'-') "= О Р' и/аьз 1„1 О А' — иихф/аы Р'и/аы Р' О А' — итит/аы < 10~(аы 7Ю Р'и/аы 1„~ О Е'У' Р'и/ам Ь' О У' РА = Ц ПРИг> 7', а; сн приз(з. ВЛЗР ВесОмРОБ!т!Он(А) 1 и ~ — гож ~А1 2 1огг — 1 1оп 3 до тг~г~ — г 4 1ог й - 1 1о и 5 бор -О б 1ог г' — й то и 7 оо 11(а;ь( > р что и дает нам искомое ШР-разложение. Поскольку Ь' — единичная нижне-треугольная матрица, такой же будет и Ь, и поскольку à — верхне-треугольная матрица, такой же будет и У. Заметим, что в отличие от 1Л7-разложения, и вектор-столбец и/аы, и дополнение Шура А' — июг/аы должны умножаться на матрицу перестановки Р'. Как и ранее, в псевдокоде 1.17Р-разложения рекурсия заменяется итерацией.

В качестве усовершенствования непосредственной реализации рассмотренной рекурсии матрицу перестановки Р мы представляем массивом и, где и [г] = 7 означает, что 1-я строка массива Р содержит 1 в столбце 7. Мы также реализуем код, который вычисляет Ь и У на месте матрицы А, т.е. по окончании работы процедуры Глава 28. Работа с матрицами 851 треп р — [ага[ Й' -г' 8 9 10 11 12 13 14 15 16 17 18 Ыр=О тпеп еггог "Матрица вырождена" Обмен к[к] + |т[й'] аког г' - 1 1о и до Обмен ам ~ ам; 1ог 1 - Й + 1 то п Йо а;» — агя/а~ 1ог 7 - /с+ 1 1о т1 йо а;~ об — а;ьаьу На рис.

28.2 продемонстрирована работа процедуры 1ЛР 13всомгоь171ои по разложению матрицы. На рнс. 28.2а показана исходная матрица с тождественной перестановюй строк (массив перестановок показан слева от матрицы). На рис. 28.2б показан выбор максимального ведущего элемента и соответствующий обмен строк. заштрихованные столбец и строка представляют с и иР. На рнс. 28.2в показано деление вектора с на ведущий элемент и вычисление дополнения Шура. Линии на рисунке делят матрицу на трн части: элементы У над линией, элементы Ь слева от линии и элементы дополнения Шура в правой нижней части. На рис.

28.2г-е показан второй шаг вычисления 1ЛЗР-разложения, а на рис. 28.2ж-и — третий шаг. На рис. 28.2к представлен окончательный результат 1Л)Р-разложения Р А = Ь У. Массив я инициализируется в строках 2-3 тождественной перестановюй. Внешний цикл 1ог, начинающийся в строке 4, реализует рекурсию. При каждом выполнении тела внешнего цикла в строках 5-9 определяется элемент амь с наибольшим абсолютным значением в текущем первом столбце (столбце й) матрицы размером (и — й+ 1) х (п — й+ 1), разложение которой должно быть найдено. Если все элементы текущего первого столбца нулевые, в строках 10-11 сообщается о вырожденности матрицы. Далее мы делаем амь ведущим элементом.

Для этого в строке 12 выполняется обмен элементов я [й] и и [й'] массива я, а в строках 13-14 — обмен й-ой и й'-ой строк матрицы А. (Мы выполняем обмен строк полностью, поскольку, как говорилось в изложении метода, на Р' умножается не только дополнение Шура А' — еюг/пы, но и вектор с/аы.) Наконец, в строках 15-18 вычисляется дополнение Шура (практически так же, как и в строках 4-9 процедуры 1Л1 ЭПСОМРОщтЮН, с тем отличием, что вычисленные значения заносятся в матрицу А, а не в отдельные матрицы Ь и У). В силу тройной вложенности циклов время работы процедуры Ы1Р 0псомюз171сяч равно О (пз), т.е.

оно точно такое же, как и в случае процедуры 1Л3 1)псом- гов1710Х. Следовательно, выбор ведущего элемента приводит к увеличению времени работы не более чем на постоянный множитель. Часть Ч2!. Избранные темы 852 з~~', " 0 2 00 ~4, —, .2 34 4! Р) © 522 '4'; .2' 3 ' 4 4 '2.' 0 2 00 3 ф 5' .',!':. П' Окб 0 04..2 04 -02 !4 ~:Н)32 - ! 4.2 436 О) ,'3) 5 4 11Т! 3: г~ 04 ф~ а4 ! )4 -02 ~ -1 42 -О4 о )31 5 5 4 ! ! '3 4 ~ ~02)Р,04..4-0,2 а4 ~ О.. еа -32 -О 2 ~ -') ': 4 2 0 б )3) 5 5 О4 ~ф~ 0.4 .:"0,2, )2) 00 .0',2 )Л -.3,2 .02 05 н ~3) 5 5 ! З4 1-2 04 04 0 1! -12 ~4' ,н!2 0.5 ф -0'" 4 5 4 )4) 2 0.-1Е -0.5 2 0 2 3 3 4 5 5 4 -1 -2 3.4 А О.б ! о о о -2 04 1 0 0 2 -0.2 0.5 ! 0 О.б 0 0.4 1 е к) Рис.

28.2. Работа процедуры П)Р ЭЕСОМРОЗ)Т10Н Упражнения 28.3-1. Решите при помощи прямой подстановки уравнение 1 О О 4 1 Π— 6 5 1 х! хз 28.3-2. Найдите Ш-разложение матрицы 0 0 1 0 1000 0001 0 1 0 0 4 -5 6 8 -6 7 12 -7 12 5 5 0 -2 0 0 0 0 4 2 0.4 -0.2 4 -0.5 0 -3 Глава 28. Работа с матрицами 853 28.3-3. Решите с помощью 1,1)Р-разложения систему линейных уравнений Х1 12 хз = 9 кз 5 1 5 4 2 О 3 5 8 2 28.3-4.

Как выглядит 1ЛЗР-разложение диагональной матрицы? 28.3-5. Как найти 1Л)Р-разложение матрицы перестановки? Докажите его единственность. 28.3-6. Покажите, что для всех п > 1 существует вырожденная матрица размером и х п, имеющая 1Л-разложение. 28.3-7. Необходимо ли выполнение тела внешнего цикла 1ог в процедуре 1Л) Пясомроятюн при ?с = п? А в процедуре 1ЛЗР 0нсомроятюн? 28.4 Обращение матриц На практике для решения систем линейных уравнений обращение матриц не используется, вместо этого применяются другие, численно более устойчивые методы, например, )Л1Р-разложение. Тем не менее, задача обращения матриц имеет как теоретический, так и сугубо практический интерес.

В этом разделе мы покажем, что для обращения матриц можно использовать уже рассмотренный нами метод 1.1)р-разложения. Мы также докажем, что умножение матриц и обращение матрицы — задачи одинаковой сложности, так что для решения одной задачи мы можем использовать алгоритм для решения другой, чтобы получить одинаювое асимптотическое время работы. В частности, мы можем применить алгоритм Штрассена для обращения матриц (к слову, в своей работе Штрассен преследовал цель ускорить решение систем линейных уравнений). Вычисление обратной матрицы из ЬЮР-разложения Предположим, что у нас имеется 1Л1Р-разложение матрицы А на три матрицы Т, У и Р такие, что РА = Т У. Используя процедуру 1Л)Р Боьчн, мы можем решить уравнение вида Ах = Ь за время 9 (пз).

Посюльку 1.11Р-разложение зависит толью от А, но не от Ь, мы можем использовать ту же процедуру для решения другой системы линейных уравнений вида Ах = Ь' за то же время 6 (пз). Обобщая, имея 1ЛЗР-разложение матрицы А, мы можем решить /с систем линейных уравнений с одной и той же матрицей А за время О (кпз). Уравнение АХ = Х„ (28.24) Часть Ч11. Избранные темы 854 можно рассматривать как множество из п различных систем линейных уравнений вида Ах = б. Эти уравнения позволяют найти матрицу Х, обратную матрице А.

Характеристики

Список файлов книги

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6455
Авторов
на СтудИзбе
305
Средний доход
с одного платного файла
Обучение Подробнее