Delta 1/2025

Od mnożenia do dodawania

Don’t know much about geography
Don’t know much trigonometry
Don’t know much about algebra
Don’t know what a slide rule is for

“Wonderful world”, Sam Cooke

Od powstania piosenki Sama Cooke’a minęły 64 lata. Wśród dziedzin wiedzy, które jej bohater wymienia jako swoje słabe strony, jedna w międzyczasie wypadła z programów nauczania. Mianowicie, młodszy Czytelnik ma pełne prawo nie wiedzieć, do czego służy suwak logarytmiczny (slide rule). Warto ten stan zmienić. W Delcie można już było o suwaku przeczytać w Δ818Δ0112, ale myślę, że i tak warto powiedzieć kilka słów o idei jego działania wraz z historycznym kontekstem.

Do czego zatem służy suwak logarytmiczny? Otóż do tego, by zamiast działania mnożenia można było wykonywać dodawanie. No dobrze, a dlaczego miałoby nam na tym zależeć (pomijając żarty o rozmnażaniu żmij)? Jako odpowiedź przytoczmy szkolne ,,działania pod kreską”, dla przykładu przedstawione na marginesie dla liczb 1,284 i 2,117. Widać, że mnożenie jest dużo bardziej pracochłonne: dla dwóch liczb n-cyfrowych znalezienie sumy wymaga około n operacji, a iloczynu – około n2.

Jak mnożyć, dodając?

Ta trudność dała się we znaki astronomom XVI wieku ze względu na ilość i dokładność obliczeń koniecznych w ich pracy. Dla jej pokonania opracowali metodę o nazwie prosthaphaeresis, od greckich słów oznaczających dodawanie i odejmowanie. Opierała się na tożsamościach trygonometrycznych, takich jak cosαcosβ=(cos(α+β)+cos(αβ))/2, oraz na użyciu tablic trygonometrycznych. Tablice takie dobrze znają maturzyści, ponieważ w trakcie egzaminu mogą odczytywać z nich wartości funkcji sin, cos, tan dla wielokrotności 1; w XVI wieku były jednak w użyciu tablice dużo dokładniejsze (np. co do sekundy kątowej). A metoda wygląda następująco:

  1. Odnajdujemy w tablicy nasze czynniki jako wartości cosinusa. Ze zrozumiałych względów nie znajdziemy tam 1,284 i 2,117, ale 0,1284 i 0,2117 już tak – odpowiadają one w przybliżeniu kątom α=82,623 i β=77,778.

  2. Wykonujemy dodawanie i odejmowanie (stąd wzięła się nazwa metody): α+β=160,401, αβ=4,845.

  3. Odczytujemy przybliżone wartości cosinusa tych kątów: cos(α+β)=0,94206, cos(αβ)=0,99643, a na koniec bierzemy średnią: 0,027185. Ostateczny wynik wymaga jeszcze przesunięcia przecinka: 2,7185.

Otrzymaliśmy w ten sposób 1,2842,1172,7185, co może nie zachwyca, ale oczywiście dokładność obliczeń można dowolnie zwiększać, sięgając po coraz lepsze tablice.

Niedługo później wymyślono tablice logarytmiczne, niejako szyte na miarę rozważanego przez nas problemu. Jako bezpośredniego przodka takich tablic możemy wskazać tablicę potęg dwójki (na marginesie). Umożliwia ona szybkie mnożenie liczb z drugiego wiersza tablicy. Przykładowo, iloczyn 32 i 64 moglibyśmy wyznaczyć pod kreską, możemy też jednak odczytać z tablicy, że są to potęgi 25 i 26, dają więc po wymnożeniu 211=2048. Ponownie udało nam się oszukać przeznaczenie i dodać zamiast pomnożyć. Opisana metoda ma jednak oczywistą podstawową wadę: liczby w drugim rzędzie tablicy nie są równo rozmieszczone na prostej, a im dalej, tym odległości między nimi większe. W rezultacie metoda jest mało praktyczna, bo w typowej sytuacji nie znajdziemy w drugim rzędzie interesujących nas czynników, nawet w przybliżeniu.

Krótka historia logarytmu.

Problem ten rozwiązali niezależnie John Napier (1550–1617) i Jost Bürgi (1552–1632), jednak ze względu na pierwszeństwo publikacji (1614 vs. 1620) to ten pierwszy wpłynął na dalsze losy matematyki. Pomysł jest prosty: aby liczby z drugiego wiersza były gęściej (i równiej) rozmieszczone, należy jako podstawę wziąć liczbę bliższą jedynki, na przykład 1,0001. Podnosząc tę liczbę do kolejnych potęg, otrzymujemy dość długą tablicę, której część jest przedstawiona na marginesie. Interesujące nas liczby odnajdujemy w sensownym przybliżeniu na pozycjach 2500 i 7500, co po dodaniu daje 10 000, więc jako przybliżony iloczyn odczytujemy 2,71815. Tak jak dla prosthaphaeresis, tak i tutaj dokładność można dowolnie zwiększać. Poraża za to prostota samej procedury – nic dziwnego, że pomysł Napiera upowszechnił się jeszcze przed publikacją Bürgiego. Niedługo później, gdzieś pomiędzy rokiem 1620 a 1630, wymyślono suwak logarytmiczny, poręczne narzędzie oparte na tablicy logarytmicznej. Ale o tym potem.

Wróćmy na chwilę do zagadnienia większej dokładności. Jeśli w którymś miejscu po prawej stronie widzimy liczbę x, to liczbę po lewej nazywamy logarytmem z x o podstawie 1,0001, co zapisujemy jako log1,0001(x) – ponownie nazwa pochodzi od dwóch greckich słów, tym razem oznaczających stosunek (logos) i liczbę (arithmos). Wynik w oczywisty sposób zależy od przyjętej podstawy, i tę zależność łatwo prześledzić, próbując podstaw postaci 1+10k dla kolejnych naturalnych k. Okazuje się, że przy zwiększaniu k liczba log1+10k(x) z grubsza wydłuża się o kolejne zera. Gdybyśmy chcieli móc zestawiać tablice o różnej dokładności, to warto umówić się, że wszystkie liczby w lewej kolumnie podzielimy przez 10k, czyli obok x wpiszemy liczbę 10klog1+10k(x). Dla dużych k tak określona funkcja przybliża tak zwany logarytm naturalny, oznaczany przez ln(x). Jest to logarytm o podstawie e2,71828. Liczba e nazywana jest liczbą Eulera lub Napiera, albo też – podstawą logarytmu naturalnego!

Warto tu napomknąć, że ów naturalny logarytm pochodzi od samego Napiera. Chociaż swoją tablicę wyznaczył on poprzez potęgowanie konkretnej liczby bliskiej jedynce, to jako definicję logarytmu podał następujący opis kinematyczny, poniżej nieco tylko uwspółcześniony. W chwili t=0 punkty x, y na osi liczbowej są odpowiednio w 1, 0 oraz mają prędkość jednostkową – x w lewo, a y w prawo. Przy tym prędkość y jest stała, a prędkość x jest proporcjonalna do odległości od zera. Jako logarytm z x(t) definiujemy wtedy y(t).

Z opisu tego rzeczywiście wynika, że y jest logarytmem naturalnym z x (z minusem). Podnoszenie 1107 do kolejnych potęg – to właśnie robił Napier – odpowiada dyskretyzacji problemu, czyli przyjęciu, że prędkość x(t) zmienia się skokowo w odstępach czasowych Δt=107. Zastosowanie dyskretyzacji sugeruje, że Napier był świadomy zbieżności przy Δt0, co równoważne jest zbieżności (1+1n)ne przypisywanej… Eulerowi.

Dygresja o teorii Eulera.

Obecnie typowy wykład analizy matematycznej nie odzwierciedla historycznego rozwoju tej dziedziny, a zamiast tego referuje dokonania Leonharda Eulera (1707–1783). Wprowadził on funkcję wykładniczą zadaną szeregiem ()ex=1+x1!+x22!+x33!+x44!+ lub równoważnie jako granicę (1+xn)n przy n. Dowiódł, że jest to funkcja odwrotna do logarytmu naturalnego, czyli spełnione są równości eln(x)=x (dla x>0) i ln(ey)=y (dla yR). W szczególności e1 to dokładnie e, natomiast en jest równe n-krotnemu iloczynowi ee, i ogólnie zachodzi wzór exey=ex+y. Nie należy jednak dać się zmylić: liczby takie jak e2 nie wymagają od nas 2-krotnego mnożenia, a jedynie podstawienia x=2 do nieskończonej sumy (). Funkcja ex to zatem coś więcej niż potęgowanie. Ta uwaga niesie ze sobą wiele pożytecznych konsekwencji, między innymi pozwala wyjaśnić rzecz następującą. Czy zdziwiło wcześniej Czytelnika, że funkcja cos podobnie jak ln ,,zamienia mnożenie na dodawanie”? Otóż obie te funkcje są spokrewnione z funkcją ex, co wyjaśnia ich magiczne własności – szersze wyjaśnienie na marginesie.

Powrót do suwaka.

Zestawiając razem dwie zwyczajne linijki, otrzymujemy prosty przyrząd do dodawania. By dodać na nim liczby 3 i 1, przesuwamy linijki tak, by trójka pojawiła się nad zerem, a wówczas wynik odczytujemy powyżej jedynki. Zgodnie z oczekiwaniami, wyszło 4. Ale spójrzmy na małą modyfikację:

image

Pod każdą etykietą na obu linijkach dopisaliśmy dwójkę, w ten sposób podmieniając ciąg arytmetyczny 0,1,2, na ciąg geometryczny 20,21,22, Tak jak w przypadku rysunku 2, dodawanie zamieniło się na mnożenie potęg dwójki, u nas konkretnie: 82=16. Ta modyfikacja to właśnie suwak logarytmiczny. Oczywiście standardowy suwak dla wygody użytkowania uwzględnia na swojej skali takie liczby, jak 1,2,3,, a nie tylko potęgi dwójki. W tym kontekście naturalne jest pytanie: a gdzie te liczby umieścić?, na które odpowiedzią jest właśnie logarytm: liczba y pojawia się w odległości log(y) od początku linijki (wybór podstawy logarytmu jest tu drugorzędny). Poniżej widać, jak można za pomocą takiego przyrządu pomnożyć liczby e1/41,284 i e3/42,117:

image

Bohater piosenki Sama Cooke’a miał silne, choć trudne do wyrażenia w słowach przekonanie, że umiejętność dodawania jest wystarczająca. Wystarczająca nie tylko do tego, by mnożyć, ale też by spełnić marzenie o odwzajemnionej miłości. Lubię więc myśleć, że co nieco jednak wiedział o naturze suwaka logarytmicznego. Posłuchajmy sami:

But I do know one and one is two
And if this one could be with you
What a wonderful world this would be

“Wonderful world”, Sam Cooke

Afiliacja: Wydział Matematyki, Informatyki i Mechaniki, Uniwersytet Warszawski

Źródło: Carl B. Boyer, A history of mathematics, 2nd edition, 1991. Interesująca nas historia jest na str. 307–315.

Poniższy żart pokazuje, że mnożenie może się okazać trudniejsze od dodawania.
Noah sent his animals to “go forth and multiply”, but a pair of snakes told him “we can’t multiply, we’re adders!”.

image

Rys. 1. Dodawanie i mnożenie ,,pod kreską” liczb 1,284 i 2,117. Drugi z algorytmów ma zauważalnie większą złożoność

Oprócz wzoru na iloczyn cosinusów zamianie mnożenia na prostsze operacje może służyć tożsamość xy=((x+y)2(xy)2)/4. Oparta na niej metoda (quarter square multiplication) stała się jednak popularna dopiero dużo później. Znając stosunek bohatera piosenki do trygonometrii i algebry, można mieć niemal pewność, że nie byłby on zadowolony z żadnego z tych wzorów.

image

Rys. 2. Przodek tablic logarytmicznych: tablica kolejnych potęg dwójki. Podobne ciągi są obecne w pracach Archimedesa, były też regularnie publikowane w XVI wieku, np. w Arithmetica integra Michaela Stifela (1544)

image

Rys. 3. Tablica logarytmiczna podobna do oryginalnej tablicy Bürgiego. Napier jako podstawę przyjął 1107, a więc liczbę mniejszą od jedynki

We współczesnym języku kinematyczny opis Napiera sprowadza się do równań różniczkowych {dxdt=xx(0)=1,{dydt=1y(0)=0. Otrzymujemy z nich dydx=1x, a więc po uwzględnieniu warunków początkowych y(x)=ln(x).

We wzorze () za liczbę x można przyjąć dowolną liczbę zespoloną, a tożsamość exey=ex+y (tzw. prawo grupowe) nadal pozostaje w mocy. Funkcję cosinus można zdefiniować (i tak się zazwyczaj robi!) jako cos(x):=(eix+eix)/2. Wzór na iloczyn cosinusów nie jest wtedy twierdzeniem geometrycznym, ale banalną konsekwencją prawa grupowego: obie strony okazują się równe 14(eix+iy+eixiy+eixiy+eix+iy).

image