Formuła podobna do maszyny

W matematyce formuły podobne do maszyn są popularną techniką obliczania liczby π (stosunek obwodu do średnicy koła ) do dużej liczby cyfr . Są to uogólnienia Johna Machin'a z 1706 roku:

którego używał do obliczania liczby π z dokładnością do 100 miejsc po przecinku.

Formuły podobne do maszyn mają postać

 

 

 

 

()

gdzie jest dodatnią liczbą całkowitą, całkowitymi niezerowymi ze znakiem i i są dodatnimi liczbami całkowitymi takimi, że za .

Wzory te są używane w połączeniu z szeregiem Gregory'ego , rozszerzeniem szeregu Taylora dla arcus tangens :

 

 

 

 

()

Pochodzenie

wzór na dodawanie kątów dla arcus tangens

 

 

 

 

()

Jeśli

Wszystkie wzory podobne do Machin można wyprowadzić przez wielokrotne zastosowanie równania 3 . Jako przykład pokazujemy wyprowadzenie oryginalnego wzoru Machina:
i konsekwentnie
Dlatego też
i tak ostatecznie

Wnikliwym sposobem wizualizacji równania 3 jest zobrazowanie, co się stanie, gdy dwie liczby zespolone zostaną pomnożone przez siebie:

 

 

 

 

()

Kąt związany z liczbą zespoloną jest określony przez:

Zatem w równaniu 4 kąt związany z iloczynem wynosi:

Zauważ, że jest to to samo wyrażenie, które występuje w równaniu 3 . Zatem równanie 3 można zinterpretować jako mówiące, że mnożenie dwóch liczb zespolonych oznacza dodanie związanych z nimi kątów (patrz mnożenie liczb zespolonych ).

Ekspresja:

jest kątem związanym z:

Równanie 1 można przepisać jako:

Tutaj jest która odpowiada za różnicę wielkości między wektorami po obu stronach równania. Wielkości można zignorować, istotne są tylko kąty.

Używanie liczb zespolonych

Inne formuły mogą być generowane przy użyciu liczb zespolonych. Na przykład kąt liczby zespolonej przez a gdy mnoży się liczby zespolone, dodaje się ich kąty. Jeśli za to wynosi 45 stopni lub radianów. Oznacza to, że jeśli część rzeczywista i część zespolona są równe, to arcus tangens będzie równy . Ponieważ arcus tangens jedynki ma bardzo wolne tempo zbieżności, jeśli znajdziemy dwie liczby zespolone, które po pomnożeniu dadzą tę samą część rzeczywistą i urojoną, otrzymamy formułę podobną do Machin. Przykładem jest i . Jeśli je pomnożymy, otrzymamy . Dlatego .

Jeśli chcesz użyć liczb zespolonych, aby pokazać, że musisz najpierw wiedzieć, że mnożąc kąty, liczbę zespoloną podwyższasz do potęgi liczby, przez którą mnożysz. Więc a ponieważ część rzeczywista i część urojona są sobie równe, to

miarę Lehmera

Jednym z najważniejszych parametrów charakteryzujących wydajność obliczeniową formuły typu Machin jest miara Lehmera, zdefiniowana jako

.

Aby uzyskać miarę Lehmera jak najmniejszą, konieczne jest zmniejszenie stosunku dodatnich liczb całkowitych liczby warunki w formule podobnej do Machin. W dzisiejszych czasach Lehmera jest ze względu na H. Chien-Lih (1997), którego wzór podobny jest pokazany poniżej . We wzorach podobnych do Machin bardzo często zdarza się, że wszystkie liczniki

Formuły dwuczłonowe

W szczególnym przypadku, w którym licznik ma dokładnie cztery rozwiązania mające tylko dwa wyrazy. za Wszystkie cztery zostały znalezione przez Johna Machin w latach 1705-1706, ale tylko jeden z nich stał się szeroko znany, gdy został opublikowany w książce Williama Jonesa Synopsis Palmariorum Matheseos , więc pozostałe trzy są często przypisywane innym matematykom. To są

Eulera 1737 (znany Machinowi 1706):

Hermann 's 1706 (znany Machinowi 1706):

Hutton's lub Vega's (znany Machinowi 1706):

i Machin's 1706:

.

W ogólnym przypadku, gdy wartość licznika jest ograniczona, istnieje nieskończenie wiele innych Na przykład:

Lub

 

 

 

 

()

Przykład

Arctangent areas.svg

Na sąsiednim diagramie przedstawiono zależność między arcus tangensami a ich polami. Z diagramu mamy:


związek, który można znaleźć również za pomocą następującego obliczenia w obrębie liczb zespolonych

Więcej warunków

Rekord liczby π z 2002 r. , 1 241 100 000 000, uzyskał Yasumasa Kanada z Uniwersytetu Tokijskiego . Obliczenia przeprowadzono na 64-węzłowym superkomputerze Hitachi z 1 terabajtem pamięci głównej, wykonującym 2 biliony operacji na sekundę. Zastosowano dwa następujące równania:

Kikuo Takano ( 1982).
FCM Störmer (1896).

Stosuje się dwa równania, aby można było sprawdzić, czy oba dają ten sam wynik; pomocne jest ponowne wykorzystanie w równaniach niektórych, ale nie wszystkich arcus tangensów, ponieważ trzeba je obliczyć tylko raz - zwróć uwagę na ponowne wykorzystanie 57 i 239 powyżej.

Podobne do maszyny wzory na π można skonstruować, znajdując zbiór liczb, w których rozkłady na czynniki pierwsze b 2 + 1 razem używają nie bardziej odrębnych liczb pierwszych niż liczba elementów w zbiorze, a następnie używając albo algebry liniowej, albo podstawy LLL- algorytm redukcji do konstruowania liniowych kombinacji arcus tangensów odwrotności mianowników liczb całkowitych . Na przykład dla powyższego wzoru Størmer mamy

więc cztery wyrażenia używające między sobą tylko liczb pierwszych 2, 5, 13 i 61.

W 1993 roku Jörg Uwe Arndt znalazł formułę 11-członową:

używając zestawu 11 liczb pierwszych

Inną formułę, w której 10 argumentów jest takich samych jak powyżej, odkrył Hwang Chien-Lih (黃 見 利) (2004), więc łatwiej jest sprawdzić, czy oba dają ten sam wynik

Zauważysz, że te wzory ponownie wykorzystują wszystkie te same arcus tangensy po pierwszym. Konstruuje się je, szukając liczb, w których b 2 + 1 jest podzielne tylko przez liczby pierwsze mniejsze niż 102.

Najbardziej wydajna obecnie znana formuła podobna do Machin do obliczania π to:

(Hwang Chien-Lih, 1997)

gdzie zbiór liczb pierwszych to

Dalszym udoskonaleniem jest użycie „Procesu Todda”, jak opisano w; prowadzi to do wyników takich jak

(Hwang Chien-Lih, 2003)


gdzie duża liczba pierwsza 834312889110521 dzieli b n 2 + 1 ostatnich dwóch indeksów. M. Wetherfield znaleziony w 2004 roku

Więcej metod

Istnieją dalsze metody wyprowadzania wzorów podobnych do Machin liczb całkowitych. Jeden jest określony przez następujący wzór:

Gdzie

i rekurencyjnie

I

i rekurencyjnie

Np. dla i otrzymujemy: k = 4 {\ displaystyle k = 4}

Potwierdza to następujący kod MuPAD:


  
   z  :=  (  10  +  ja  )  ^  8  *  (  84  -  ja  )  *  (  21342  -  ja  )  *  (  991268848  -  ja  )  *  (  193018008592515208050  -  ja  )  \  *  (  19796789989640185176324042423875898835 0338   -  ja  )  \  *  ( 
 117573868168175352930277752844194126767991915008537018836932014293678271636885792397  -  I  )  :  Re  (  z  )  -  Im  (  z  ) 
0

oznaczający

Efektywność

W przypadku dużych obliczeń algorytm podziału binarnego niż przez naiwne dodawanie wyrazów z szeregu Taylora pojedynczo. W praktycznych implementacjach, takich jak y-cruncher, istnieje stosunkowo duży stały narzut na semestr plus czas proporcjonalny do , a punkt malejących zwrotów pojawia się poza trzema lub czterema arcus tangensami w sumie; dlatego powyższe obliczenia superkomputera wykorzystywały tylko wersję czteroczłonową.

Celem tej sekcji nie jest oszacowanie rzeczywistego czasu działania danego algorytmu. Zamiast tego intencją jest jedynie opracowanie względnej miary, za pomocą której można porównać ze sobą dwa algorytmy.

Niech liczbą cyfr, do których należy obliczyć.

Niech liczbą wyrazów w Taylora patrz równanie 2 ).

Niech będzie ilością czasu spędzonego na każdej cyfrze (dla każdego wyrazu w szeregu

Szereg Taylora będzie zbieżny, gdy:

Zatem:

przypadku pierwszego wyrazu w szeregu Taylora wszystkie muszą zostać przetworzone Jednak w ostatnim wyrazie szeregu Taylora do przetworzenia pozostała tylko jedna cyfra. We wszystkich pośrednich terminach liczbę cyfr do przetworzenia można przybliżyć za pomocą interpolacji liniowej. Zatem suma jest dana przez:

Czas pracy jest określony przez:

Łącząc równania, czas działania jest określony wzorem:

Gdzie jest która łączy wszystkie inne stałe. Ponieważ jest to względna, wartość można zignorować

Całkowity czas, we wszystkich wyrazach równania 1 , jest określony wzorem:

nie można dokładnie modelować bez szczegółowej znajomości konkretnego oprogramowania. Niezależnie od tego, przedstawiamy jeden z możliwych modeli.

Oprogramowanie spędza większość czasu na obliczaniu szeregu Taylora na podstawie równania 2 . Podstawową pętlę można podsumować w następującym pseudokodzie:

W tym konkretnym modelu zakłada się, że każdy z tych kroków zajmuje mniej więcej tyle samo czasu. W zależności od używanego oprogramowania może to być bardzo dobre przybliżenie lub słabe.

Jednostka czasu jest zdefiniowana w taki sposób, że jeden krok pseudokodu odpowiada jednej jednostce. Wykonanie pętli w całości wymaga czterech jednostek czasu. jest zdefiniowany jako cztery.

Należy jednak pamiętać, że jeśli jest równe jeden, to pierwszy krok Pętla zajmuje tylko trzy jednostki czasu. jest zdefiniowany jako trzy.

Jako przykład rozważ równanie:

 

 

 

 

()

W poniższej tabeli przedstawiono szacowany czas dla każdego z terminów:

74684 14967113 200,41 5.3003 4 0,75467
1 239 239,00 5,4765 3 0,54780
20138 15351991 762,34 6,6364 4 0,60274

Całkowity czas to 0,75467 + 0,54780 + 0,60274 = 1,9052

Porównaj to z równaniem 5 . W poniższej tabeli przedstawiono szacowany czas dla każdego z terminów:

24478 873121 35.670 3,5743 4 1.1191
685601 69049993 100,71 4,6123 4 0,8672

Całkowity czas to 1,1191 + 0,8672 = 1,9863

Wniosek, oparty na tym konkretnym modelu, jest taki, że równanie 6 jest nieco szybsze niż równanie 5 , niezależnie od tego, że równanie 6 ma więcej wyrazów. Wynik ten jest typowy dla ogólnego trendu. Dominującym czynnikiem jest stosunek między i . W celu uzyskania wysokiego wskaźnika konieczne jest dodanie dodatkowych terminów. Często jest to oszczędność czasu netto.

Linki zewnętrzne