jueves, agosto 12, 2010

Multiplicación de cantidades decimales: una cuestión de representación, escala y transformación


I like to think of mathematics as a vast musical instrument on which one can play a great variety of beautiful melodies. Many generations of mathematitians have provided us with rich tonal resources that offer limitless possibilities for harmonious combination.
Knuth, Donald - Algorithmic Themes, AMS History of Mathematics, Volume 1: A Century of Mathematics in America, AMS, Providence, RI, 1988.


¿Por qué la multiplicación de dos cantidades decimales x e y, tal que {1 > x > 0 ; 1 > y > 0}, nos da como resultado una cantidad menor que los multiplicandos, a diferencia de la multiplicación de cantidades iguales o mayores que la unidad?

Aquí está la respuesta expresada gráficamente. Es una cuestión de escala. La parte superior del gráfico muestra la multiplicación de una cantidad mayor que la unidad por otra cantidad menor que la unidad: el resultado (esperado por la regla de la multiplicación) es otra cantidad mayor que la unidad. La parte inferior muestra el ejemplo clásico de multiplicación en la cual el resultado es una cantidad que es misteriosamente mucho menor que los multiplicandos. Un resultado no tan obvio, sobre todo si se trabaja la multiplicación de forma mecánica manualmente (multiplicación trae la idea a la mente de magnificar una cantidad N veces ella misma):



Es una paradoja. La misma paradoja que enfrenta todo niño en la escuela cuando, despues de tanto machacar de memoria las tablas de multiplicar (en la cual el resultado de la multiplicación de dos cantidades siempre muestra una cantidad mayor que los multiplicandos), de pronto aparece una operación de multiplicación que desafía esta regla de caletre. El niño(a) curioso y protestón descubre que ha sido engañado y que realmente no sabe qué es realmente la operación aritmética de multiplicación. Un escenario que ocurre con mucha frecuencia y que es producto de un alumnado que no quiere esforzarce en comprender y por otro lado un profesorado que no le gusta que le pregunten para no tener que explicar y desarrollar didacticas que realmente "lleguen al punto" (el punto en este caso es que el alumno comprenda perfectamente bien una idea).

Esta paradoja de las operaciones aritméticas "al ojo" es una de las razones que motivaron el uso de la notación estándar o notación científica: se establece una posición fija para la coma "," decimal en cualquier cifra numérica, lo cual facilita su lectura y por consiguiente su uso en operaciones aritméticas. Es así como una cifra numérica se expresa como una expresión potencia de base N (en nuestro sistema decimal se usa como base el 10):

"cifra-decimal * 10^n" , siendo n la posición de la verdadera coma "," decimal.

Por ejemplo, nos presentan la siguiente multiplicación:

5.267,4232 * 0,0000012967 = ? (1)

Usando la notación estándar podemos transformar las cifras originales en la siguiente forma:

0,526x10^4 * 0,129x10^-5 (2)

Y resolviendo terminos semejantes en (2) obtenemos:

0,526 * 0,129 * 10^-1 (3)

La expresión (3) es más adecuada tanto a la vista del calculador que hace el trabajo de forma manual como al calculador que hace uso de una regla de cálculo o de tablas. En nuestro ejemplo, sin embargo, hicimos una simplificación al truncar varios dígitos en las cifras originales y por consiguiente cargamos con un margen de error en la precisión del resultado desde el puno de vista de los operandos originales. En este caso el error sería de 0,0000448676634399988, pero es un buen ejemplo de la forma de operar y los errores que pudieramos esperar en aritmética manual de precisión.

Para el caso de una regla de calculo, en la cual la escala comienza en la unidad ("1"), podemos expresar el problema simplificado (3) así:

5,26x10^3 * 1,29x10^-6 (4)

Luego, simplificando (4) obtenemos:

5,26 * 1,29 * 10^-3 (5)

La sub-expresión 5,26 * 1,29 de (5) la trasladamos al desplazamiento de escalas en una regla de calculo y obtenemos el resultado (de 6,78) de forma analógica como se muestra en la siguiente imagen en las escalas A y B (parte superior de la regla de calculo - para ver detalle presionar el mouse sobre la imagen):


Finalmente operamos este sub-resultado ajustando la escala al factor 10^-3 de la expresión (5) para obtener el total.

La notación estándar es utilizada en programas de hoja de calculo y frecuentemente se expresan las cifras con el formato "f.ffff...E+e", siendo "f.ffff..." la parte decimal, "+" el signo del exponente y "e" el exponente de base 10.

El modelo de programación de un procesador (microprocesador) diseñado para almacenar y operar con cifras decimales aproximadas, debe permitir registrar en una misma palabra de dato las distintas partes que conforman la notación estándar o científica que mostramos antes. Esta notación, aplicada a los procesadores digitales se le llama de punto flotante (Floating Point notation) y pudieramos representarla en su forma básica de la siguiente manera:

+/- e fffff...

Siendo +/- el signo de la cifra representada, "e" el exponente en base 10 o base 2, y "fffff..." la cifra decimal o Mantisa.


Sobre el uso de la regla de cálculo y los logaritmos:

La regla de cálculo como instrumento, hoy día olvidado (incluso como herramienta educativa), es el típico ejemplo de un computador analógico (transformación de cantidades numéricas en cantidades físicas: desplazamientos, voltages). Dada una operación aritmética a resolver, las cantidades involucradas son transformadas en desplazamientos entre una regla deslizante y otra regla estática. A través de los mismos desplazamientos y escalas logaritmicas impresas físicamente en las superficies de las reglas se hacen los calculos y el resultado (como en el ejemplo dado en esta entrada) es leido en las escalas como números. Las escalas impresas en la superficie de la regla son logaritmicas y están basadas en la siguiente identidad de los logaritmos:

LOG(A x B) = LOG(A) + LOG(B) (6)

Asumiendo que usamos nuevas variables para representar los logaritmos de cada número original, tenemos

LOG(A) = X

LOG(B) = Y

Entonces

LOG(A x B) = X + Y

Es decir, "X + Y" es el exponente al cual debemos elevar la base (10 en nuestros ejemplos) para obtener "A x B":

10^(X + Y) = A x B

Esto mismo es lo que hace la regla de cálculo, los números u operandos originales son transformados en nuevos operandos que representan desplazamientos en las escalas de la regla. Si observamos las escalas veremos una numeración del 1 al 10 (en algunos casos como la regla Faber Castell 2/82, la numeración comienza en 0,9). Sin embargo la distancia entre los números no es uniforme: las distancias son exponenciales.

Vamos a revisar un ejemplo de este enunciado. Imaginemos que deseamos resolver la multiplicación de las cantidades:

1,78 x 5.011,87

Usando la escala L de una regla de cálculo ó usando una tabla de logaritmos, encontramos que:

LOG(1,78) = 0,25 y LOG(5.011,87) = 3,7 (6.1)

Luego sustituyendo (6.1) en (6) tenemos:

LOG(1,78) + LOG(5.011,87) = LOG(1,78 x 5.011,87) (6.2)

Resolviendo cada lado de la ecuación (6.2) :

0,25 + 3,7 = 3,95

Por lo tanto, obtener el producto A x B es equivalente a obtener la suma de sus logaritmos (cantidades a las cuales debe "elevarse" una base 10 para obtener cada valor A y B):

10^0,25 = 1,78 y 10^3,7 = 5.011,87

El proceso de transformación que referimos antes ocurre cuando trasladamos nuestro calculo original (multiplicación en este caso) a el "mundo" de escalas logaritmicas y desplazamientos físicos entre superficies: la multiplicación de cantidades se transforma en suma de cantidades y esta a su vez se transforma en suma de desplazamientos físicos. La ecuación (6) muestra cómo desplazando una escala logaritmica sobre otra estática (suma) obtenemos el producto entre cantidades.


Esta imagen presenta un ejemplo de multiplicación utilizando la suma de logaritmos. La hoja (parte superior) desglosa las operaciones involucradas tal y como fueron descritas en la ecuación (6). Para el caso de la regla de cálculo (parte inferior) se muestra el desplazamiento cuya distancia es proporcional al logaritmo.


Anterior a las tablas logaritmicas y a las reglas de cálculo, uno de los métodos usados fue el llamado Prosthaphaeresis o método Prosthaphaeretico a través del cual operaciones de multiplicación eran transformadas en multiplicaciones de funciones seno/coseno de ángulos y estas a su vez resueltas por identidades trigonométricas que las igualaban con operaciones de resta y suma de senos/cosenos (ver "On Tycho Brae's Manual of Trigonometry" - 1916 ; en ese trabajo se hace referencia al esfuerzo de un tal Johannes Wener de Nurnberg, a parte del trabajo que el mismo Tycho describe haber realizado en 1580 junto a Paul Wittich de Breslau). La palabra Prosthaphaeresis es la conjunción de las palabras adición y sustracción en griego y una de las identidades usadas para hacer la transformación era la siguiente:

2 x Sen(alpha) x Cos(betha) = cos(alpha - betha) - Cos(alpha + betha) (6.1)

La formulación (6.1) requiere el resolver nuestras cantidades originales A y B a sus correspondientes ángulos alpha y betha mediante una búsqueda en tablas, tal que:

Seno(alpha) = A

y

Coseno(betha) = B

Como se ve era un método más complicado que el uso de tablas logaritmicas posteriores, además de sus limitaciones.

Este mismo proceso de transformación (llamado Isomorfísmo por el Prof. Martin Cohen) conforma el principio de los instrumentos de medición como el Sextante. En el Sextante, la elevación del sol respecto al horizonte aparente es transformada en una medida angular utilizando espejos, tornillo micrométrico y brazo mecánico montados de forma relacional en un cuadrante de metal o madera.

El capitán Nemo usando un Sextante para transformar la elevación del sol, respecto al horizonte aparente, en una medida angular para el calculo de la latitud (de un grabado de Alphonse de Neuville)

Las tablas de logaritmos han sido usadas desde mediados del siglo XVII hasta muy entrada la década de los años 1970 para "mecanizar" las operaciones aritméticas de multiplicación, división realizadas por ingenieros, astrónomos y matemáticos. Por otro lado, las escalas logaritmicas (como las impresas en la regla de cálculo) proliferaron en Europa especialmente en Francia durante los años medios del siglo XIX (como necesidad de herramientas de cálculo durante las labores de ingeniería en la construcción de las vías de ferrocarriles) en forma de Nomogramas. Uno de los Nomogramas más interesantes de esa época es el Abaque ou Compteur Universel creado por Léon Lalanne (ofrecía la posibilidad de hacer operaciones básica de multiplicación "z = xy" de números enteros, división de números enteros y otros cálculos más laboriosos como el cálculo de medidas en la circunferencia). En una próxima entrada en este Blog trataré este interesante téma de las tablas logaritmicas, la Nomografía y su utilización práctica. Aquí es importante afirmar que la idea de estos instrumentos y artificios (tablas logaritmicas, reglas de cálculo y la representación de cantidades por notación científica) es la de "mecanizar" las operaciones aritméticas y por ende acelerar el procedimiento de resolución. De esta "mecanización" (secuencia de pasos como búsqueda al "ojo" en una tabla logarítmica o el desplazamiento de escalas en las reglas de cáculo) se pasó luego a la automatización (de estas mecanizaciones) a través del uso de calculadoras y computadoras programables.

Esta gráfica muestra la creación de una escala logarítmica (parte superior) similar a las escalas C y D de la regla de cálculo básica Manheimm

Una de las ventajas de las reglas de cálculo y el uso de tablas es que son herramientas de un "proceso conciente". Utilizar una calculadora programable (con solo pulsar un par de botones) representa un proceso hasta cierto punto "inconciente". El "usuario" de una calculadora programable pudiera no ser conciente de la formulación matemática y procedimiento para obtener un resultado. La regla de cálculo por otra parte exige un llevar cuenta de las posiciones decimales de cada operando y para cada resultado obtenido. La regla de cálculo rebasa la frontera que separa el "usuario" del "calculista" (este último termino era dado a los ingenieros que se dedicaban a hacer los cálculos para trabajos de ingeniería). En el pasado (años 1970 hacia atrás) las organizaciones y compañías de ingeniería tenían un equipo de "calculistas" o "computadores" quienes realizaban los calculos para los proyectos.


Esta imagen muestra el proceso de Transformación que ocurre con el uso de las reglas de cálculo: a la izquierda de la imagen se muestra la operación de multiplicación tal y como se dá en un (1) solo paso, contrastando con los tres (3) pasos requeridos por la Transformación. Presionar sobre la imagen para verla ampliada


Veamos otro ejemplo esta vez un poco más abultado:

1.590 x 3,64 x 0,763 (7)
---------------------
4,39 x 930

Usando una calculadora escribiríamos las operaciones de forma jerárquica RPN (Reverse Polish Notation - ver entrada sobre computación en los años 1950 en este mismo Blog). En una calculadora programable es posible almacenar esta secuencia como un programa titulado "A" y ejecutarlo presionando unas pocas teclas:

1.590
ENTER
3,64
x
0,763
x
STO 10
4,39
ENTER
930
x
STO 11
RCL 10
ENTER
RCL 11
/

La calculadora nos muestra entonces, luego de ejecutar esta secuencia de pasos, el resultado 1,0816.

Ahora vamos a hacerlo con nuestro método manual y mucho más instructivo e interesante combinando la notación estándar o científica y una regla de cálculo.

Primero normalizamos todas las cantidades involucradas a través de la notación estándar:

- 1.590 se convierte en 1,6 x 10^3

- 3,64 se convierte en 3,64 x 10^0

- 0,763 se convierte en 7,63 x 10^-1

- 4,39 se convierte en 4,39 x 10^0

- 930 se convierte en 9,30 x 10^2

Nuestra expresión original se convierte en:

(1,6 x 10^3) x (3,64 x 10^0) x (7,63 x 10^-1) [8]
----------------------------------------------
(4,39 x 10^0) x (9,30 x 10^2)

La expresión aritmética [8] es nuestra expresión original en la cual los operandos se expresan de forma estándar o científica.

En este punto debemos recordar la precedencia de operadores aritméticos. Esto es, la operación de multiplicación tiene una precedencia mayor que la operación de división. Por tanto resolveremos las multiplicaciones y al final resolveremos la división. Este método no es el recomendado por los calculistas de antaño. El método que ellos recomendaban (para minimizar la cantidad de desplazamientos de la regla) es el de "zig-zag" (vease la nota al final de esta entrada). También es importante indicar que al utilizar una regla de cálculo, es posible resolver operaciones de multiplicación continuada del tipo aa x bb x cc. Para esto deslizamos la unidad de la escala C sobre el primer multiplicando. Seguidamente deslizamos el apuntador sobre el próximo multiplicando en la escala C. Observamos el resultado intermedio en la escala D (en el mismo punto indicado por el apuntador en este instante). Luego deslizando la unidad de la escala C sobre la posición del indicador, deslizamos el indicador sobre el siguiente operando en la escala D. Observamos el resultado final en la escala C en la nueva posición del indicador. No mostraremos aquí imágenes de la regla de calculo. La imágen anterior puede servir como guía. Luego publicaré un enlace para descargar reglas de calculo en forma de applets de java para practicar en el navegador de Internet. Yo utilizo una Faber-Castell 2/82 y una Aristo 0968 (ambas muy buenas para el cálculo de sobre-mesa por su buen tamaño de más de 25cm). Lo importante de tener varias reglas de cálculo es que permite la práctica constante. En su libro sobre la Regla de Cálculo, el doctor Porcel nos dice que el oficio de calculista es similar a la taquigrafía: como el caso de la taquigrafía, se debe practicar frecuentemente.

Procedemos entonces a reducir las expresiones del numerador y denominador de la división:

1,6 x 3,64 x 7,63 x 10^2 (9)
------------------------
4,39 x 9,30 x 10^2

NOTA IMPORTANTE: La multiplicación en el denominador dará como resultado 4 x 9 = 36. Igualmente para el caso del numerador 3 x 7 = 21. Es decir, el resultado será una cifra con un orden superior al de las cifras multiplicando. Por otra parte, la regla de cálculo nos da el resultado con, máximo, tres cifras significativas pero sin indicación de dónde puede estar localizada la coma decimal. Entonces, debemos tomar en cuenta en nuestro calculo mental o en nuestras anotaciones este orden superior del resultado (10^1). Con lo cual, la expresión del denominador en (9) quedaría: 4,39 x 9,30 x 10^2 x 10^1. Continuamos nuestras operaciones sin tomar en cuenta esto, suponiendo que las cuentas las hacemos mentalmente. Pero ya sabemos que para el calculo con regla debemos tomar en cuenta estos cambios de orden en las operaciones parciales.

Resolviendo las multiplicaciones en (9) nos queda:

4,44 x 10^2 (10)
------------
4,07 x 10^2

Para finalizar resolviendo la división en (10):

1,09 x 10^0 = 1,09 x 1 = 1,090

El resultado del programa RPN en la calculadora fué 1,0816.

Dejo el siguiente ejercicio al lector:

0,028 * 0,0031 * 0,4
---------------------
0,315 * 0,22 * 0,5


Lo interesante del uso de tablas logaritmicas o regla de cálculo es que la acción de resolución se hace mentalmente con ayuda de la herramienta (tablas o regla). Es decir, llevamos mentalmente la cuenta de los exponentes de diez (10).

Otro punto importante, sobre la resolución de operaciones como las anteriores y a través de la regla de cálculo, es que se sigue un esquema de "zig-zag" para aprovechar el posicionamiento de la regla en cada sub-desplazamiento. Por ejemplo:

A x B x C
---------
D x E

La secuencia de operaciones sería: (((A / D) x B) / E) x C

El siguiente ejemplo (e imagen) muestra cómo se opera con tabla de logarítmos y por otra parte con regla de cálculo. Supongamos que nos plantean la siguiente división:

0,0272 x 27,1 x 12,6
---------------------
2,371 x 0,007

Usando tabla de logarítmos tenemos,

log(0,0272) = (-) 2,43457
log(27,1) = 1,43297
log(12,6) = 1,10037
- log(2,371) = (-) 1,62507
- log(0,007) = 2,15491 +
-------------
2,74789

Aplicando Antilog(2,74789) = 559,6

El cálculo con tabla de logarítmos (incluidas las operaciones de sustracción de 1,00000 para cada valor negativo de logarítmo más la sumatoria total final) tomó 6 minutos aproximadamente.

Luego, haciendo el cálculo con la regla (utilicé una regla Hemmi SUN 259D con escalas D, C, DF, CF),

Paso 1. utilizo las escalas DF-CF y D-C siguiendo la estrategia "center-drift" con los valores 12,6 y 0,007 localizados en las escalas superiores DF-CF y el resto de los valores localizados en las escalas inferiores D-C. Obtenemos el valor "562".

Paso 2. Aproximación de la coma decimal por medio de la notación Estándar -1 -(-3) = 2, obtenemos el valor definitivo "562,0".

El cálculo con regla tomó 1 minuto aproximadamente.

La diferencia entre los valores "559,6" del cálculo con tabla de logarítmos y el "562,0" se explica dado que la tabla de logarítmos contempla valores resultantes de hasta 4 dígitos, mientras que la regla (que en este caso es de 25cm.) contempla hasta 3 dígitos. Sin embargo, el uso de la regla acelera los cálculos. Sobre todo en operaciones múltiples que incluyen productos, cocientes e incluso funciones trigonométricas y/o exponenciales, la regla es como la taquigrafía!

Aquí se muestra la hoja en la cual se realizó el cálculo final y el valor marcado en la escala de la regla (escala D, es decir primera escala de abajo hacia arriba)

No hay comentarios.: