|
О сложности вычисления “сжатых” степенных рядов
Е. А. Карацуба Вычислительный центр им. А. А. Дородницына РАН, г. Москва
Аннотация:
Представлены алгоритмы и оценки сложности вычисления степенных рядов, в которых участвуют лишь члены с переменной в степени, равной степени натурального числа, не меньшей 2.
Библиография: 22 названия.
Ключевые слова:
алгоритмы, степенные ряды, сложность вычисления, быстрые алгоритмы, метод БВЕ, формула Фаульхабера, числа Бернулли.
Поступило: 01.08.2022 Исправленный вариант: 28.01.2023
1. Введение. Основные определения. Быстрые алгоритмы. Метод БВЕ Под “сжатыми” степенными рядами будем иметь в виду ряды вида
Wr(x)=∞∑j=0d(j)xjr,|x|<1,r=2,3,….
Такие ряды возникают в разных областях математики и физики. В теории чисел и теории специальных функций такими рядами являются: эйлерова тэта-функция и тэта-ряды Якоби (см.,например, [1]), а также функция, введенная Риманом (см.,например, [2]), Очевидно, что если положить в (2) y=e−πx, можно рассматривать (2) в качестве ряда W2(y). Такие ряды и суммы встречаются в квантовой физике, например, в квантовой оптике (см. [3], [4]). Настоящая статья посвящена проблеме быстрого (или эффективного) вычисления ряда (1) и оценке сложности такого вычисления для аргумента x разной арифметической природы. Под алгоритмом ниже предполагается правило или способ вычисления без формализации этого понятия. Далее считаем, что числа записаны в двоичной системе счисления, знаки которой 0 и 1 называются битами. Определение 1. Запись знаков 0, 1, плюс, минус, скобка; сложение, вычитание и умножение двух битов называется одной элементарной или битовой операцией (далее – просто операцией). Пусть y=f(x) есть вещественная функция вещественного переменного x, a⩽x⩽b, которая на интервале (a,b) удовлетворяет условию Липшица порядка α, 0<α<1, так что при x1,x2∈(a,b): |f(x1)−f(x2)|⩽|x1−x2|α. Пусть n – натуральное число. Определение 2. Вычислить функцию y=f(x) в точке x=x0∈(a,b) с точностью до n знаков, значит найти такое число A, что |f(x0)−A|⩽2−n. Определение 3. Количество операций, достаточное для вычисления функции f(x) в точке x=x0 с точностью до n знаков посредством данного алгоритма, называется сложностью вычисления f(x) в точке x0 и обозначается sf(n)=sf,x0(n). Сложность умножения двух n-значных чисел получила специальное обозначение M(n). Сложность школьного метода умножения оценивается как В 1960 г. (см. [5]–[8]) А. А. Карацуба нашел первый быстрый метод умножения двух n-значных чисел с оценкой сложности
M(n)=O(nlog23),log23=1,584…,
открыв тем самым новое направление в математике – быстрые алгоритмы или быстрые вычисления. В зарубежной литературе метод А. А. Карацубы получил несколько наименований, самыми распространенными из которых являются “divide and conquer” и “binary splitting”, а его развитие и усовершенствование привело к созданию новых быстрых алгоритмов, в частности, быстрых алгоритмов умножения с лучшей оценкой сложности (см. [9]–[11]). Далее считаем, что для сложности умножения справедлива оценка Шенхаге–Штрассена (см. [10]) Определение 4. Назовем быстрым такой алгоритм вычисления функции f, что для этого алгоритма где C есть константа. Тем самым, сложность какого-либо быстрого алгоритма оценивается следующим образом: для любого ε>0 и n>n1(ε), n→∞. Для быстрого вычисления широкого класса простейших и высших трансцендентных функций автором был построен (см. [12]–[18]) новый метод – метод БВЕ – Быстрого Вычисления Е-функций (о Е-функциях Зигеля см. [19]). Применяя БВЕ, можно вычислить любую элементарную трансцендентную функцию для любого аргумента, классические константы e, π, постоянную Эйлера γ, постоянные Апери и Каталана, такие высшие трансцендентные функции как гамма-функцию Эйлера, гипергеометрические функции, сферические функции, цилиндрические функции и т.д. для алгебраических значений аргумента и параметров, дзета-функцию Римана для целых значений аргумента, дзета-функцию Гурвица для целого аргумента и алгебраических значений параметра, а также такие специальные интегралы, как интеграл вероятности, интегралы Френеля, интегральную экспоненциальную функцию, интегральные синус и косинус и т.д. с оценкой сложности не хуже, чем Метод БВЕ – это метод суммирования рядов специального вида. Рассмотрим степенной ряд f, f=f(z)=∑∞j=0d(j)zj. Пусть R=1/¯limj→∞j√|d(j)| есть радиус сходимости этого ряда. Предположим, что |z|⩽R−δ, 0<δ<R, δ – некоторая константа. Тогда существует такая константа A⩾1, что Поэтому, чтобы вычислить функцию f в точке z с точностью 2−n, достаточно вычислить с точностью 2−n−1 сумму S, Применим к вычислению суммы S метод БВЕ (см. детальное описание в [12]–[18]): т.е., комбинируя на каждом шаге слагаемые S последовательно попарно и вынося за скобки “очевидный” общий множитель, вычисляем на каждом шаге значения выражений в скобках, которые по построению будут целыми числами. Чтобы вычислительная сложность была не слишком большой, вычисляемые на каждом шаге значения “скобок” должны расти не слишком быстро. Например (см. [12]), с помощью БВЕ можно вычислить быстро следующие два вида степенных рядов:
f1=f1(z)=∞∑j=0a(j)b(j)zj,
f2=f2(z)=∞∑j=0a(j)b(j)zjj!,
при условии, что a(j), b(j) – целые числа, |a(j)|+|b(j)|⩽(K1j)K2, |z|<1, K1, K2 есть константы, и z есть алгебраическое число. Сложность вычисления рядов (4), (5) оценивается так:
sf1(n)=O(M(n)log2n),sf2(n)=O(M(n)logn).
Структура метода БВЕ допускает распараллеливание БВЕ-алгоритмов.
2. Вычисление “сжатых” степенных рядов с помощью БВЕ Легко видеть из (1) и (4), (5), что если числа d(j) таковы, что
d(j)=a(j)b(j)илиd(j)=a(j)b(j)j!,a(j),b(j)−целые числа,|a(j)|+|b(j)|⩽(K1j)K2,K1,K2−константы,
то при алгебраическом x, |x|<1, “сжатые” ряды (1) являются подмножеством множества рядов (4), (5) и вычисляются методом БВЕ точно так же, как и ряды (4), (5). Единственным отличием является количество слагаемых ряда, которые нужно просуммировать, чтобы получить значение суммы ряда с точностью до n знаков. Для достижения точности 2−n в (4) достаточно взять ∼n членов ряда (4) и потом просуммировать сумму ∼n слагаемых методом БВЕ (см. для деталей [12], [15], [18]). Для достижения точности 2−n в (5) достаточно взять ∼n/logn членов ряда (5) и потом вычислить сумму ∼n/logn слагаемых методом БВЕ (см. для деталей [12]). В то же время, чтобы вычислить ряд (1) с точностью 2−n, достаточно взять r√n, а затем просуммировать сумму ∼r√n слагаемых (точнее, количество суммируемых слагаемых должно равняться первому целому числу, не меньшему, чем ∼r√n, и равному степени двойки) методом БВЕ. Поскольку количество шагов в таком БВЕ алгоритме есть logr√n=1/rlogn, оценки сложности вычисления “сжатых” степенных рядов в этом случае совпадают с оценками (6), и алгоритмы БВЕ вычисления “сжатых” рядов являются быстрыми. С другой стороны, оценка сложности вычисления ”сжатых” рядов вида (2) методом БВЕ будет отличаться от оценок сложности вычисления методом БВЕ рядов (4), (5) с трансцендентным аргументом, поскольку существенно зависит от количества суммируемых слагаемых. В случае рядов (4), (5) оценка сложности вычисления (в общем случае) будет O(n2+ε). В случае “сжатого” степенного ряда с трансцендентным аргументом сложность вычисления методом БВЕ будет для любого ε>0, n→∞. Таким образом (см. выше определение быстрого алгоритма), такие алгоритмы не будут быстрыми. Далее рассмотрим другой способ вычисления изучаемого ряда с трансцендентным аргументом и оценим сложность нового вычисления. Для простоты будем рассматривать “сжатые” степенные ряды (1) с d(j)≡1 ∀j, т.е. такие, как функция ω(x) из (2).
3. Вспомогательные утверждения Лемма 1. Справедливы формулы
k2=k∑m=1(2m−1),k3=k∑m=1(3m2−3m+1),k4=k∑m=1(4m3−6m2+4m−1),…,
\begin{equation}
\begin{split} k^p &=\sum_{m=1}^k\biggl(\binom{p}{1}m^{p-1}-\binom{p}{2}m^{p-2} +\binom{p}{3}m^{p-3}-\binom{p}{4}m^{p-4}+\dotsb+(-1)^{p-1}\biggr) \\ &=\sum_{m=1}^k\sum_{j=1}^p(-1)^{j-1}\binom{p}{j}m^{p-j}. \end{split}
\end{equation}
\tag{10}
Доказательство. Легко видеть, что сумма слагаемых с биномиальными коэффициентами, стоящая в скобках в правой части формулы (10) под знаком суммы по m от 1 до k, представляет собой выражение
\begin{equation*}
m^p-(m-1)^p.
\end{equation*}
\notag
Отсюда имеем
\begin{equation*}
\sum_{m=1}^k(m^p-(m-1)^p)=\sum_{m=1}^km^p-\sum_{m=1}^k(m-1)^p=k^p.
\end{equation*}
\notag
Замечание 1. Заметим, что первая формула из (9) – это известная табличная формула (см., например, [20]). Следствие 1. Из леммы 1 следует, что примечательную формулу Фаульхабера от 1631 г. из [21] можно записать в новом виде. Формулу Фаульхабера (сам Иоганн Фаульхабер подсчитал в численном виде 17 первых коэффициентов), с выведенными для любой степени коэффициентами B_j, названными впоследствии в его честь числами Бернулли, Бернулли доказал в следующей форме (см. [22]):
\begin{equation*}
n^{p+1}=(p+1)\sum_{k=1}^nk^p+\frac{p+1}{2}\,n^p +\sum_{j=2}^p\binom{p+1}{j}B_jn^{p+1-j}.
\end{equation*}
\notag
С введенными после Бернулли двумя первыми “числами Бернулли”
\begin{equation*}
B_0=1,\qquad B_1=-\frac{1}{2}
\end{equation*}
\notag
формула Фаульхабера имеет вид (см., например, [ 20])
\begin{equation*}
\sum_{k=1}^nk^p=\frac{1}{p+1}\sum_{j=0}^p(-1)^j\binom{p+1}{j}B_jn^{p+1-j}.
\end{equation*}
\notag
Из леммы 1 следует, что
\begin{equation*}
\sum_{k=1}^nk^p=\frac{1}{p+1}\sum_{j=0}^p(-1)^j\binom{p+1}{j}B_jn^{p+1-j} =\sum_{k=1}^n\sum_{m=1}^k\sum_{j=1}^p(-1)^{j-1}\binom{p}{j}m^{p-j}.
\end{equation*}
\notag
Замечание 2. Заметим, что поскольку
\begin{equation*}
m^p-(m-1)^p=\sum_{j=0}^{p-1}m^{p-1-j}(m-1)^j,
\end{equation*}
\notag
формулу Фаульхабера можно записать также в виде
\begin{equation*}
\sum_{k=1}^nk^p=\frac{1}{p+1}\sum_{j=0}^p(-1)^j\binom{p+1}{j}B_jn^{p+1-j} =\sum_{k=1}^n\sum_{m=1}^k\sum_{j=0}^{p-1}m^{p-1-j}(m-1)^j.
\end{equation*}
\notag
Лемма 2. Сумма
\begin{equation}
S_{r,l}(x)=\sum_{j=0}^lx^{j^r}
\end{equation}
\tag{11}
“сжатого” степенного ряда
\begin{equation}
\widetilde W_r(x)=\sum_{j=0}^\infty x^{j^r},\qquad |x|<1,\quad r =2,3,\dots,
\end{equation}
\tag{12}
представима в виде произведения
\begin{equation}
S_{r,l}(x)=\bigl(1+x(1+x^{a_2}(1+x^{a_3}(1+\dotsb+x^{a_{l-1}} (1+x^{a_l})\dotsb)))\bigr),
\end{equation}
\tag{13}
где
\begin{equation}
\begin{gathered} \, a_2 =\sum_{m=1}^r(-1)^{m-1}\binom{r}{m}2^{r-m}=2^r-1, \\ a_3=\sum_{m=1}^r(-1)^{m-1}\binom{r}{m}3^{r-m}=3^r-2^r, \\ \dots, \\ a_{l-1} =\sum_{m=1}^r(-1)^{m-1}\binom{r}{m}(l-1)^{r-m}=(l-1)^r -(l-2)^r, \\ a_l =\sum_{m=1}^r(-1)^{m-1}\binom{r}{m}l^{r-m}=l^r-(l-1)^r; \end{gathered}
\end{equation}
\tag{14}
в частности, с учетом того, что l^2-(l-1)^2=2l-1,
\begin{equation}
S_{2,l}(x) =\sum_{j=0}^lx^{j^2} =\bigl(1+x(1+x^3(1+x^5(1+\dotsb+x^{2l-3}(1+x^{2l-1})\dotsb)))\bigr).
\end{equation}
\tag{15}
Доказательство. Пользуясь леммой 1, получаем последовательно значения коэффициентов от a_1=\sum_{m=1}^r(-1)^{m-1}\binom{r}{m}1^{r-m}=1 до a_l=\sum_{m=1}^r(-1)^{m-1}\binom{r}{m}l^{r-m}.
4. Новый алгоритм и сложность вычисления “сжатого” степенного ряда Вычислим ряд (12) с точностью 2^{-n}, предположив для простоты, что |x|\leqslant 1/2. В этом случае в сумме (11) достаточно просуммировать l слагаемых, где l – наименьшее целое число такое, что
\begin{equation}
l\geqslant n^{1/r}.
\end{equation}
\tag{16}
Чтобы вычислить (11) будем вычислять произведение (13). На вычисление значения произведения x^{2^r-1}=x* x^2*x^4*\dotsb*x^{2^{r-2}}*x^{2^{r-1}}, где каждый следующий сомножитель является квадратом предыдущего, достаточно O((2r-1)M(n)) операций (r – фиксированное), для вычисления всех значений x^{3^r-2^r},x^{4^r-3^r},x^{5^r-4^r},\dots,x^{l^r-(l-1)^r} (вычисляем последовательно), с учетом (16) достаточно
\begin{equation}
O\bigl(M(n)n^{1/r}\log n\bigr)
\end{equation}
\tag{17}
операций. С предварительно вычисленными значениями
\begin{equation*}
x^{2^r-1},\ x^{3^r-2^r},\ x^{4^r-3^r},\ x^{5^r-4^r}, \ \dots,\ x^{l^r-(l-1)^r}
\end{equation*}
\notag
произведение (13) при условии (16) вычисляется со сложностью
\begin{equation}
O(M(n)n^{1/r}).
\end{equation}
\tag{18}
Из (17), (18) и (3) следует, что для вычисления с точностью 2^{-n} ряда (12) достаточно
\begin{equation*}
O(n^{1+1/r}\log^2n\log\log n)
\end{equation*}
\notag
операций. Если 1/2<|x|\leqslant a<1, то определив такое k, что a^k< 1/2, или k\geqslant 1/\log_2(1/a), нужно просуммировать не (16) членов ряда (12), а L членов ряда, где L наименьшее целое число такое, что L\geqslant(kn)^{1/r}. Поскольку k является фиксированной постоянной, оценка сложности вычисления не меняется с точностью до констант в O. Тем самым доказана Теорема 1. Сложность вычисления ряда
\begin{equation*}
\widetilde W_r(x)=\sum_{j=0}^\infty x^{j^r},\qquad |x|<1,\quad r =2,3,\dots,
\end{equation*}
\notag
где x – трансцендентное число, есть
\begin{equation*}
s_{\widetilde W_r(x)}(n)=O(n^{1+1/r+\varepsilon})
\end{equation*}
\notag
для любого \varepsilon>0 и n>n_1(\varepsilon), n\to\infty.
5. Заключение Поскольку в теории сложности вычислений до сих пор (июль 2022) не найдено ни одной оценки битовой сложности вычисления снизу (кроме тривиальных), трудно заявлять о существовании (или не существовании) быстрого алгоритма вычисления “сжатого” степенного ряда с трансцендентным аргументом. Однако, то что оценка сложности вычисления такого ряда посредством двух совершенно разных методов оказалась одинаковой по n, n\to\infty, с точностью до констант, стоящих в O, свидетельствует о том, что полученная оценка близка к “естественной” (возможно даже к оптимальной) для вычисления “сжатого” степенного ряда с трансцендентным аргументом.
|
|
|
СПИСОК ЦИТИРОВАННОЙ ЛИТЕРАТУРЫ
|
|
|
1. |
Дж. Н. Ватсон, Э. Т. Уиттекер, Курс современного анализа, Мир, М., 1963 |
2. |
С. М. Воронин, А. А. Карацуба, Дзета-функция Римана, Наука, М., 1994 |
3. |
V. V. Dodonov, ““Nonclassical” states in quantum optics: a “squeezed” review of the first 75 years”, J. Opt. B Quantum Semiclass. Opt., 4:1 (2002), R1–R33 |
4. |
R. Tanaś, “Nonclassical states of light propagating in Kerr media, Chapter 6”, Theory of Nonclassical States of Light, eds. V. V. Dodonov, V. I. Man'ko, CRC Press, 2019, 267–312 |
5. |
А. Карацуба, Ю. Офман, “Умножение многозначных чисел на автоматах”, Докл. АН СССР, 145:2 (1962), 293–294 |
6. |
E. B. Dynkin, A. N. Kolmogorov, A. I. Kostrikin, I. I. Pjateckii-Sapiro, I. R. Safarevic, Six Lectures Delivered at the International Congress of Mathematicians in Stockholm, Amer. Math. Soc. Transl. 2, 31, Amer. Math. Soc., 1962 |
7. |
А. А. Карацуба, “Сложность вычислений”, Оптимальное управление и дифференциальные уравнения, Сборник статей. К семидесятилетию со дня рождения академика Евгения Фроловича Мищенко, Тр. МИАН, 211, Наука, Физматлит, М., 1995, 186–202 |
8. |
А. А. Карацуба, “Комментарии к моим работам, написанные мной самим”, Математика и информатика, 2, К 75-летию со дня рождения Анатолия Алексеевича Карацубы, Совр. пробл. матем., 17, МИАН, М., 2013, 7–29 |
9. |
А. Л. Тоом, “О сложности схемы из функциональных элементов, реализующей умножение целых чисел”, Докл. АН СССР, 150:3 (1963), 496–498 |
10. |
A. Schönhage, V. Strassen, “Schnelle Multiplikation grosser Zahlen”, Computing (Arch. Elektron. Rechnen), 7 (1971), 281–292 |
11. |
M. Fürer, “Faster integer multiplication”, SIAM J. Comput., 39:3 (2009), 979–1005 |
12. |
Е. А. Карацуба, “Быстрые вычисления трансцендентных функций”, Пробл. передачи информ., 27:4 (1991), 76–99 |
13. |
Е. А. Карацуба, “Быстрое вычисление дзета-функции Римана \zeta(s) при целых значениях аргумента s”, Пробл. передачи информ., 31:4 (1995), 69–80 |
14. |
Е. А. Карацуба, “Быстрое вычисление значений дзета-функции Гурвица и L-рядов Дирихле”, Пробл. передачи информ., 34:4 (1998), 62–75 |
15. |
E. A. Karatsuba, “Fast evaluation of hypergeometric functions by FEE”, Computational Methods and Function Theory (Nicosia, 1997), Ser. Approx. Decompos., 11, World Sci., River Edge, NJ, 1999, 303–314 |
16. |
E. A. Karatsuba, “Fast computation of \zeta(3) and of some special integrals using the Ramanujan formula and polylogarithms”, BIT, 41:4 (2001), 722–730 |
17. |
E. A. Karatsuba, “Fast computation of some special integrals of mathematical physics”, Scientific Computing, Validated Numerics, Interval Methods, eds. W. Kramer, J. W. von Gudenberg, 2001, 29–41 |
18. |
Е. А. Карацуба, “О вычислении функции Бесселя путём суммирования рядов”, Сиб. журн. вычисл. матем., 22:4 (2019), 453–472 |
19. |
C. L. Siegel, Transcendental Numbers, Princeton Univ. Press, Princeton, 1949 |
20. |
А. П. Прудников, Ю. А. Брычков, О. И. Маричев, Интегралы и ряды, т. 1, Элементарные функции, Наука, М., 1981 |
21. |
J. Faulhaber, Academia Algebrae – Darinnen die miraculosische Inventiones zu den höchsten Cossen weiters continuirt und profitiert werden, 1631 |
22. |
J. Bernoulli, “Ars conjectandi, opus posthumum”, Accedit Tractatus de seriebus infinitis, et epistola gallicé scripta de ludo pilae reticularis, Thurneysen Brothers, Basel, 1713 |
Образец цитирования:
Е. А. Карацуба, “О сложности вычисления “сжатых” степенных рядов”, Матем. заметки, 114:1 (2023), 113–120; Math. Notes, 114:1 (2023), 92–98
Образцы ссылок на эту страницу:
https://www.mathnet.ru/rus/mzm13966https://doi.org/10.4213/mzm13966 https://www.mathnet.ru/rus/mzm/v114/i1/p113
|
Статистика просмотров: |
Страница аннотации: | 246 | PDF полного текста: | 57 | HTML русской версии: | 172 | Список литературы: | 43 | Первая страница: | 15 |
|