Автор работы: Пользователь скрыл имя, 09 Марта 2011 в 16:22, лекция
Многочлены — инструмент вычислителя
Возможность вычисления
значении остальных параметров по значениям
коэффициентов также
База индукции. k=2, n=4. Схема (5), формулы (6).
Посылка индукции. Пусть при некотором j=k–1≥2 схема (7.k–1) универсальна, то есть любому набору чисел A1, A2, ..., A2k–2 соответствуют значения b1, b2, ..., b2k–2 параметров, подставив которые в схему (7.k–1), мы получим многочлен
pk–1(x) = x2k–2 + A1x2k–3 + ... + A2k–2. | (II) |
Шаг индукции. Тогда схема (7.k) также универсальна. Выпишем предпоследнюю строку этой схемы:
pk(x) = pk–1(x)·(x2 + b1x + b2k–1) + b2k. | (III) |
Согласно нашему предположению (посылка индукции), для нахождения значений параметров b1, b2, ..., b2k, превращающих многочлен pk(x) из (7.k) в многочлен f(x) с данными коэффициентами a1, a2, ..., a2k нам достаточно найти такой многочлен pk–1(x) (точнее, его коэффициенты A1, A2, ..., A2k–2 — см. (II)) и такие значения параметров b2k–1, b2k, чтобы после их подстановки в (III) выполнялось тождество pk(x) = f(x). Перемножив многочлены в правой части равенства (III) и приравняв коэффициенты полученного многочлена и многочлена f(x) = xk + a1xk–1 + ... + a2k, мы сможем выписать систему 2k уравнений с неизвестными A1, A2, ..., A2k–2, b2k–1, b2k, (a1, ..., a2k заданы, b1 находится из равенства (I)); чтобы сократить запись формул, заменим параметр b2k–1 символом b:
a1 = A1
+ b1,
a2 = A2 + b1·A1 + b, a3 = A3 + b1·A2 + b·A1, . . . . . . . . . . a2k–2 = A2k–2 + b1·A2k–3 + b·A2k–4, a2k–1 = b1·A2k–2 + b·A2k–3, a2k = b1·A2k–2 + b2k. |
(IV) |
Условимся обозначать уравнение системы (IV) с номером j (1≤j≤2k) через (IV)-j. Тогда процесс решения системы (IV) можно описать в нескольких словах: A1 выражается через a1 из (IV)-1 и (I), A2 выражается через a1, a2 и b из (IV)-2, A3 выражается через a1, a2, a3 и b из (IV)-3 и т.д. Последним из уравнения (IV)-(2k–2) мы выразим неизвестное A2k–2; затем, подставив в уравнение (IV)-(2k–1) найденные выражения для A2k–2 и A2k–3, мы получим уравнение относительно b.
Лемма 2. Неизвестные A2j–1 и A2j выражаются из системы (IV) через параметр b и коэффициенты a1, a2, ..., a2k–2; согласно формулам (b1 выражается через a1 согласно (I))
A2j–1
= (–1)j–1[(k – j)b1 + 1]bj–1
+
+ S1,j(a1, a2, a3)bj–2 + ... + Sj–1,j(a1, a2, ..., a2j–1), |
(V) |
A2j = (–1)jbj + T1,j(a1, a2)bj–1 + ... + Tj,j(a1, a2, ..., a2j). | (VI) |
Доказательство. База индукции: j=1, A1 = a1 – b1 = [(k – 1)b1 + 1]b, A2 = –b + T1,1(a1, a2).
Посылка индукции — формулы (V), (VI) при 1≤j<k–1.
Шаг индукции:
(a) | A2j+1 = –bA2j–1
– b1A2j + a2j+1 =
= (–1)j[(k – j)b1 + 1]bj – S1,j(a1, a2, a3)bj–1 – ... – – b1(–1)jbj – b1T1,j(a1, a2)bj–1 – ... + a2j+1 = = (–1)j[(k – j – 1)b1 + 1]bj + S1,j+1(a1, a2, a3)bj–1 + ... ; |
(b) | A2j+2 = –bA2j – b1A2j+1 + a2j+2 = (–1)j+1bj+1 + T1,j+1(a1, a2)bj + ... |
Лемма 3. Полученное после всех подстановок уравнение относительно b = b2k–1 имеет степень k–1 и единичный коэффициент при старшем члене (то есть при bk–1).
Доказательство. Предположим, что в правой части уравнения (IV)-(2k–1) на левом крайнем месте (там, где сейчас пробел) стоит неизвестное A2k–1, и выразим его через b, a1, ..., a2k–1 по формуле (V) (она по-прежнему применима здесь):
A2k–1 = (–1)k[(k – k) + 1]bk–1 + ... = (–1)kbk–1 + .... | (VII) |
Вспомним, что на самом деле A2k–1 ≡ 0; умножив правую и левую части (VII) на (–1)k, получим требуемое уравнение относительно b.
Решив это уравнение*), мы найдём значение параметра b = b2k–1, а затем по формулам (V), (VI) вычислим неизвестные A2, A3, ..., A2k–2; параметр b2k находится из уравнения [IV]-(2k).
*) Так называемая «основная теорема алгебры», открытая великим К.Ф.Гауссом, утверждает, что многочлен степени n>0 всегда имеет хотя бы один корень. Несмотря на то, что при n≥5 формул для нахождения этого корня и не существует, разработаны методы нахождения всех корней многочлена с любой точностью.
Начиная с третьей строки, схема (7.k) очень напоминает схему Горнера(3); разница лишь в том, что теперь после каждого умножения степень увеличивается не на единицу, а на два.
Итак, нам удалось уменьшить число умножений по сравнению со схемой Горнера вдвое. Какой ценой? Из решения упражнения 5 видно, что процесс вычисления параметров b1, b2, ..., b2n по коэффициентам a1, a2, ..., a2n очень сложен, — он включает в себя решение серии уравнений с одним неизвестным степени k–1, k–2, ... Это означает, в частности, что при k≥6 (n≥12) формул вычисления параметров нет4 , хотя, разумеется, их значения могут быть найдены приближёнными методами с любой степенью точности.
Здесь возникает ещё одно затруднение, оказавшееся, правда, преодолимым. До сих пор мы не уточняли, значения каких — действительных или комплексных — многочленов мы вычисляем. Схема Горнера применима и в том, и в другом случае, схема же (7.k) преимущественно «комплексная» — действительным коэффициентам могут соответствовать комплексные параметры. Появление комплексных чисел при вычислении действительных многочленов намного увеличивает число арифметических операций5 . К счастью, в 1960году схему (7.k) небольшим усложнением удалось превратить в действительную; однако полные доказательства в этом случае уже очень непросты.
§6. О схемах вообще...
— Минуточку, минуточку — раздались протестующие голоса. — Избегайте, пожалуйста, научных терминов, объясняйте популярно...
— Верно! — подтвердили остальные. — Говорите понятнее... Что такое лес?
Я. Осенка. Загородная прогулка в 2050 году
Пришло время спросить, нет ли схем, более экономных, чем схема (7.k)? Но тогда неизбежен и вопрос — что такое схема?
Определение. (I).
Схема с предварительной
Примеры. 1. Схема (7.k) — универсальная (степени n=2k); то же верно и для схемы Горнера (параметры — сами коэффициенты).
2. Схема p(x) = (xn+1 – b1)/(x – b2) представляет многочлен (в) §3 при b1 = b2 = 1.
Упражнение6. Докажите, что общее число SN схем (всех степеней), содержащих не более N операций, конечно и не превосходит числа6 [(3N – 1)!/(2N – 1)!]2.
Решение
Так как в каждой операции участвует не более двух параметров, то общее число параметров в схеме с N операциями не больше 2N–1 (хотя бы в одной операции должна участвовать переменная x). В первой операции участвуют два числа. Каждое из них есть либо x, либо один из не более чем 2N–1 параметров; всего не более (2N)2 возможностей. Во второй операции могут участвовать те же числа и результат первой операции; всего не более (2N+1)2 возможностей, и так далее. Наконец, в последней операции могут участвовать не более 3N–1 чисел (в том числе N–1 результат предыдущих операций); всего не более (3N–1)2 возможностей. Общее число различных вариантов не больше произведения этих чисел, то есть
SN ≤ (2N)2 (2N + 1)2 ... (3N – 1)2 = [(3N – 1)!/(2N – 1)!]2.
§7. ... И о наилучшей из них, в частности
Положение, в котором мы находимся, заставляет нас прибегать ко всестороннему изучению предмета.
Платон
Теперь наш вопрос о наилучших схемах степени n приобрёл точный смысл, и можно дать на него точный ответ: схема из §5 почти наилучшая — любая универсальная схема степени n содержит не менее ½(n–1) (×,:)-операций и не менее n–1 (+,–)-операций.
Справедливость
этого утверждения можно
число m параметров универсальной схемы степени n не меньше числа коэффициентов, то есть m≥n;
в промежутке между двумя (×,:)-операциями любой (не обязательно универсальной) схемы может появиться не более двух по-настоящему новых параметров (все остальные будут «лишними»), а между двумя (+,–)-операциями — не более одного.
Второе свойство стоит сформулировать более строго: если схема содержит r (×,:)-операций (или s (+,–)-операций), то число m параметров либо сразу не больше 2r+1 (соответственно s+1), либо без ущерба для свойств схемы может быть уменьшено до 2r+1 (соответственно, s+1), то есть m ≤ 2r + 1 и m ≤ s + 1.
Итак, n ≤ m ≤ 2r + 1 и n ≤ m ≤ s + 1, отсюда ½(n – 1) ≤ r и n – 1 ≤ s.
— Но вы совсем забыли о схеме Горнера! — прервёт нас читатель, которому больше по душе классическая ясность схем без предварительной возни с коэффициентами. — Ведь она не зря кажется предельно экономной!
— Схема Горнера действительно наилучшая среди схем, в которых параметрами являются сами коэффициенты. Недостаток места не позволяет нам изложить красивое, но не очень простое доказательство этого факта, найденное в 1960году.
А теперь займёмся двумя сформулированными выше свойствами схем, сначала вторым.
§8. Параметры в операциях
Дама сдавала в багаж
диван, чемодан, саквояж,
картину, корзину, картонку
и маленькую собачонку.
С. Я. Маршак
Наше определение схемы не накладывало никаких ограничений на форму её записи. Мы назовём элементарной запись схемы типа «одна строка — одна операция», когда запоминается (и обозначается своим символом) результат каждой операции схемы; примеры: эпиграф (хотя это и не схема, а скорее багажная квитанция), схема для многочлена x2^k (§3) — в ней каждый результат используется больше одного раза и потому нуждается в запоминании.
Не для всех схем элементарная форма записи является единственной: если результат какой-то операции используется лишь однажды, то эту операцию можно сразу включить в ту строку, в которой участвует её результат. (Примеры: каждая строка схемы (3), начиная со второй, включает две операции, а схемы (7.k) — не менее трёх.) Интересно, что схема (7.k) не допускает записи меньше, чем в две строки, так как результат первого умножения используется многократно, а схема (3) — допускает (формула (2) ).
Переходя к доказательству свойства 2), рассмотрим элементарную форму записи схемы и обозначим через q1, ..., qr результаты (×,:)-операций. Перепишем схему в «(×,:)-форме»: «одна строка — одна (×,:)-операция». При этом число (+,–)-операций может заметно возрасти — мы ведь не запоминаем их результаты; но сейчас нас интересует только число (×,:)-операций, а оно остаётся прежним. Первые r строк схемы в «(×,:)-форме» имеют вид
qj = (Aj ± Bj ± ...) × : (Cj ± Dj ± ...), 1 ≤ j ≤ r, | (9) |
где Aj, Bj, ..., Cj, Dj, ... — это либо bi, либо x, либо qs, где s<j. Если (×,:)-операция из qr не была заключительной операцией исходной схемы, то мы объединим в строку