jueves, 12 de marzo de 2015

Una descripción de las maravillosas leyes de la razón entre los números (5)

Ya disfrutamos de la maravillosa velada entre Lord Napier y Henry Briggs, vimos del porqué de la necesidad de los logaritmos, sabemos como llegó Napier a ellos y como se podían calcular. De manera que, piano piano, hemos ido viendo toda la historia que hay detrás de los logaritmos.

Al igual que al zorro le gusta ir ocultado su rastro hay matemáticos, como Gauss, que consideran que
“La obra por sí debe ser completa, sencilla y convincente, sin que pueda encontrarse signo alguno que indique el trabajo que ha costado lograrla... Una catedral no está terminada hasta que ha desaparecido de la vista el último de sus andamios” 
Por fortuna, Neper no era de esos y sabemos como se fue puliendo la idea de logaritmo. Recordemos que las tablas de Neper la formaban los logaritmos de los senos1 y que para evitar trabajar con fracciones se fijaba el valor$$\sin{}90º = 10^8$$.
Tabla de los logaritmos de Neper (Neper, 1620)

La tabla que vemos en la figura anterior muestra como Neper dispuso los ángulos (columna 1) y sus complementarios (columna 7) a intervalos de un minuto en las columnas de los extremos, a su lado los senos (columnas 2 y 6) y a continuación los correspondientes logaritmos (columnas 3 y 5). De esta manera vamos a tener también los logaritmos de los cosenos, como cosenos de ángulos complementarios. Entre medias (columna 4) una columna (Differentia) con el logaritmo del seno menos el logaritmo del seno de ángulo complementario (columna 3 menos columna 5) que nos permite calcular los logaritmos de las tangentes.

Parecía que ya estaba todo hecho, pero había unos peros...

La definición formal que da Napier para el logaritmo L de un número N es:$$N = {10^7}{\left( {1 - {{10}^{ - 7}}} \right)^L},$$que lo escribiremos de la forma$${\mathop{\rm NapLog}\nolimits} \left( {N} \right)=L$$tiene la deseada propiedad de transformar un producto en una suma$${\mathop{\rm NapLog}\nolimits} \left( {{{10}^{ - 7}}{N_1}\;{N_2}} \right) = {\mathop{\rm NapLog}\nolimits} \left( {{N_1}} \right) + {\mathop{\rm NapLog}\nolimits} \left( {{N_2}} \right)$$aunque, eso sí, de una forma bastante engorrosa. Para escribir en notación moderna la ecuación despejaríamos L tomando logaritmos en la base apropiada:$${\log_{1 - \frac{1}{{{{10}^7}}}}}\left( {\frac{N}{{{{10}^7}}}} \right),$$lo que pone de manifiesto que la base utilizada originalmente por Napier era$${\left( {1 - \frac{1}{{{{10}^7}}}} \right)^{{{10}^7}}} \approx {e^{ - 1}}$$Tanto Briggs como el propio Neper fueron conscientes de este hecho y de las dificultades que conllevaba, por lo que de forma casi simultánea optaron por considerar al 10 como base de los logaritmos y suponer que:$$\begin{array}{c} log\left( 1 \right) = 0\\ log\left( {10} \right) = 1 \end{array}$$Lamentablemente Neper se encontraba ya sin fuerzas para la tarea de volver a recalcular su tabla, de manera que fue Briggs quien lo hizo y en 1617, el mismo año de la muerte de Neper, publicó Logarithmorum Chilias prima, la primera tabla de logaritmos de ocho cifras hasta el número mil. Siete años después llegaba Arithmetica Logarithmica, que contenía tablas de logaritmos de 14 cifras para los números del 1 al 20000 y del 90000 al 100000.

¿Cómo lo hizo?

Recordad que hablamos de una época en la que no había calculadoras de hecho ni siquiera había lápices por lo que todos los cálculos tenían que hacerse a mano escribiendo con pluma de ganso. Tampoco se había desarrollado el concepto de desarrollo en serie de una función, de manera que para poder calcular los logaritmos de forma eficiente, tenía que basarse en una regla que ya comentamos anteriormente:
Si {an} es una progresión geométrica y {bn} es una progresión aritmética lo estando ambas relacionadas por bn = log(an) entonces $$\frac{b_{n-1} + b_{n+1}}{2}=\log{\sqrt {a_{n-1} \times a_{n+1}}}$$
De manera que para calcular, por ejemplo, el logaritmo de 2 habría que hallar la media geométrica entre 1 y 10 (1,7783...) y asignarle como logaritmo la media aritmética entre 0 y 1 (0,5). Luego se repite el proceso con 1,7783... y 10 (2,3714...) y 0,5 y 1 (0,25) y así sucesivamente hasta que hubiese llegado a un número próximo a 2. Por ejemplo para obtener una precisión de 4 decimales tendría que haber hecho 12 iteraciones, mientras que si hubiese querido ir a ocho decimales tendría el número de iteraciones hubiese sido 27.
iteración n log n
1 3,1623 0,500000
2 1,7783 0,250000
3 2,3714 0,375000
4 2,0535 0,312500
5 1,9110 0,281250
6 1,9810 0,296875
7 2,0169 0,304688
8 1,9989 0,300781
9 2,0079 0,302734
10 2,0034 0,301758
11 2,0011 0,301270
12 2,0000 0,301025

Ni más ni menos eso fue lo que hizo Briggs: en primer lugar obtuvo 54 raíces cuadradas sucesivas de 10, o sea $$\sqrt[{18\;014\;398\;509\;481\;984\;\;}]{{10}},$$con una precisión de 32 decimales que llegó a ser de 40 para los últimos valores, y las puso en correspondencia con las sucesivas mitades de la unidad
Tabla de las raíces cuadradas n-simas de 10 (Briggs, 1624)

Esto es, calculó los logaritmos de 2n√10 para n = 1, 2, ..., 54. Solo se detuvo cuando comprobó que la parte decimal de la raíz era la mitad de la parte decimal de la raíz anterior. Al comparar estos valores con los valores de 2-n observó que si x = 1 + r, entonces log x ≈ α r; siendo α un factor de proporcionalidad que calculó utilizando la última pareja de valores obtenidos:$$\alpha \approx \frac{{\log \left( {1 + r} \right)}}{r}\\\alpha \approx \frac{{{2^{ - 54}}}}{{\sqrt[{{2^{54}}}]{{10}} - 1}}\\\alpha \approx \frac{{{\rm{5}}{\rm{,5511151231257827021181583}} \times {\rm{1}}{{\rm{0}}^{ - 17}}}}{{{\rm{1}}{\rm{,27819149320032344165000000}} \times {\rm{1}}{{\rm{0}}^{ - 15}}}}$$
$$ \;\;\;\alpha \approx 0,434294481903251804\;\;\;$$

Otra de las armas de Briggs eran las propiedades de los logaritmos, que las expuso en el capítulo 2:
\[\begin{array}{c} \log \left( {a \times b} \right) = \log a + \log b\\ \log \frac{a}{b} = \log a - \log b \end{array}\] y por si fuera poco disponía de una herramienta adicional poco común y tremendamente eficaz: su ingenio. Como todos hemos comprobado alguna vez, eso sí, con ayuda de la calculadora, la extracción sucesiva de raíces cuadradas de cualquier número nos lleva, sí o sí, a un número próximo a uno, de manera que tenemos$$\left. \begin{array}{l} \sqrt[{{2^n}}]{x} = 1 + r\\ \log \left( {1 + r} \right) = \alpha \;r \end{array} \right\} \Rightarrow \log x \approx {2^n}\alpha r$$De manera que el cálculo del logaritmo decimal de cualquier número se reducía a la extracción sucesiva de las raíces cuadradas. Eso le permitió tomar una serie de atajos en el cálculo de los logaritmos. Por ejemplo, en vez de calcular el logaritmo de 2, calculó el logaritmo de 1024. Al fin y al cabo:$$2^{10}=1024\\\log 2^{10}=\log 1024\\10\log 2=\log (1,024 \times 1000)\\10\log 2=3+\log 1,024$$De donde:$$\log 2=(3+\log 1,024)/10$$Extrajo la raíz de 1,024 cuarenta y siete veces (47) hasta que consideró que podía aproximar log(1 + r) por α r. El resultado que obtuvo fue:$$\sqrt[{2^{47}}]{{1,024}} = {1,00000\;00000\;00000\;16851\;60570\;53949\;77} \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;{Briggs}\;\;\;\\\sqrt[{2^{47}}]{{1,024}} = {1,00000\;00000\;00000\;16851\;60570\;53949\;76636\;06783} \; {Mathematica}$$y operando pudo Briggs obtener el logaritmo con una precisión de 19 cifras decimales. Si hubiese comenzado directamente con  el 2, se hubiese visto obligado a realizar 52 raíces cuadradas consecutivas, obteniendo un ahorro de cinco raíces cuadradas.

Para calcular el logaritmo de 3, realizó algo similar, ya que lo que hizo fue calcular el logaritmo de 6, y para ello tomó como valor de partida 69=10077696

Por si fuera poco, a base de realizar raíces, observó que se repetían determinado patrones lo que le llevó a desarrollar un ingenioso sistema que sustituía el cálculo de las raíces cuadradas por sumas y restas2, vislumbrando procedimientos propios de los actuales métodos numéricos.

Casi hemos terminado con los logaritmos decimales, que no neperianos, inventados por Neper y desarrollados por Briggs. La pregunta natural que nos surge ahora es, si Neper no inventó los logaritmos neperianos, ¿quién fue quien lo hizo?

Para terminar, y para los más frikis, dos programas muy básicos que en el Mathematica  permite calcular raíces cuadradas sucesivas y logaritmos decimales de cualquier número entre 1 y 10 por el método de Briggs.

raizNsima[x0_, n_] := Module[
  {t = x0},
   For[i = 0, i < n, i++, t = Sqrt[t]; Print[N[t, 40]]]
]

miLog[n_, prec_] := Module
[ {TOL = 10^(-prec), i, x0, x1, log0, log1, xNew, logOld, logNew},
  {i, x0, x1, log0, log1} = {1, 1, 10, 0, 1};
   xNew = Sqrt[x0 x1];
   logNew = (log0 + log1)/2;
   logOld = logNew + TOL + 1;
   While
       [Abs[logOld - logNew] > TOL,
        logOld = logNew;
        If
          [n < xNew,
          x1 = xNew;
          log1 = logNew,
          x0 = xNew;
          log0 = logNew];
         xNew = Sqrt[x0 x1];
         logNew = (log0 + log1)/2;
          i++];
  {i, N[xNew, 40], N[logNew, 40]}
]





1 y que tampoco la definición de seno que manejaba Neper es la que manejamos hoy
2 Tranquilos que no voy a desarrollarlo aquí.

---------


Bibliografía:
Logarithms: The Early History of a Familiar Function The Logarithms, Its Discovery and Development
Historia de los logaritmos, Navegando entre números.
David Orden (2013) Yo también viví engañado: El logaritmo neperiano no usaba la base e.
Ribnikov, K (1991) Historia de las matemáticas. Ed. MIR. Moscú
Napierian Logarithm
Briggs, H (1624) Arithmetica Logarithmica Versión traducida y comentada por Ian Bruce (2004)
Denis Roegel. A reconstruction of the tables of Briggs' Arithmetica logarithmica (1624). [Re- search Report] 2010.
Neper (1620) Mirifici Logarithmorum Canonis Constructio.