%
% log.tex
%
% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
%
\section{Logarithmen
\label{buch:exponential:section:logarithmen}}
Heutezutage wird die Logarithmusfunktion als die Umkehrfunktion
der Exponentialfunktion definiert.
Ihren Ursprung hat sie jedoch im Bemühen, eine Methode zur Vereinfachung
der numerischen Rechnung zu finden.
In diesem Abschnitt soll die Geschichte kurz nachgezeichnet werden.

\subsection{Multiplikation}
Die Schwierigkeit besteht vor allem darin, dass Multiplikationen
sehr viel aufwendiger sind als Additionen.
So braucht man für die Addition zweier $n$-stelliger Zahlen
genau $n$ Additionen einstelliger Zahlen mit Übertrag.
Für die Multiplikation sind zunächst $n^2$ einstellige Multiplikationen
gefolgt von $n(n-1)$ Additionen einstelliger Zahlen mit Übertrag notwenig,
um einen Faktor mit jeder Stelle des anderen zu multiplizieren.
Anschliessend müssen dann $(n-1)^2$ einstellige Multiplikationen
gefolgt von einstelligen Additionen mit Übertrag ausgeführt werden,
um die Summe zu bilden.
Der Aufwand für eine Multiplikation wächst also quadratisch mit
der Genauigkeit, während der Aufwand für die addition nur linear
anwächst.

Eine gebräuchlich Methode war die Verwendung der trigonometrischen
Identität
\begin{align*}
\sin(\alpha)\sin(\beta)
&=
\frac12
\cos(\alpha-\beta)
-
\frac12
\cos(\alpha+\beta).
\intertext{Dies kann mit einer Tabelle nur der Sinus-Werte durchgeführt
werden, indem man verwendet, dass $\sin x = \cos(90^\circ-x)$.
Dies führt auf die Identität }
\sin(\alpha)\sin(\beta)
&=
\frac12\bigl(\sin(90^\circ-\alpha+\beta)
-
\sin(90^\circ-\alpha-\beta)\bigr)
\end{align*}
Die Multiplikation der Zahlen $\sin\alpha$ und $\sin\beta$ verlangt
daher nur zwei Konsultationen der Sinus-Tabelle, um die Winkel
$\alpha$ und $\beta$ zu bestimmen, zwei Additionen zur Berechnung
von 
$90^\circ-\alpha+\beta$
und
$90^\circ-\alpha-\beta$,
zwei Konsultationen der Sinus-Tabelle gefolgt von einer Addition
und einer
Halbierungsoperationen, die sich ähnlich effizient wie Additionen
durchführen lässt.
Der Aufwand dieser Art der Durchführung der Multplikation ist also
gleich gross wie $4$ Additionen und $4$ Tabellenkonsultationen.

\begin{beispiel}
In Abschnitt~\ref{buch:trigo:subsection:tabelle} ist beschrieben, wie
schon im Altertum Tabellen für Sinus-Werte aufgestellt werden konnten.
Mit der Tabelle~\ref{buch:trigo:table:sinus} kann man zum Beispiel die
folgende Multiplikation durchführen.
Gesucht ist das Produkt der Zahlen $x=0.51503807$ und $y=0.80901169$.
Die Berechnung läuft wie folgt ab:
\begin{align*}
x&=0.80901169&
&\Rightarrow&\sin\alpha  &=x&
&\Rightarrow&{\color{red}\alpha}&\approx {\color{red}54^\circ}
\\
y&=0.51503807&
&\Rightarrow&\sin\beta   &=y&
&\Rightarrow&{\color{red}\beta}&\approx {\color{red}31^\circ}
\\
 &          &
&           &{\color{red}\sin\delta_1}&={\color{red}0.92050485}&
&\Leftarrow &{\color{blue}\delta_1}&=90^\circ-\alpha+\beta={\color{blue}67}
\\
 &          &
&           &{\color{red}\sin\delta_2}&={\color{red}0.08715574}&
&\Leftarrow &{\color{blue}\delta_2}&=90^\circ-\alpha-\beta={\color{blue}5}
\\
 &&
 &          &{\color{blue}\sin\delta_1+\sin\delta_2}&={\color{blue}0.83334911}
\\
xy&=0.41667455&
 &\Leftarrow&\frac12(\sin\delta_1+\sin\delta_2)&={\color{darkgreen}0.41667455}
\end{align*}
Die roten Zahlen sind Resultate von Tabellenkonsultationen, die blauen
ergeben sich durch Additionen, grün ist die Halbierungsoperation.
Alle acht Stellen des Resultates sind korrekt.
\end{beispiel}

Das Verfahren funktioniert also, hat aber eine ganze Reihe von Nachteilen:
\begin{enumerate}
\item
Die Zahl der Operationen ist ziemlich gross.
Immerhin sind vier Tabellenkonsultationen nötig, drei Additionen und die
Halbierungsoperation.
\item
Es funktioniert nur für Zahlen zwischen $0$ und $1$.
Für Zahlen ausserhalb dieses Intervalls ist es die Aufgabe des
Anwenders, eine Skalierung vorzunehmen und sie später bei der Angabe
des Resultates wieder einfliessen zu lassen.
Das Quadrat von $2$ kann berechnet werden als
\(2^2 = 100 \cdot 0.2\cdot 0.2\), was mit dem Winkel
$\alpha=\beta=11.537^\circ$ möglich ist. 
Das Resultat der Multiplikation nach obigem Verfahren ist dann 
\[
\frac12\bigl(
\sin(90^\circ-\alpha+\beta)
-
\sin(90^\circ-\alpha-\beta)
\bigr)
=
\frac12\bigl(
1-
\sin 66.926^\circ
\bigr)
=
\frac12( 1-0.9200)
=
\frac12\cdot 0.08=0.04,
\]
woraus sich dann das Quadrat von $2$ als
$2^2 = 100\cdot 0.2^2 = 100\cdot 0.04 = 4$
ergibt.
Dieser Nachteil gilt allerdings auch für Rechenverfahren mit Logarithmen
oder mit einem Rechenschieber, bei dem ebenfalls nur die Mantisse
berechnet wird, der Anwender ist selbst für die Bestimmung des Exponenten
verantwortlich.
\item
Es kann vorkommen, dass die Winkel $90^\circ-\alpha+\beta$
und $90^\circ-\alpha-\beta$ nicht im Intervall zwischen $0$ und $90^\circ$
liegen.
In diesem Fall ist eine zusätzliche Reduktion des Winkels nötig.
Falls der Winkel negativ ist, muss in den folgenden Schritt zusätzlich
das Vorzeichen berücksichtigt werden.
\end{enumerate}


\subsection{Die Erfindung der Logarithmen}
Die Lösung des Problems ist die Verwendung von Exponentialfunktionen 
anstelle von trigonometrischen Funktionen.
Um das Produkt von zwei Zahlen $x$ und $y$ zu bestimmen, müssen erst
die Exponenten $\xi$ und $\eta$ bestimmt werden, für die $x=b^\xi$
$y=b^\eta$ ist.
Das Produkt ist dann $xy = b^{\xi+\eta}$, es muss also die Summe
$\xi+\eta$ berechnet werden und aus einer Tabelle der Funktion
$b^\bullet$ kann dann das Produkt abgelesen werden.
Der Wert der Basis $b$ ist dabei noch frei und wurde auch von
den Erfindern der Logarithmen verschieden angegangen.

\subsubsection{Die arithmetischen Progresstabulen von Jost Bürgi}
\begin{figure}
\centering
\includegraphics{chapters/020-exponential/images/Log_Calc-Figure7.jpeg}
\caption{Ausschnitt aus der ersten Seite von Jost Bürgis Tabelle der
Potenzen von $1.0001$
\label{buch:exponential:log:fig:buergi1}}
\end{figure}
\begin{figure}
\centering
\includegraphics[width=0.92\textwidth]{chapters/020-exponential/images/buergiausschnitt.pdf}
\caption{Rekonstruktion der ersten Seite von Bürgis Tabelle aus
\cite{buch:hal}
\label{buch:exponential:log:fig:buergi2}}
\end{figure}
Der 1552 in Lichtensteig geborene schweizer Uhrmacher und Mathematiker
hat in seinem Werk
{\em Arithmetische und geometrische Progress Tabulen sambt gründlichem 
unterricht, wie solche nützlich in allerley Rechnungen zugebrauchen
und verstanden werden soll}, welches 1620 in Prag erschien,
eine Tabelle aller Werte
\[
10^8\cdot\biggl(1+\frac{1}{10000}\biggr)^n
=
10^8 \biggl(\biggl(1+\frac{1}{10000}\biggr)^{10000}\biggr)^{n\cdot10^{-4}}
\]
für $n=0$ bis $n=23027$.
Die Abbildung~\ref{buch:exponential:log:fig:buergi1}
zeigt, einen Ausschnitt aus der ersten Seite von Bürgis Tabelle.
Die mit 10 multiplizierten Exponenten $n$ sind durchwegs als
{\color{red}rote} Zahlen dargestellt.
In jeder Spalten stehen 40 aufeinanderfolgende Werte, von Spalte
zu Spalten nimmt der Wert von $n$ um 500 zu.
Abbildung~\ref{buch:exponential:log:fig:buergi2} zeigt eine Rekonstruktion
der ersten Seite.

Um mit der Bürgischen Tafel eine Multiplikation durchzuführen,
hat man also unter den schwarzen Zahlen Werte gesucht,
der möglichst nahe an den gegebenen Faktoren sind.
Dabei konnte die Genauigkeit noch gesteigert werden, indem zwischen
aufeinanderfolgenden Werten interpoliert wurde.
Die zugehörigen roten Zahlen wurden dann addiert und mit Hilfe der
Tabelle wieder die schwarzen Zahlen ermittelt.

\begin{beispiel}
Die erste Seite \ref{buch:exponential:log:fig:buergi2} der Bürgischen
Tabelle umfasst natürlich nur einen sehr kleine Teil des ganzen Werkes,
trotzdem kann man daran den Gang der Rechnung illustrieren.
Um die beiden schwarzen Zahlen $x=1.0023$ und $y=1.0017$ miteinander
zu multiplizieren, sucht man die zugehörigen roten Zahlen in
der Tabelle
\[
\renewcommand{\arraycolsep}{2pt}
\begin{array}{rclcr}
            & &\text{schwarze Zahl}&&\text{{\color{red}rote Zahl}} \\
           x&=&1.0023      &\Rightarrow&{\color{red}2274}\\
           y&=&1.0017      &\Rightarrow&{\color{red}1686}\\
          xy&=&1.004039247 &\Leftarrow &{\color{red}3960}
%\text{exakt}&=&1.0040391   &           &
\end{array}
\]
Das exakte Result ist $xy=1.0040391$.
\end{beispiel}

Die roten Zahlen würden in heutiger Terminologie
im Wesentlichen Logarithmen zur Basis $b=1.0001$ genannt.
In der Tabelle werden die Werte von $b^n$ in Abhängigkeit von $n$
angegeben, es wurde also direkt die Exponentialfunktion $b^\bullet$
tabuliert.
In heutiger Sprechweise würde man dies als eine Antilogarithmentafel
bezeichnen.

\subsubsection{John Napier und die natürlichen Logarithmen}
Der schottische Mathematiker John Napier (1550--1617) hat ein
ausgeklügeltes Verfahren entwickelt, 
natürliche Logarithmen mit hoher Genauigkeit von mindestens sieben
Stellen zu berechnen.
Ausserdem hat er den Logarithmen ihren Namen gegeben.

Um die Genauigkeit von sieben Stellen zu erreichen, musste er von
einem Wert ausgehen, der nicht weiter als $10^{-7}$ von $1$ entfernt
ist.
Bürgi hat mit dem Wert $1+10^{-4}$ eine Genauigkeit von vier Stellen
erreicht, Napier startete seine Berechnung mit $1-10^{-7}$.
Er hat also eigentlich Logarithmen zur Basis $1/e$ bestimmt.

Hätte Napier jedoch einfach nur das Verfahren von Bürgi auf die um
den Faktor $10^3$ höhere Genauigkeit angewendet, hätte er auch $10^3$
mal mehr und somit über 23 Millionen Multiplikationen durchführen
müssen, im Laufe derer sich viel zu grosse Rundungsfehler akkumuliert
hätten.
Napier hat daher das gesamte Intervall in mehrer grössere Intervall
unterteilt, indem er mit statt nur den Faktor $a=1-10^{-7}=0.9999999$
auch noch geometrische Folgen mit den Faktoren $b=1-10^{-5}=0.99999$ und
$c=1-5\cdot10^{-4}=0.9995$ verwendet hat.
Mit 4604 Gliedern der Folge $c^k$ konnte er tatsächlich das ganze
Intervall zwischen $0.1$ und $1$ geometrisch unterteilen.
Innerhalb jedes Teilintervalls kann dann eine Unterteilung mit
50 Gliedern der Folge $b^k$ aufteilen.
Und schliesslich liefern 100 Gleider der Folge $a^k$ eine geometrische
Unterteilung in jedes dieser Intervalle.
Auf diese Art kann erreicht werden, dass jeder Wert mit höchstens 4755
Multiplikationen und damit ohne Kompromittierung der Genauigkeit durch
Rundungsfehler berechnet werden kann.

Das Interpolationsverfahren, welches Napier zur Bestimmung seiner 
Logarithmen entwickelt hat, hat auch die Entwicklung von Rechenschiebern
motiviert.

\subsubsection{Dekadische Logarithmen nach Henry Briggs}
Henry Briggs (1561--1630) hat die Bedeutung der Napierschen
Logarithmen sofort erkannt und vorgeschlagen, statt der Basis $e$
die Basis $10$ zu verwenden. 
Der Vorteil der Basis 10 ist, dass Zahlen mit der gleichen
Mantisse in Gleitkommadarstellung zur Basis 10 Logarithmen haben,
die sich nur im eine Ganzzahl unterschieden, die gleichzeitig der
Unterschied der Exponenten ist.
Dies macht die Verwendung einer Logarithmentabelle sehr viel
intuitiver.

Briggs hat ausserdem die numersiche Berechnung der Logarithmen 
weiterentwickelt und innerhalb von 7 Jahren 30000 Logarithmen mit
einer Genauigkeit von 14 Stellen berechnet.
Die Methoden von Bürgi und Napier gingen davon aus, das Intervall,
in dem die Logarithmen bestimmt werden sollen, durch Konstruktion
einer geometrischen Folge zu unterteilen.
Zum Beispiel hat Bürgi das Intervall von $1$ bis $10$ mit Hilfe von
23027 Multiplikationen von $1.0001$ zu unterteilen.
Briggs fragte sich daher, ob sich eine Unterteilung auch in weniger
Schritten erreichen liesse.

Welchen Faktor $a$ muss man nehmen, wenn man das Intervall von
$1$ bis $10$ geometrisch in zwei Teilintervalle unterteilen will.
Der Faktor $a$ muss $a^2=10$ erfüllen, also $a=\sqrt{10}$.
Somit haben wir in $\sqrt{10}$ einen Wert mit einem genau
bekannten Zehnerlogarithmus von $0.5$ gefunden.

Durch Iteration dieser Idee kann man durch $n$-faches
wiederholtes Wurzelziehen die Zahlen mit den bekannten
Logarithmen $2^{-n}$ bestimmen.
Durch Darstellung eines Logarithmus im Binärsystem kann
man dann die zugehörige Zahl durch nur so viele Multiplikationen
bestimmen, wie Einsen in der Binärdarstellung des Logarithmus
vorkommen.
Damit ist der Rechenaufwand für die Berechnung einzelner
Logarithmen sehr viel kleiner also in den Methoden von Bürgi
und Napier.

Die Briggssche Idee funktioniert besonders gut im Binärsystem,
wenn also Logarithmen für Zahlen zwischen $1$ und $2$ bestimmt
werden müssen.
Im Binärsystem ist Division durch $2$ besonders einfach, sie ist
einfach nur eine Verschiebung des Kommas.
Auch für die Berechnung der Quadratwurzel gibt es effiziente
binäre Algorithmen.








