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

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

Файл №1162189 Т. Кормен, Ч. Лейсерзон, Р. Риверст, К. Штайн - Алгоритмы. Построение и анализ (2013) (Т. Кормен, Ч. Лейсерзон, Р. Риверст, К. Штайн - Алгоритмы. Построение и анализ (2013)) 208 страницаТ. Кормен, Ч. Лейсерзон, Р. Риверст, К. Штайн - Алгоритмы. Построение и анализ (2013) (1162189) страница 2082019-09-19СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Операция умножения полиномов в форме коэффициентов гораздо сложнее, чем операции вычисления полинома или сложения двух полиномов. Результирующий вектор коэффициентов с, заданный формулой (30.2), также называется сверткой (сопио!шюп) исходных векторов а и Ь, и обозначается как с = а З 6. Поскольку умножение полиномов и вычисление сверток являются фундаментальными вычислительными задачами, имеющими важное практическое значение, данная глава посвящена эффективным алгоритмам их решения.

Представление, основанное на значениях в точках Основанным на значениях в точках лреоставленяем (ро)пика1пе гергезепгайоп) полинома А(х) с границей степени п является множество, состоящее из п яар иточка-значение (ро(пьиа!пе раке): ((хо,Уо) (х| У1) . (х -1 У -1)) таких, что все хь различны и уь = А(хь) (30.3) для /с = 0,1,...,и — 1. Каждый полипом имеет множество различных представлений, основанных на значениях в точках, поскольку в качестве базиса такого представления можно использовать любое множество и различных точек хо,хп...,х„п Получить основанное на значениях в точках представление полинома, заданного с помощью коэффициентов, достаточно просто: следует лишь выбрать п различных точек хс, хп, .,, х„1 и вычислить А(хь) для 6 = О, 1,..., и — 1.

С помощью схемы Горнера такое вычисление можно выполнить за время еэ(из). далее мы покажем, что при разумном выборе хь данное вычисление можно ускорить, н оно будет выполняться за время 8(п )к и). Обратная процедура — определение коэффициентов полинома, заданного в форме значений в точках — называется интерполяцией (1п1егро)а11оп). В следующей теореме утверждается, что интерполяция является вполне определенной, когда граница степени искомого интерполяционного полинома равна числу заданных пар "точка-значение". Чаезнь Нц Избранные анны Таирами 30.1 (Единственность интерноляционного налимами) Для любого множества ((хо, уо), (х1, у! ),..., (х„1, У„1) ), состоящего из и пар "точка — значение*', таких, что все значения хь различны, существует единственный полином А(х) с границей степени и, такой, что уь = А(хь) для (е = О, 1,..., п — 1. Докизизиельствш Доказательство основано на существовании матрицы, обратной заданной. Уравнение (30.3) эквивалентно матричному уравнению 2 н — 1 1 то хо '' хо по Уо 1 х! х21 х" а! У! (30.4) а„! Ун — ! 2 н — 1 Хн-1 Хн-1 ' ' ' Хн Матрица в левой части обозначается как Ъ'(хо, х1,..., х„1) и называется матрицей Вандермонда (Уапз!еппопбе).

Согласно упр. Г1 определитель данной матрицы равен (хь — х ), о<1<ай -1 следовательно, по теореме Г.5 она является обратимой (т.е. невырожденной), если все хь различны. Таким образом, для заданного представления в виде значений в точках можно однозначно вычислить коэффициенты аз: а = 'е'(ХО,Х1,...,Х„1) У Доказательство теоремы 30.1 предлагает алгоритм интерполяции, основанный на решении системы линейных уравнений (30.4). Используя описанные в главе 28 алгоритмы (ЛЗ-разложения, эти уравнения можно решить за время 0(пз).

Более быстрый алгоритм п-точечной интерполяции основан на формуле Лагранжа (1.аятолле'а Гоппп!а): П(.-х ) А(х) = ~~1 уь з =. П(х —.) 1 ф/с (30.5) Можете самостоятельно убедиться в том, что правая часть уравнения (30.5) является полиномом степени не выше и, удовлетворяющим условию уь = А(хь) для всех (е. В упр.

30.1.5 предлагается показать, как с помощью формулы Лагранжа вычислить коэффициенты полинома А за время 9(пз). Таким образом, вычисление и интерполяция по и точкам являются вполне определенными обратимыми операциями, которые позволяют преобразовать представление полинома в виде коэффициентов в представление в виде точек- 945 Глава 30. Полинины и быстрое лреобразотгиие Фурье значений и обратно'. Решение этих задач с помощью описанных выше алгоритмов занимает время ку(пг). Представление в виде значений в точках весьма удобно при выполнении многих операций над полиномами. При сложении, если С(х) = А(х) + В(х), то С(хй) = А(хь)+ В(хь) для любой точки хь.

Говоря более строго, если у нас есть основанное на значениях в точках представление полиномов А Ихо уо) (х1 У1) (х — ьу -1)5 иВ Ихо уо),(х1 Р1) " (х -ьу' 1)) (обратите внимание, что А и В вычисляются в одних и лзех же и точках), то основанное на значениях в точках представление полинома С имеет вид Ихо Ус+Ус) (х1 У1+У1), . (х — ьу — 1+У -1)) Таким образом, время, необходимое для сложения двух полиномов с границей степени п, заданных в форме значений в точках, составляет ту(п). Точно так же представление в виде значений в точках удобно при выполнении умножения полнномов. Если С(х) = А(х)В(х), то С(хй) = А(хь)В(хь) для любой точки хы и можно поточечно умножить представление А на соответствующее представление В и получить основанное на значениях в точках представление С.

Однако возникает следующая проблема: г(еятее(С) = г(ейгее(А) + г(ейтее(В); если А и В имеют границу степени п, то граница степени результирующего полинома составляет 2и. Стандартное представление каждого из полиномов А и В в виде значений в точках содержит и пар "точка-значение". В результате их перемножения получится и пар "точка — значение", однако для однозначной интерполяции полинома С с границей степени 2п требуется 2п пар (см. упр. ЗОВА.) Следовательно, необходимо использовать "расширенные" представления полиномов А и В, которые содержат по 2п пар "точка-значение".

Если задано расширенное представление в виде значений в точках полинома А Ихо уо), (х1, у1),..., (хг -1, уг -1)) и соответствующее расширенное представление в виде значений в точках поли- нома В Ихо уо) (хьу1) (х2 — 1 уг -1)) то представление полинома С имеет вид Ихо уоуо)з(х1зу1Р1) з(х2п — 1 у2п — 1Р2п — 1)) Известна, чш ннтерпаляиия валяется неприятной задачей с точки зрения численной устойчивости: хотя описанные здесь подходы математически изррекзны, небольшие различия во вводимык величинах нлн ошибки округления в ходе вычнсмний мазут привести к значительно различаюшимсв результатам. 946 Часвь Гд избранные темм Если два исходных полинома заданы в расширенной форме "точки — значения", то время их умножения для получения результата в той же форме составляет 9(п), что значительно меньше, чем время, необходимое для умножения полиномов, заданных коэффициентами.

Наконец рассмотрим, как вычислить значение полинома, заданного в виде значений в точках, в некоторой новой точке. По-видимому, для этой задачи не существует более простого подхода, чем преобразовать полипом в форму коэффициентов, а затем вычислить его значение в новой точке. Быстрое умножение полиномов, заданных коэффициентами Можно ли использовать метод умножения полиномов, заданных в виде значений в точках, время выполнения которого линейно зависит от и, для ускорения умножения полнномов, заданных в форме коэффициентов? Ответ зависит от способности быстро выполнять преобразование полинома из формы коэффициентов в форму "точки-значения" (вычисление) и обратно (интерполяция). В качестве точек вычисления можно использовать любые точки, однако тщательный выбор точек дает возможность выполнять переход от одного представления к другому за время 9(п 1й и). Как будет показано в разделе 30.2, если в качестве точек вычисления выбрать комплексные корни из единицы, то представление "точки-значения" можно получить с помощью дискретного преобразования Фурье (ДПФ) (Р(зсгеге Роплег ТгапзГопп — РГТ) вектора коэффициентов.

Обратную операцию, интерполяцию, можно выполнить путем применения обратного ДПФ к парам "точки-значения", в результате чего получается вектор коэффициентов. В разделе 30.2 будет показано, как БПФ позволяет выполнять прямое и обратное ДПФ за время 9(п1кп). На рис. 30.1 данная стратегия представлена графически. Небольшая сложность связана с границами степеней.

Произведение двух полиномов с границей степени п является полиномом с границей степени 2п. Поэтому перед вычислением исходных полиномов А и В нх граниша степени удваиваются до 2п путем добавления п старших коэффициентов, равных нулю. Поскольку теперь векторы коэффициентов содержат по 2п элементов, мы используем комплексные корни 2п-й степени из единицы, которые обозначены на рис. 30.1 как шз„, Можно предложить следующую основанную на БПФ процедуру умножения полииомов А(х) и В(х) с границей степени п, в которой исходные полиномы и результат представлены в форме коэффициентов, а время выполнения составляет 9(п 1я и). Предполагается, что и является степенью 2; это требование всегда можно удовлетворить, добавив равные нулю старшие иээффициенты. 1.

Удвоеиие границы степени. Создаются представления в форме коэффициентов полииомов А(х) и В(х) в виде полиномов с границей степени 2п путем добавления л нулевых старших коэффициентов в каждое. 2. Вычисление. Определяются представления полиномов А(х) и В(х) в форме "точки — значения" длиной 2п путем двукратного применения БПФ порядка 2п. Этн представления содержат значения двух заданных полииомов в точках, являющихся комплексными корнями степени 2п из единицы. рв7 Прслставлснис ( козффнциситами !. аа.ай,.; Лл ы.', Обычное)ывожа1Н Ьь'-Ья.с-я' (тв ( ''( Вымя В(яр! Представление значсннями в тачым Рнс.

ЗВЛ. Графичссвос прсдставлснис эффективной процедуры умнвксннл полиномов. Ввсрху показано прсдставлснис л форме нззффициситов, а внизу — в форме значений в точках. Идущие слова направо стрелки соогввтствукп операции умнвкения. Члены ыз явлтотсл вомплсксными корнлми стспсни 2п из единицы. 3. Поточечное умножение. Вычисляется представление в виде значений в точках полинома С(х) = А(х)В(х) путем поточечного умножения соответствующих значений. Это представление содержит значения полинома С(х) в каждом юрие степени 2гь из единицы. 4. Интерполяции.

Создается представление полинома С(х) ф форме юзффициенгов с помощью однократного применения БПФ к 2п парам "точка — значение*' для вычисления обратного ДПФ. Этапы 1 и 3 выполняются за время ет(п), а этапы 2 и 4 — за время тт(п (к и). Таким образом, показав, как испольювать БПФ, мы докажем следующую теорему.

Теорема 36~2 Произведение двух полиномов с границей степени п в случае, югда исходные полиномы и результат находятся в форме коэффициентов, можно вычислить за время тт(тз (к п). Упражнения Зй 1.1 Перемножьте полиномы А(х) = Тхз — хз + х — 10 и В(х) = бхз — бх + 3 с ис- пользованием (30.1) и (30.2). За1.2 Вычислять полипом А(х) с границей степени п в заданной точке хо можно также путем деления А(х) на полипом (х — хо)„в результате чего получатся полином- частное о(х) с границей степени п — 1 и остаток г, такой, что А(х) = я)(хНх — хо) + т . Глава зй Павиламы и быстрое лрвабраюванлв Фурье ' Пмяисясвмс Время В(л)лл) .з((с(~~',) 'лбавв„) ' .. я((с".яя)(В(ь)вв):!, ' Пстстсчврс~няожсйир Время 0(л) !~'-9«,:,ят:ь) й(а зя-я); ( ; Иитсрповшия ! Врсмв 8(л (ял) ! ', с(!(й,) ! П(а(я',)'; ( ц((яс(зыв - (з э 948 Часть ру.

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

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

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