Научная статья на тему 'Вычисление вещественной W-функции Ламберта wo в пределах Fp//LINSPACE'

Вычисление вещественной W-функции Ламберта wo в пределах Fp//LINSPACE Текст научной статьи по специальности «Математика»

CC BY
1561
90
i Надоели баннеры? Вы всегда можете отключить рекламу.
Область наук
Ключевые слова
ВЕЩЕСТВЕННАЯ W-ФУНКЦИЯ ЛАМБЕРТА W 0 / АЛГОРИТМИЧЕСКИЕ ВЕЩЕСТВЕННЫЕ ФУНКЦИИ / МАШИНА ТЬЮРИНГА / ПОЛИНОМИАЛЬНАЯ ВРЕМЕННАЯ СЛОЖНОСТЬ / ЛИНЕЙНАЯ ЕМКОСТНАЯ СЛОЖНОСТЬ / REAL LAMBERT W-FUNCTION W 0 / ALGORITHMIC REAL FUNCTIONS / TURING MACHINE / POLYNOMIAL TIME COMPLEXITY / LINEAR SPACE COMPLEXITY

Аннотация научной статьи по математике, автор научной работы — Старицын Максим Анатольевич, Яхонтов Сергей Викторович

Строится FP//LINSPACE алгоритмический аналог вещественной W-функции Ламберта W 0(x) на отрезке [-(re) -1, (re) -1] FP//LINSPACE алгоритмических вещественных чисел, где r рациональное, r > 4/3 (в качестве r можно брать любое рациональное с таким условием). Для построения алгоритмического аналога вещественной W-функции Ламберта W 0(x) предлагается алгоритм WLE расчёта двоично-рациональных приближений данной функции на отрезке [-(re) -1, (re) -1] с полиномиальной временной и линейной емкостной сложностью на машине Тьюринга. Алгоритм WLE строится на основе разложения в ряд Тейлора данной функции, при этом показывается и используется в алгоритме линейная сходимость ряда Тейлора W-функции Ламберта W 0(x) на отрезке [-(re) -1, (re) -1].

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

FP//LINSPACE evaluation of real Lambert W-function Wo

In the paper, we construct FP//LINSPACE algorithmic analog of real Lambert W-function W 0(x) on segment [-(re) -1, (re) -1] of FP//LINSPACE algorithmic real numbers, where r is a rational number, r > 4/3 (any such rational number is suitable). To construct algorithmic analog of real Lambert W-function W 0(x), we consider algorithm WLE for the evaluation of dyadic rational approximations of the function on segment [-(re) -1, (re) -1] on Turing machine using polynomial time and linear space. Algorithm WLE is based on the Taylor series expansion of the function; it is shown that the Taylor series of real Lambert W-function W 0(x) on segment [-(re) -1, (re) -1] converges linearly. This fact is used in the algorithm.

Текст научной работы на тему «Вычисление вещественной W-функции Ламберта wo в пределах Fp//LINSPACE»

2014 Вычислительные методы в дискретной математике №3(25)

УДК 510.25+510.52+519.688

ВЫЧИСЛЕНИЕ ВЕЩЕСТВЕННОЙ W-ФУНКЦИИ ЛАМБЕРТА W0

В ПРЕДЕЛАХ FP//LINSPACE

М. А. Старицын, С. В. Яхонтов

Санкт-Петербургский государственный университет, г. Санкт-Петербург, Россия E-mail: [email protected], [email protected]

Строится FP//LINSPACE алгоритмический аналог вещественной W-функции Ламберта W0(x) на отрезке [-(re)-1, (re)-1] FP//LINSPACE алгоритмических вещественных чисел, где r — рациональное, r > 4/3 (в качестве r можно брать любое рациональное с таким условием). Для построения алгоритмического аналога вещественной W-функции Ламберта Wo(x) предлагается алгоритм WLE расчёта двоично-рациональных приближений данной функции на отрезке [-(re)-1, (re)-1] с полиномиальной временной и линейной емкостной сложностью на машине Тьюринга. Алгоритм WLE строится на основе разложения в ряд Тейлора данной функции, при этом показывается и используется в алгоритме линейная сходимость ряда Тейлора W-функции Ламберта W0(x) на отрезке [-(re)-1, (re)-1].

Ключевые слова: вещественная W-функция Ламберта W0, алгоритмические вещественные функции, машина Тьюринга, полиномиальная временная сложность, линейная емкостная сложность.

Введение

В работе предлагается алгоритм расчёта вещественной W-функции Ламберта W0 [1] на отрезке [-(re)-1, (re)-1], где r — рациональное, r > 4/3 (говоря более точно, основной ветви W0 вещественной W-функции Ламберта W) с полиномиальной временной и линейной емкостной сложностью на машине Тьюринга. Алгоритм строится на основе разложения в ряд Тейлора данной функции с использованием алгоритма вычисления линейно сходящихся степенных рядов в пределах FP//LINSPACE из [2] в качестве базового алгоритма.

При построении алгоритмического аналога вещественной W-функции Ламберта W0 берётся модель алгоритмических чисел и функций, изложенная в [3]. Посредством FP//LINSPACE будем обозначать класс алгоритмов, полиномиальных по времени и линейных по памяти при вычислении на машине Тьюринга [4].

W-функция Ламберта W является трансцендентной функцией и относится к классу специальных функций (т. е. как специальная функция W-функция Ламберта W не выражается через элементарные функции). W-функция Ламберта W интересна как с практической точки зрения, так как используется, например, в математических задачах физики, так и с теоретической точки зрения, например при рассмотрении вычислительной сложности констант и функций математического анализа в теоретической информатике.

Имеется достаточно большое количество алгоритмов расчёта констант и функций математического анализа: алгоритмы на основе AGM [5], метод Карацубы быстрого вычисления экспоненциальной функции [6], метод binary splitting [7] как вариант метода Карацубы, алгоритм bit-burst расчёта голономных функций (D-finite на англ.) [8], метод Ньютона вычисления обратных функций и др. Но на данный мо-

мент не известно никаких результатов относительно использования этих методов вычисления констант и функций математического анализа для вычисления вещественной W-функции Ламберта W0 на отрезке [-(re)-1, (re)-1 ] с линейной памятью на машине Тьюринга. Кроме того, некоторые из перечисленных методов не могут быть применены для расчёта W-функции Ламберта W0; например, алгоритм bit-burst расчёта голономных функций [8] неприменим к расчету W-функции Ламберта W0, так как данная функция не принадлежит к классу голономных функций. Поэтому результат, изложенный в данной работе, является новым в области вычислительной сложности алгоритмических чисел и функций.

Частично результат работы представлялся на конференции СПИСОК-14 [9].

1. Алгоритмические вещественные числа и функции

В данной работе основу представления конструктивных объектов (чисел и функций) составляет понятие алгоритмической последовательности <^, сходящейся по Коши [3], при этом в качестве вычислительной модели берётся машина Тьюринга. Такая последовательность определяется на множестве всех натуральных чисел N, включая 0, а областью аппроксимирующих значений является всюду плотное в R естественное подмножество множества рациональных чисел. Для последовательности, сходящейся по Коши и задающей вещественное число х, требуют, чтобы выполнялось

|^(n) — х| ^ 2-n

для любого натурального n.

В качестве множества аппроксимирующих значений берётся множество двоичнорациональных чисел D [3]. Рациональное число d называется двоично-рациональным, если d = m/2n для некоторого целого m и натурального n. Двоично-рациональные числа имеют конечное двоичное представление: строка s, равная

±UpUp-1 ... u0.v1 v2 ... vr,

обозначает число

d = ± ( £ Ui2i + ¿ Vj2-j

y=0 j=1

Длина представления двоично-рационального числа определяется как количество символов в строке s, равное, с учётом знака и двоичной точки, p+r + 3, и обозначается / (s). Под точностью представления prec(s) понимается число битов справа от двоичной точки, то есть r. С точки зрения изучения вычислительной сложности двоично-рациональные числа удобны тем, что для любого n двоично-рациональные числа с точностью n равномерно распределены на вещественной прямой [3].

Последовательность ^ ^ D двоично-рационально сходится к вещественному

числу х, если для любого n G N выполняется prec(^(n)) = n +1 и

|<^(n) — х| ^ 2-n.

Множество всех функций, двоично-рационально сходящихся к вещественному числу х, обозначается CFx.

Вещественное число х называется CF-алгоритмическим [3], если содержит

вычислимую функцию <^.

Вещественная функция f, заданная на отрезке [а, 6], называется алгоритмической функцией [3] на этом отрезке, если существует машина Тьюринга М с оракульной функцией, такая, что для любого х Е [а, 6] и любой вычислимой функции ^ Е СЕх функция ф, вычисляемая М с оракульной функцией <^, принадлежит CFf (х).

Фактически это означает, что для любой вычислимой функции ^ Е СЕж и любого п Е N машина М последовательно вычисляет т Е N и d Е О, такие, что

|^(ш) - х| ^ 2-т, |d - f (х)| ^ 2-п.

Сложность расчёта двоично-рациональных приближений алгоритмических чисел и функций определяется в [3] на основе длины двоичного представления точности вычисления. Память ленты запроса и ленты ответа оракульной функции при оценке емкостной вычислительной сложности алгоритма не учитывается. Обращение к оракульной функции ^ Е СЕх аргумента х алгоритмической функции осуществляется следующим образом:

— на ленту запроса оракульной функции записывается точность вычисления аргумента 2-т в виде 0т (унарная запись);

— рассчитывается значение ^(т) оракульной функции, и результат записывается на

ленту ответа;

— значение ^(т) считывается с ленты ответа в промежуточную память.

Определение 1 [2]. Число х Е К назовём ЕР//ЬШ8РАСЕ алгоритмическим вещественным числом, если существует функция ^ Е СЕх, вычислимая в пределах

ЕР//ЬШ8РАСЕ.

Определение 2 [2]. Вещественную функцию f, заданную на отрезке [а, 6], назовём ЕР//ЬШ8РАСЕ алгоритмической вещественной функцией на отрезке [а, 6], если для любого х Е [а, 6] функция ф (указанная в определении алгоритмической функции) из CFf(х) является РР//ЬШ8РАСЕ вычислимой.

Множества РР//ЬШ8РАСЕ алгоритмических вещественных чисел и функций будем обозначать ЕР//ЬШ8РАСЕс^ и ЕР//ЬЩ8РАСЕС[а6] соответственно. Здесь использование индекса С [а, 6] обусловлено тем, что алгоритмические функции являются непрерывными на всей области определения [3]. Построение алгоритмического аналога вещественной функции f на отрезке [а, 6] означает описание алгоритма, вычисляющего двоично-рациональные приближения с произвольной точностью значений f (х) для х Е [а, 6].

2. Вычисление W-функции Ламберта Ш0

Вещественная Ш-функция Ламберта Ш определяется как решение функционального уравнения

х = Ш (х)е^(х).

Данное решение является функцией, обратной к функции f (х) = хех. Вещественная Ш-функция Ламберта Ш определена на полуинтервале [—е-1, то) и имеет две ветви, верхнюю Ш0 и нижнюю Ш-1.

Будем строить алгоритм расчёта верхней ветви Ш0, который обозначим через ШЬЕ, на основе разложения в ряд Тейлора данной функции с использованием алгоритма вычисления линейно сходящихся степенных рядов в пределах РР//ЬШ8РАСЕ из [2] в качестве базового алгоритма.

ГО

Напомним, что степенной ряд Б = ГО а называется линейно сходящимся степенно

Мк)

ным рядом, если его частичная сумма 5^(&) = ГО а^, такая, что ^(к) —линейная функ-

г=0

ция от к, отличается от точного значения не более чем на 2-к: |Б — 5^)1 ^ 2-к.

Рассмотрим ряд Тейлора функции Ж0 [1] в окрестности точки х = 0:

го го (_к)(к-1)

^о(х) = ГО айХк = ГО----и----Xй, (1)

й=1 й=1 к-

радиусом сходимости данного ряда является величина е-1. Перепишем ряд (1) в виде

Ш01)(х) = Е ак1)хк = Е —-¡—тг-(ех)к , (2)

к=1 к=1 е ' к-

рассмотрим данный ряд для х Е [— (ге)-1, (ге)-1 ] и оценим сверху модуль п-го остатка

Е

дП1)(х) = Е ак)хк (3)

к=п+1

данного ряда. В силу неравенства к! ^ 22 ■ кк+1/2е к, следующего из формулы Стирлинга [10], получаем

кк

|а(1)тк| < ______к______ < 2-с1^к

1 к 1 ек ■ 22 ■ кк+1/2е-к (ге)к

для х Е [—(ге)-1, (ге)-1]. Здесь С1 —константа, зависящая от рационального г. Следовательно,

Е

д11)(х) < Е 2-Сгк = С2 ■ 2-С1(га+1),

к=п+1

то есть ряд (2) линейно сходится.

Далее, покажем ЕР//ЬШ8РАСЕ вычислимость коэффициентов а^ ряда (2) (отметим, что входными данными для алгоритма вычисления коэффициентов а^ является двоичная запись точности вычисления 2-т, что является точностью вычисления аргумента х [2]).

(1) (1) 1 к-1 Для этого запишем коэффициенты ак ) в виде произведения ак ) = ^П(-1)^-,

ек ^—1

к р

где 6^- = —т; обозначим а(р,к) = П (—1)^"-16^-. Будем вычислять величину а(к-1,к) (рав-е^ ^=1

ную ак1)) последовательно в цикле дляр Е {1,..., к—2}, на каждом шаге выполняя произведение а*рк)6р+1 (при этом а(1,к) = 61), где а*рк) —приближённое значение величины а(р,к) с некоторой точностью Ер; 6р+1 —приближённое значение величины 6р+1 с той же точностью Ер = 2-9 < 2-1; q — некоторое натуральное. Произведение ( = а*рк)6р+1 будем округлять с точностью Ер, то есть отбрасывать биты числа £ после двоичной точки, начиная с д-го бита.

Используя метод математической индукции по р Е {1,... , к — 2}, покажем, что если взять е 1 ^ 2-Сзк+(1°§2(к)+2), где Сз — некоторая константа, то

-сзк+ ^ (1°§2 (к)-1о§2 СЛ+2)

Ер ^ 2 ^

для любого р Е {1,... , к — 2}. База индукции: р = 1; в этом случае величина а*1 к), равная 6(, вычисляется с точностью Е1. Индукционный переход: пусть для р Е {1,... , к—3} выполняется |а*рк) — а(р,к)| ^ Ер. Тогда

|а(р+1,к) — а(р+1,к)1 ^ |а(р,к)6р+1 — а(р,к)6р+11 + Ер = |а(р,к)6(+1 — а(р,к)6р+1 + а(р,к)6р+1 — а(р,к)6р+11 + Ер ^

к

^ |а(р,к)(6(+1 — 6р+1)| + |6р+1(а(р,к) — а(р,к))| + Ер < 2ер + р + 1 Ер < 21°й(к) 1°§2(р+1)+2Ер

Р+1

1 -Сзк+ Й (1°§2(к)-1°§2(Л + 2)

(здесь используется оценка а(р,к) < 2-1), то есть Ер+1 < 2 ^'=1 .

Теперь оценим сверху величину

V = Е (1°§2 (к) — 1о§2(^)).

.7=1

В силу неравенства р! ^ 2рР+1/2е-р, следующего из формулы Стирлинга, получаем

применив тот факт, что функция f(х) = х(^2(2к) — ^2(х)) возрастает на отрезке [1, к].

В результате имеем оценку Ер+1 < 2-Сбк. Так как к ^ п (где п берётся из формулы (3)), то для вычислений а(р,к) можно взять точности Ер+1, такие, что Ер+1 < 2-СбП. Это означает ЕР//ЬШ8РАСЕ вычислимость коэффициентов а^ ряда Тейлора (2) функции Ш0(1)(х) (так как т линейно зависит от п для линейно сходящихся степенных рядов, а т такое, что 2-т — точность вычисления аргумента х [2]).

Так как ряд Тейлора (2) линейно сходится на отрезке [—(ге)-1, (ге)-1], где г — рациональное, г > 4/3, то воспользуемся алгоритмом беггезбит^ из [2] для вычисления данного ряда в пределах ЕР//ЬШ8РАСЕ. Алгоритм беггезбит^ позволяет вычислять с полиномиальным временем и линейной памятью на машине Тьюринга линейно схо-

Е

дящиеся степенные ряды вида Б(х) = ^ а»хг на любом отрезке а С [—д, д] при условии,

г=0

что |а^| ^ 1, д ^ 3/4 + 2-5 и величины ак являются ЕР//ЬШ8РАСЕ вычислимыми. Так как все условия, при которых алгоритм беггезбит^ применим, выполняются для ряда Тейлора функции Ш0(1)(х) (а значит, и для ряда Тейлора функции Ш0), то верна следующая теорема.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Теорема 1. Основная ветвь Ш0 вещественной Ш-функции Ламберта является ЕР//ЬШ8РАСЕ алгоритмической вещественной функцией на любом отрезке [—(ге)-1, (ге)-1] ЕР//ЬШ8РАСЕ алгоритмических вещественных чисел, где г — рациональное, г > 4/3.

Заключение

Алгоритм ШЬЕ расчета вещественной Ш-функции Ламберта Ш0 можно применять в информатике как основу ЕР//ЬШ8РАСЕ алгоритмической вещественной Ш-функ-ции Ламберта Ш0, заданной на отрезке [—(ге)-1, (ге)-1] ЕР//ЬШ8РАСЕ алгоритмических вещественных чисел, где г — рациональное, г > 4/3.

Из дальнейших исследований стоит отметить задачу построения алгоритмов, основанных на разложении в ряды, для FP//LINSPACE алгоритмических аналогов других вещественных функций, не выражающихся через элементарные функции.

ЛИТЕРАТУРА

1. Дубинов А. Е., Дубинова И. Д., Сайков С. К. W-функция Ламберта и ее применение в математических задачах физики. Саров: Изд-во ФГУП <РФЯЦ-ВНИИЭФ>, 2006. 160 с.

2. Яхонтов С. В., Косовский Н. К., Косовская Т. М. Эффективные по времени и памяти алгоритмические приближения чисел и функций. Учеб. пособие. СПб.: Изд-во СПбГУ, 2012. 256с.

3. Ko K. Complexity Theory of Real Functions. Boston: Birkhauser, 1991. 310 p.

4. Du D. and Ko K. Theory of Computational Complexity. N.Y.: John Wiley & Sons, 2000. 491 p.

5. Brent R. P. Fast multiple-precision evaluation of elementary functions // J. ACM. 1976. V. 23. No. 2. P. 242-251.

6. Карацуба Е. А. Быстрые вычисления трансцендентных функций // Проблемы передачи информации. 1991. Т. 27. Вып. 4. С. 76-99.

7. Haible B. and Papanikolaou T. Fast multiprecision evaluation of series of rational numbers // Proc. Third Intern. Symposium on Algorithmic Number Theory, Portland, Orgeon, USA, June 21-25, 1998. P. 338-350.

8. Mezzarobba M. A note on the space complexity of fast D-finite function evaluation // Computer Algebra in Scientific Comput. 2012. V. 7442. P. 212-223.

9. Старицын М. А., Яхонтов С. В. Эффективное по времени и памяти вычисление W-функции Ламберта // Четвертая Всерос. науч. конф. по проблемам информатики СПИСОК-14. СПб., 2014 (в печати).

10. Фихтенгольц Г. М. Курс дифференциального и интегрального исчисления. Т. 2. М.: Физ-матлит, 2003. 680 с.

i Надоели баннеры? Вы всегда можете отключить рекламу.