Prostafereza - Prosthaphaeresis

Prosthaphaeresis (z greckiego προσθαφαίρεσις ) był algorytmem używanym pod koniec XVI i na początku XVII wieku do przybliżonego mnożenia i dzielenia przy użyciu wzorów z trygonometrii . Przez 25 lat poprzedzających wynalezienie logarytmu w 1614 roku był to jedyny znany powszechnie stosowany sposób szybkiego przybliżania iloczynów. Jej nazwa pochodzi od greckiego słowa proteza (πρόσθεσις) i aphaeresis (ἀφαίρεσις), co oznacza dodawanie i odejmowanie, dwa etapy procesu.

Historia i motywacja

Kulisty trójkąt

W XVI-wiecznej Europie niebiańska nawigacja statków odbywających długie podróże w dużej mierze opierała się na efemerydach, które określały ich pozycję i kurs. Te obszerne mapy przygotowane przez astronomów szczegółowo przedstawiały położenie gwiazd i planet w różnych punktach czasowych. Modele użyte do ich obliczenia były oparte na trygonometrii sferycznej , która wiąże kąty i długości łuków trójkątów sferycznych (patrz diagram po prawej) przy użyciu wzorów takich jak

i

gdzie a , b i c są kątami leżącymi w środku kuli przez odpowiednie łuki.

Gdy jedna wielkość w takim wzorze jest nieznana, ale inne są znane, nieznaną wielkość można obliczyć za pomocą serii mnożenia, dzielenia i przeszukiwania tabeli trygonometrycznej. Astronomowie musieli wykonać tysiące takich obliczeń, a ponieważ najlepszą dostępną metodą mnożenia było długie mnożenie , większość tego czasu spędzili na wyczerpującym mnożeniu produktów.

Matematycy, zwłaszcza ci, którzy byli również astronomami, szukali łatwiejszej drogi, a trygonometria była jedną z najbardziej zaawansowanych i znanych tym ludziom dziedzin. Prosthaphaeresis pojawiła się w latach 80. XVI wieku, ale jej twórca nie jest pewny; jej współtwórcami byli matematycy Ibn Yunis , Johannes Werner , Paul Wittich , Joost Bürgi , Christopher Clavius i François Viète . Wittich, Yunis i Clavius ​​byli astronomami, a różne źródła przypisują im odkrycie tej metody. Jego najbardziej znanym orędownikiem był Tycho Brahe , który szeroko wykorzystywał go do obliczeń astronomicznych, takich jak te opisane powyżej. Wykorzystał go również John Napier , któremu przypisuje się wynalezienie logarytmów, które go zastąpią.

Mikołaj Kopernik kilkakrotnie wspomina o „prostaphaeresis” w swojej pracy z 1543 r. De Revolutionibus Orbium Coelestium , co oznacza „wielką paralaksę” spowodowaną przemieszczeniem obserwatora z powodu rocznego ruchu Ziemi.

Tożsamości

W trygonometrycznych Tożsamości eksploatowane przez prosthaphaeresis dotyczą produktów funkcji trygonometrycznych do kwot. Należą do nich:

Uważa się, że pierwsze dwa z nich zostały wyprowadzone przez Josta Bürgi , który spokrewnił je z [Tycho?] Brahe; inni łatwo podążają za tymi dwoma. Jeśli obie strony są pomnożone przez 2, te formuły są również nazywane formułami Wernera .

Algorytm

Korzystając z drugiego wzoru powyżej, technika mnożenia dwóch liczb działa w następujący sposób:

  1. Skaluj w dół : Przesuwając kropkę dziesiętną w lewo lub w prawo, skaluj obie liczby do wartości między i , co będzie określane jako i .
  2. Odwrotny cosinus : Używając tabeli odwrotnego cosinusa, znajdź dwa kąty i których cosinusy są naszymi dwiema wartościami.
  3. Suma i różnica : Znajdź sumę i różnicę dwóch kątów.
  4. Uśrednianie cosinusów : Znajdź cosinusy kątów sumy i różnicy za pomocą tabeli cosinusów i uśrednij je, podając (zgodnie z drugim wzorem powyżej) iloczyn .
  5. Scale up : Przesuń miejsce dziesiętne w odpowiedzi o łączną liczbę miejsc, o które przesunęliśmy dziesiętny w pierwszym kroku dla każdego wejścia, ale w przeciwnym kierunku.

Na przykład powiedzmy, że chcemy pomnożyć i . Postępuj zgodnie z instrukcjami:

  1. Zmniejsz : Przesuń punkt dziesiętny o trzy miejsca w lewo w każdym z nich. Dostajemy i .
  2. Odwrotny cosinus : wynosi około 0,105 i wynosi około .
  3. Suma i różnica : , i .
  4. Średnia wartość cosinusów : wynosi około .
  5. Scale up : Dla każdego i przesunęliśmy punkt dziesiętny o trzy miejsca w lewo, więc w odpowiedzi przesunęliśmy o sześć miejsc w prawo. Rezultatem jest . Jest to bardzo zbliżone do rzeczywistego produktu ( błąd procentowy ≈0,8%).

Jeśli chcemy uzyskać iloczyn cosinusów dwóch początkowych wartości, co jest przydatne w niektórych wyżej wspomnianych obliczeniach astronomicznych, jest to zaskakująco jeszcze łatwiejsze: potrzebne są tylko kroki 3 i 4 powyżej.

Aby podzielić, wykorzystujemy definicję siecznej jako odwrotności cosinusa. Aby podzielić przez , skalujemy liczby do i . Cosinus to . Następnie użyj tabeli siecznych, aby dowiedzieć się, która jest sekansem . Oznacza to, że jest cosinus , a więc możemy pomnożyć przez stosując powyższą procedurę. Średnia cosinus sumy kątów , z cosinusem ich różnicy , ,

Skalowanie w górę w celu zlokalizowania kropki dziesiętnej daje przybliżoną odpowiedź, .

Algorytmy wykorzystujące inne formuły są podobne, ale każdy używa innych tabel (sinus, odwrotny sinus, cosinus i odwrotny cosinus) w różnych miejscach. Pierwsze dwa są najłatwiejsze, ponieważ każdy z nich wymaga tylko dwóch stołów. Użycie drugiej formuły ma jednak tę wyjątkową zaletę, że jeśli dostępna jest tylko tabela cosinusów, można jej użyć do oszacowania odwrotnych cosinusów, wyszukując kąt o najbliższej wartości cosinusów.

Zwróć uwagę, jak podobny jest powyższy algorytm do procesu mnożenia za pomocą logarytmów, który składa się z następujących kroków: pomniejszanie, logarytmowanie, dodawanie, logarytm odwrotny, skalowanie w górę. Nic dziwnego, że twórcy logarytmów zastosowali protezę. Rzeczywiście, te dwie rzeczy są ściśle powiązane matematycznie. W nowoczesnych terminach, prostafaereza może być postrzegana jako oparta na logarytmie liczb zespolonych, w szczególności na wzorze Eulera

Zmniejszenie błędu

Jeśli wszystkie operacje są wykonywane z dużą precyzją, produkt może być tak dokładny, jak sobie tego życzysz. Chociaż sumy, różnice i średnie są łatwe do obliczenia z dużą precyzją, nawet ręcznie, funkcje trygonometryczne, a zwłaszcza odwrotne funkcje trygonometryczne, nie są. Z tego powodu dokładność metody zależy w dużej mierze od dokładności i szczegółowości zastosowanych tablic trygonometrycznych.

Na przykład tablica sinusów z wpisem dla każdego stopnia może być przesunięta nawet o 0,0087, jeśli po prostu zaokrąglimy kąt do najbliższego stopnia ; za każdym razem, gdy podwajamy rozmiar tabeli (na przykład podając wpisy dla każdego pół stopnia zamiast każdego stopnia), zmniejszamy ten błąd o połowę. Tabele zostały starannie skonstruowane dla protezy z wartościami co sekundę, czyli 3600 stopnia.

Odwrotne funkcje sinus i cosinus są szczególnie kłopotliwe, ponieważ stają się strome w pobliżu -1 i 1. Jednym z rozwiązań jest uwzględnienie większej liczby wartości tabeli w tym obszarze. Innym jest skalowanie danych wejściowych do liczb od -0,9 do 0,9. Na przykład 950 stanie się 0,095 zamiast 0,950.

Innym skutecznym podejściem do zwiększania dokładności jest interpolacja liniowa , która wybiera wartość między dwiema sąsiednimi wartościami tabeli. Na przykład, jeśli wiemy, że sinus 45° wynosi około 0,707, a sinus 46° wynosi około 0,719, możemy oszacować sinus 45,7° jako 0,707 × (1 – 0,7) + 0,719 × 0,7 = 0,7154. Rzeczywisty sinus wynosi 0,7157. Tabela cosinusów zawierająca tylko 180 wpisów w połączeniu z interpolacją liniową jest tak dokładna jak tabela z około45 000 wpisów bez tego. Nawet szybkie oszacowanie wartości interpolowanej jest często znacznie bliższe niż najbliższa wartość tabeli. Zobacz tabelę przeglądową, aby uzyskać więcej informacji.

Odwrotne tożsamości

Formułami produktów można również manipulować, aby uzyskać formuły wyrażające dodawanie w postaci mnożenia. Chociaż mniej przydatne w przypadku produktów komputerowych, są one nadal przydatne do uzyskiwania wyników trygonometrycznych:

Zobacz też

Bibliografia

Linki zewnętrzne