Преобразование Эйткена

Введение

Непрерывные дроби

Основная гипотеза

О доказательствах

Константа Эйлера

ZIP-файлы

        Сумма всякого ряда есть значение того конечного выражения, 

из развертывания которого возникает этот ряд

Леонард Эйлер

Введение

Не знаю, как Вас, а меня давно раздражало, что ряд

1 + z + z^2 + z^3 + z^4 + z^5 + z^6+... ( z - комплексное, чего уж там )

дает отличные результаты при | z | < 1 по формуле S = 1 / ( 1 - z ) и не работает при | z | >= 1. Я еще понимаю про точку z = 1, но остальным то что мешает? - Ах, круг сходимости... Рассмотрим символьные частичные суммы

A0( z ) = 1

A1( z ) = 1 + z

A2( z ) = 1 + z + z^2

A3( z ) = 1 + z + z^2 + z^3

A4( z ) = 1 + z + z^2 + z^3 + z^4

Вычислим некую комбинацию из этих сумм

B2( z ) = ( A2 * A0 - A1^2 ) / ( A2 + A0 - A1*2 ) = 1 / ( 1 - z )

B3( z ) = ( A3 * A1 - A2^2 ) / ( A3 + A1 - A2*2 ) = 1 / ( 1 - z )

B4( z ) = ( A4 * A2 - A3^2 ) / ( A4 + A2 - A3*2 ) = 1 / ( 1 - z )

Наши суммы стабилизировались, причем именно на формуле суммы геометрической прогрессии. И никаких проблем при переходе через окружность | z | = 1 эта формула не встретит.

Вот эти формулы      

 и называются преобразованием Эйткена.

Оно хорошо справляется с геометрическими прогрессиями, а, поскольку численная неустойчивость на компьютере, как правило, связана с такими прогрессиями, то это преобразование используется при вычислениях.

Что же делает это преобразование с частичными суммами степенного ряда? - Преобразует их в дробно-рациональную функцию Pn( z ) / Qm( z ). В самом деле, с чего мы взяли, что именно полиномы лучше всего описывают встречающиеся функции?

Непрерывные дроби

Такой подход исследовал еще в 1892 французский математик Паде. Полиномы Ai - это отрезки ряда Мак-Лорена, их производные в нуле вплоть до i-ого порядка совпадают с производными исходной функции. Полином Ai имеет i+1 коэффициент. Естественно потребовать, чтобы дробь Pn( z ) / Qm( z ), аппроксимирующая Ai имела столько же коэффициентов (так сказать, уравнять число настраиваемых параметров ). Отсюда m+1+n+1-1 = i+1 (один коэффициент можно  сэкономить, сократив дробь на старший коэффициент знаменателя ). И все эти дроби должны сохранять неизменными первые i производных. Паде выписал целую матрицу таких дробей (n - по вертикали, m - по горизонтали).

Позже была выведена формула для коэффициентов полиномов Pn( z ) и Qm( z ), и доказано, что наивысшая скорость сходимости у дробей, где m=n и m=n-1 (диагонали Паде-таблицы ) - именно эти дроби являются представителями класса непрерывных дробей.

Непрерывная дробь - это способ записи ряда, альтернативный полиному. Вот пример

 


 

 

 

 

 

Красиво, не правда ли?

Не менее красиво, чем Ln(1 + z) = 0 + z / 1 - z^2 / 2 + z^3 / 3 - z^4 / 4 + z^5 / 5 - z^6 / 6 + ...

 Основная гипотеза

И степенной ряд и непрерывные дроби позволяют получить краткую (минимум коэффициентов) формулу, сохраняющую в нуле те же производные, что и у исходной функции. Преобразование Эйткена также сохраняет эти производные.

Преобразование Эйткена, проведенное один раз (из полиномов Ai получить дроби Bi), приводит к первому столбцу Паде-таблицы (дроби вида Pi-1( z ) / Q1( z )). Но, преобразование Эйткена можно применить и к Bi, преобразовав их в Ci ( i=4, ... ), и к Ci, преобразовав их в Di ( i=6, ... ), и так далее.

Вот здесь уже о минимизации числа коэффициентов говорить не приходится - растет степень знаменателя: ряд Ci это дроби вида Pi-1( z ) / Q3( z ), ряд Di это дроби вида Pi-1( z ) / Q5( z ). Т.е. нарушается соотношение m+n = i. Подгоночных параметров слишком много, но они подбираются автоматически и с толком!

Сравним качество приближения исходной функции ( Ln(1 + z ) ) тремя способами: степенным рядом, непрерывной дробью, преобразованием Эйткена. Для конкретности я ограничился значениями первых шести производных и рассматривал круг | z | < 2.Aitken_Ln.jpg (166664 bytes) Белая окружность - это граница круга сходимости | z | = 1. Как видим по логарифмической шкале,

преобразование Эйткена обеспечивает лучшую сходимость, чем даже непрерывная дробь.

 О доказательствах

Как и все, умею доказывать, что преобразование Эйткена не портит соответствующее число первых производных. 

Единственный пример, когда преобразование Эйткена точно сходится к нужному результату - это вырожденный случай геометрической прогрессии.

Не знаю ни одного доказательства сходимости преобразований Эйткена для какой-либо другой функции. На компьютере я перебрал довольно много функций: EXP(z), SIN(z), COS(z), SH(z), CH(z), TG(z), arc SIN(z), arc TG(z), arc SH(z), arc TH(z), 1/(1-z) + 1/(1-2*z), (1-z+z^3)/(1-2*z+z^2) /Грэгг, 1972/ и всюду наблюдал этот результат - лучшую сходимость.

А вот, казалось бы, "контрпример". F( z ) = ( 1 + z + z^2 ) / ( 1 + z + z^2 + z^3 ).

A0( z ) = 1

A1( z ) = 1

A2( z ) = 1

A3( z ) = 1 - z^3

A4( z ) = 1 - z^3

A5( z ) = 1 - z^3 + z^4

Очень тяжело для преобразования Эйткена идти по таким частично постоянным членам ряда. Но ... C5( z ) = ( 1 + z + z^2 ) / ( 1 + z^2 ) / ( 1 + z ) = F( z ).

Константа Эйлера

Начал я цитатой Л.Эйлера и закончу его же рядом с нулевым радиусом сходимости (т.е. степенной ряд расходится всюду кроме нуля).

Известно, что 1 + z + 2! * z^2 + 3! * z^3 + 4! * z^4 + 5! * z^5 + ... @ 0.5963 при z = -1. Применим преобразование Эйткена непосредственно к ряду из чисел

i Ai Bi Ci Di Ei Fi
0 1          
1 0          
2 2 0.66667        
3 -4 0.5        
4 20 0.8 0.60714      
5 -100 0 0.58182      
6 620 2.85714 0.625 0.59778    
7 -4420 -10 0.51948 0.59436    
8 35900 60 0.86207 0.60015 0.59651  
9 -326980 -388 -0.54054 0.58673 0.59611  
10 3301820 2910.909 6.43478 0.62725 0.59681 0.59636

ZIP-файлы

Aitken_Ln.bmp(16Kb)

Hosted by uCoz