V matematice je FEE metoda je metoda rychlého sčítání řad zvláštního tvaru. Byl postaven v roce 1990 společností Ekaterina A. Karatsuba[1][2] a byl volán POPLATEK – rychlé vyhodnocení E-funkce - protože umožňuje rychlé výpočty Siegelu
-funkce možné, a zejména z ![e ^ x.](https://wikimedia.org/api/rest_v1/media/math/render/svg/f54dcfbd13b697ec1d775fde77af68a12898c4a7)
Třída funkcí, které jsou „podobné exponenciální funkci“, dostala název „E-funkce“ Siegel.[3] Mezi tyto funkce patří speciální funkce jako hypergeometrická funkce, válec, sférický funkce atd.
Pomocí FEL je možné dokázat následující větu:
Teorém: Nechte
být základní transcendentální funkce, toto je exponenciální funkce nebo trigonometrická funkce, nebo elementární algebraická funkce, nebo jejich superpozice, nebo jejich inverzní nebo superpozice inverzí. Pak
![s_ {f} (n) = O (M (n) log ^ {2} n).,](https://wikimedia.org/api/rest_v1/media/math/render/svg/4f19906e1bcc3ae3f6fd58e27991acbc809eb836)
Tady
je složitost výpočtu (bit) funkce
s přesností až
číslice,
je složitost násobení dvou
-číselná celá čísla.
Algoritmy založené na metodě FEL zahrnují algoritmy pro rychlý výpočet libovolného elementárního prvku transcendentální funkce pro jakoukoli hodnotu argumentu klasické konstanty E,
the Eulerova konstanta
the Katalánština a Apéryho konstanty,[4] takové vyšší transcendentální funkce jako Eulerova gama funkce a jeho deriváty, hypergeometrický,[5] sférický, válec (včetně Bessel )[6] funkce a některé další funkce proalgebraický hodnoty argumentu a parametrů, Funkce Riemann zeta pro celočíselné hodnoty argumentu[7][8] a Funkce Hurwitz zeta pro celočíselný argument a algebraické hodnoty parametru,[9] a také takové speciální integrály jako integrál pravděpodobnosti, Fresnelovy integrály, integrální exponenciální funkce, trigonometrické integrály a některé další integrály[10] pro algebraické hodnoty argumentu s vázanou složitostí, která je blízká optimální, a to
![s_ {f} (n) =
O (M (n) log ^ 2 n). ,](https://wikimedia.org/api/rest_v1/media/math/render/svg/4f19906e1bcc3ae3f6fd58e27991acbc809eb836)
V současnosti,[když? ] pouze FEE umožňuje rychle vypočítat hodnoty funkcí z třídy vyšších transcendentních funkcí,[11] určité speciální integrály matematické fyziky a takové klasické konstanty jako Eulerova, Katalánština[12] a Apéryho konstanty. Další výhodou metody FEE je možnost paralelizace algoritmů založených na FEE.
Výpočet FEE klasických konstant
Pro rychlé vyhodnocení konstant
lze použít Eulerův vzorec
a použít FEE na součet Taylorovy řady
![arctan {frac 12} = {frac {1} {1cdot 2}} - {frac {1} {3cdot 2 ^ {3}}} + cdots + {frac {(-1) ^ {{r-1}}} {(2r-1) 2 ^ {{2r-1}}}} + R_ {1},](https://wikimedia.org/api/rest_v1/media/math/render/svg/182e0c54cfafc9a62aa8d1d83efca68f6cbe27e2)
![arctan {frac 13} = {frac {1} {1cdot 3}} - {frac {1} {3cdot 3 ^ {3}}} + cdots + {frac {(-1) ^ {{r-1}}} {(2r-1) 3 ^ {{2r-1}}}} + R_ {2},](https://wikimedia.org/api/rest_v1/media/math/render/svg/c8e7491f8e53edddd264189f347731cf06c3492b)
se zbývajícími podmínkami
které uspokojují hranice
![| R_ {1} | leq {frac 45} {frac {1} {2r + 1}} {frac {1} {2 ^ {{2r + 1}}}};](https://wikimedia.org/api/rest_v1/media/math/render/svg/be988814ad1755c1aa8460e366cc75aaf56e49ba)
![| R_2 | leq frac {9} {10} frac {1} {2r + 1} frac {1} {3 ^ {2r + 1}};](https://wikimedia.org/api/rest_v1/media/math/render/svg/298a0a52fdf7871391e92f73c1dfeca8103bb0ed)
a pro
![r = n ,,](https://wikimedia.org/api/rest_v1/media/math/render/svg/7a3b54ea2c7a4d39cd987388cf43ebb7e490f507)
![4 (| R_1 | + | R_2 |) <2 ^ {- n}.](https://wikimedia.org/api/rest_v1/media/math/render/svg/7155ccb79ce7f82a8026caad675901ae27a59b17)
Vypočítat
theFEE je možné použít i jiné aproximace[13] Ve všech případech je složitost
![s_ {pi} = O (M (n) log ^ {2} n).,](https://wikimedia.org/api/rest_v1/media/math/render/svg/535af9b9fd2bf45c1816610d3823f1fe5502fb0b)
Vypočítat Eulerovo konstantní gama s přesností až
číslic, je nutné sečíst podle FEL dvě řady. Jmenovitě pro
![m = 6n, kvadrant k = n, kvadrant kgeq 1 ,,](https://wikimedia.org/api/rest_v1/media/math/render/svg/eda6eed673d47e8a6bc154cb0b295db2e00ab155)
![gamma = -log nsum _ {{r = 0}} ^ {{12n}} {frac {(-1) ^ {r} n ^ {{r + 1}}} {(r + 1)!}} + součet _ {{r = 0}} ^ {{12n}} {frac {(-1) ^ {r} n ^ {{r + 1}}} {(r + 1)! (r + 1)}} + O (2 ^ {{- n}}).](https://wikimedia.org/api/rest_v1/media/math/render/svg/0d991987e6ee2366c140cb60aa131ddd055a1694)
Složitost je
![s_ {gamma} = O (M (n) log ^ {2} n).,](https://wikimedia.org/api/rest_v1/media/math/render/svg/feab3beaa113d30b82977d14f43a75c999264d5e)
Rychle vyhodnotit konstantu
je možné použít FEE na jiné aproximace.[14]
Výpočet FEE určitých výkonových řad
Podle FEE se rychle počítají dvě následující řady:
![f_1 =
f_1 (z) = součet_ {j = 0} ^ {infty} frac {a (j)} {b (j)} z ^ j,](https://wikimedia.org/api/rest_v1/media/math/render/svg/cdf68c3c2f3aea0b9a04244f3939fc1c2a736d22)
![f_ {2} = f_ {2} (z) = součet _ {{j = 0}} ^ {{infty}} {frac {a (j)} {b (j)}} {frac {z ^ {j }} {j!}},](https://wikimedia.org/api/rest_v1/media/math/render/svg/7df99ea63e3cdc0d9a7d034135988349e3656539)
za předpokladu, že
jsou celá čísla,
![| a (j) | + | b (j) | leq (Cj) ^ {K}; quad | z | <1; čtyřkolka K.](https://wikimedia.org/api/rest_v1/media/math/render/svg/f8a6cebc6c636823aa37d623e04d43bf17127b59)
a
jsou konstanty a
je algebraické číslo. Složitost hodnocení série je
![s _ {{f_ {1}}} (n) = Oleft (M (n) log ^ {2} noc) ,,](https://wikimedia.org/api/rest_v1/media/math/render/svg/1d0d890f34f3ebac75a123406772e983641e3f5a)
![s _ {{f_ {2}}} (n) = Oleft (M (n) protokolovat noc).](https://wikimedia.org/api/rest_v1/media/math/render/svg/6d8c4be3de55b0d32e7b1fa6450108af028123df)
Podrobnosti o FEE na příkladu rychlého výpočtu klasické konstanty E
Pro vyhodnocení konstanty
vzít
, podmínky Taylorovy řady pro ![E,](https://wikimedia.org/api/rest_v1/media/math/render/svg/1cfc3e7aeae6ef256412eaa9f68d097804943b5a)
![e = 1 + {frac {1} {1!}} + {frac {1} {2!}} + cdots + {frac {1} {(m-1)!}} + R_ {m}.](https://wikimedia.org/api/rest_v1/media/math/render/svg/62c9603bffbcb3449ad527f5c19843069878eb05)
Tady jsme si vybrali
, požadující to pro zbytek
nerovnost
je splněn. To je například případ, kdy
Bereme tedy
takové, že přirozené číslo
je dáno nerovnostmi:
![2 ^ {k} geq {frac {4n} {log n}}> 2 ^ {{k-1}}.](https://wikimedia.org/api/rest_v1/media/math/render/svg/3a84fdb5bce79e9a695afaecfe25d35e179eae79)
Vypočítáme součet
![S = 1 + {frac {1} {1!}} + {Frac {1} {2!}} + Cdots + {frac {1} {(m-1)!}} = Součet _ {{j = 0 }} ^ {{m-1}} {frac {1} {(m-1-j)!}},](https://wikimedia.org/api/rest_v1/media/math/render/svg/45a3c98f1fa2257747947e76d40af32db123db67)
v
kroky následujícího procesu.
Krok 1. Kombinace
summandy postupně v párech vynášejí z závorek „zřejmý“ společný faktor a získají
![{egin {aligned} S & = left ({frac {1} {(m-1)!}} + {frac {1} {(m-2)!}} ight) + left ({frac {1} {( m-3)!}} + {frac {1} {(m-4)!}} ight) + cdots & = {frac {1} {(m-1)!}} (1 + m-1) + {frac {1} {(m-3)!}} (1 + m-3) + cdots .end {zarovnáno}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/56b802586d5b122018562ed2dbf6e126f714cade)
Budeme počítat pouze celočíselné hodnoty výrazů v závorkách, tedy hodnoty
![m, m-2, m-4, tečky.,](https://wikimedia.org/api/rest_v1/media/math/render/svg/29ca1fd3514862a62da02b1d619c644ee1eac09b)
V prvním kroku tedy součet
je do
![S = S (1) = součet _ {{j = 0}} ^ {{m_ {1} -1}} {frac {1} {(m-1-2j)!}} Alfa _ {{m_ {1 } -j}} (1),](https://wikimedia.org/api/rest_v1/media/math/render/svg/195272ee6beb6110e3b3cdfcbeb527490df5f6d7)
![m_ {1} = {frac m2}, m = 2 ^ {k}, kgeq 1.](https://wikimedia.org/api/rest_v1/media/math/render/svg/57e6d73af8a2096580c01ee6e59abf48eaa4789f)
V prvním kroku
celá čísla formuláře
![alpha _ {{m_ {1} -j}} (1) = m-2j, quad j = 0,1, tečky, m_ {1} -1,](https://wikimedia.org/api/rest_v1/media/math/render/svg/b9df21cb7e57ef1bbd20f261bc76a40629c5ca6a)
jsou vypočteny. Poté postupujeme podobným způsobem: kombinací každého kroku se sčítají součty
postupně v párech vymáčkněte z závorek „zřejmý“ společný faktor a vypočítejte pouze celočíselné hodnoty výrazů v závorkách. Předpokládejme, že první
kroky tohoto procesu jsou dokončeny.
Krok
(
).
![S = S (i + 1) = součet _ {{j = 0}} ^ {{m _ {{i + 1}} - 1}} {frac {1} {(m-1-2 ^ {{i + 1}} j)!}} Alpha _ {{m _ {{i + 1}} - j}} (i + 1),](https://wikimedia.org/api/rest_v1/media/math/render/svg/609b068b76bb2db0b479c551273bd206cc49b4ab)
![m _ {{i + 1}} = {frac {m_ {i}} {2}} = {frac {m} {2 ^ {{i + 1}}}},](https://wikimedia.org/api/rest_v1/media/math/render/svg/25e1bc512024dadaa2b5bb8e4fefe469dd6edced)
počítáme pouze
celá čísla formuláře
![alpha_ {m_ {i + 1} -j} (i + 1) = alpha_ {m_i-2j} (i) +
alpha_ {m_i- (2j + 1)} (i) frac {(m-1-2 ^ {i + 1} j)!} {(m-1-2 ^ i-2 ^ {i + 1} j) !}
,](https://wikimedia.org/api/rest_v1/media/math/render/svg/c39e180fc4ff80ae7904313fc734fed75d3ef8c3)
![j = 0,1, tečky, quad m _ {{i + 1}} - 1, quad m = 2 ^ {k}, quad kgeq i + 1.](https://wikimedia.org/api/rest_v1/media/math/render/svg/e6b748a2d1f7e9c8b1cbc77a7598c29ee1ac88f6)
Tady
![{frac {(m-1-2 ^ {{i + 1}} j)!} {(m-1-2 ^ {i} -2 ^ {{i + 1}} j)!}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/bbabc8a1e1c0eac887c0a4d7d73bd7dc623d83cf)
je produktem
celá čísla.
Atd.
Krok
, poslední. Vypočítáme jednu celočíselnou hodnotu
vypočítáme pomocí rychlého algoritmu popsaného výše
a udělejte jedno dělení celého čísla
celým číslem
s přesností až
číslice. Získaným výsledkem je součet
nebo konstanta
až do
číslice. Složitost všech výpočtů je
![Oleft (M (m) log ^ {2} může) = Oleft (M (n) log noc).,](https://wikimedia.org/api/rest_v1/media/math/render/svg/fdc3deffc67a4aed7a739d440448a34bec11b024)
Viz také
Reference
- ^ E. A. Karatsuba, Rychlé hodnocení transcendentálních funkcí. Probl. Peredachi Informat., Sv. 27, č. 4, (1991)
- ^ D. W. Lozier a F. W. J. Olver, Numerické hodnocení speciálních funkcí. Mathematics of Computation 1943–1993: A Half-Century of Computational Mathematics, W. Gautschi, eds., Proc. Symposy. Applied Mathematics, AMS, roč. 48 (1994).
- ^ C. L. Siegel,Transcendentní čísla. Princeton University Press, Princeton (1949).
- ^ Karatsuba E. A., Rychlé hodnocení
, Probl. Peredachi Informat., Sv. 29, č. 1 (1993) - ^ Ekatharine A. Karatsuba, Rychlé vyhodnocení hypergeometrické funkce pomocí FEL. Computational Methods and Function Theory (CMFT'97), N. Papamichael, St. Ruscheweyh a E. B. Saff, eds., World Sc. Hospoda. (1999)
- ^ Catherine A. Karatsuba, Rychlé vyhodnocení Besselových funkcí. Integral Transforms and Special Functions, sv. 1, č. 4 (1993)
- ^ E. A. Karatsuba, Rychlé vyhodnocení Riemannovy zeta-funkce
pro celočíselné hodnoty argumentu
. Probl. Peredachi Informat., Sv. 31, č. 4 (1995). - ^ J. M. Borwein, D. M. Bradley a R. E. Crandall, Výpočetní strategie pro funkci Riemann zeta. J. of Comput. Appl. Math., Sv. 121, č. 1–2 (2000).
- ^ E. A. Karatsuba, Rychlé vyhodnocení funkce Hurwitz zeta a Dirichlet
-series, Problem. Peredachi Informat., Sv. 34, č. 4, str. 342–353, (1998). - ^ E. A. Karatsuba, Rychlý výpočet některých speciálních integrálů matematické fyziky. Scientific Computing, Validated Numerics, Interval Methods, W. Kramer, J. W. von Gudenberg, eds. (2001).
- ^ E. Bach, Složitost číselně-teoretických konstant. Info. Proc. Letters, No. 62 (1997).
- ^ E. A. Karatsuba, Rychlý výpočet $ zeta (3) $ a některých speciálních integrálů pomocí polylogaritmů, Ramanujanova vzorce a jeho zobecnění. J. of Numerical Mathematics BIT, sv. 41, č. 4 (2001).
- ^ D. H. Bailey, P. B. Borwein a S. Plouffe, O rychlém výpočtu různých polylogaritmických konstant. Math.Comp., Sv. 66 (1997).
- ^ R. P. Brent a E. M. McMillan, Některé nové algoritmy pro vysoce přesný výpočet Eulerovy konstanty. Matematika. Comp., Sv. 34 (1980).
externí odkazy