En particular, una elección a la vez natural y sencilla para esta aproximación de partida es tomar xo igual al menor natural tal que xo2 > n, o dicho de otra forma, tomar para xo la aproximación entera por exceso de Ö n. En este caso, se tiene xo2 > n > n/3, y el algoritmo siempre converge. Pero, no sólo converge, sino que además lo hace de forma extremadamente rápida. Por ejemplo, si se aplica este algoritmo al cálculo de Ö 2, tomando como aproximación inicial xo = 2, se obtiene:
Tabla 1. Cinco iteraciones del cálculo de la raíz cuadrada de 2 usando calculadora
iteración | xk+1 | xk | n/2xk | xk/2 | n/2xk + xk/2 |
1 | 2.5 | 2 | 0.5 | 1 | 2.5 |
2 | 1.65 | 2.5 | 0.4 | 1.25 | 1.65 |
3 | 1.4310606 | 1.65 | 0.60606060 | 0.825 | 1.4310606 |
4 | 1.414312727 | 1.4310606 | 0.698782427 | 0.7155303 | 1.414312727 |
5 | 1.414213565 | 1.414312727 | 0.707057202 | 0.707156363 | 1.414213565 * |
donde todas las cifras anotadas con rojo en cada aproximación, son cifras exactas de Ö 2. A la quinta iteración se han obtenido más de 9 dígitos exactos, cuando el algoritmo clásico hubiera dado sólo cinco, como puede verse en la tabla 1. ¡La eficacia de este algoritmo resulta verdaderamente impresionante! En términos de la teoría de sistemas dinámicos se debe a que Ö 2 es un punto fijo superatractivo (atractor), para el sistema dinámico:
xk+1 = n/2xk + xk/2
Ojalá lo hubiéramos sabido antes para sustituir el viejo método por éste, pues demuestra ser muy útil, aún teniendo calculadora, ya que ésta no nos proporciona más de 12 cifras significativas o menos y hace que la convergencia sea más lenta por los errores de redondeo o truncamiento cometidos
CÁLCULO DE Ö 2 CON COMPUTADORA
Se sabe que Ö 2 es un número irracional, pero si se desea ver expresado con mil dígitos significativos (o más), para observar que no existe una secuencia o período que se repita (como es el caso de los números racionales), se puede utilizar un pequeño programa MATLAB para corroborarlo.
¿Será que Ö 3 es igualmente superatractivo (o que Ö 3 es un atractor)? Usted mismo puede verificarlo, mirando el grado de convergencia, con el programa raices.m
El lector puede tratar también de repetir el razonamiento (si es posible), para obtener la raíz cúbica de un número entero positivo (o racional positivo) de una manera fácil y eficiente e implementar el algoritmo en MATLAB y ver si se comporta como un atractor, como es el caso de Ö 2 (dado que sea posible).
El siguiente archivo MATLAB denominado raices.m permite calcular la raíz de un número racional positivo con las iteraciones deseadas y el número de dígitos significativos deseados:
%este programa calcula la raiz cuadrada de un numero racional positivo
%
clc;
disp(' ');
disp(' ');
format long;
n=input(' ENTRE EL NUMERO "n" A CALCULAR LA RAIZ CUADRADA: ');
disp(' ');
it=input(' ¿CUANTAS ITERACIONES DESEA REALIZAR? ');
disp(' ');
dig=input(' ¿CON CUANTOS DIGITOS DESEA EXPRESAR LA RAIZ? ');
x0=round(sqrt(n));
xk=x0;xk1=0;
for i=1:it
xk1=n/(2*xk) + xk/2;
xk=xk1;
end
vpa(xk,dig)
El siguiente es el número Ö 2 con 1,000 dígitos significativos (por razones de espacio no se anotan más). Ahora, se va a utilizar el algoritmo anterior para ver cuántos dígitos significativos se obtienen en cada iteración:
1.414213562373095048801688724209698078569671875376948073176679737990732478462107038850387534327641572735013846230912297024924836055850737212644121497099935831413222665927505592755799950501152782060571470109559971605970274534596862014728517418640889198609552329230484308714321450839762603627995251407989687253396546331808829640620615258352395054745750287759961729835575220337531857011354374603408498847160386899970699004815030544027790316454247823068492936918621580578463111596668713013015618568987237235288509264861249497715421833420428568606014682472077143585487415565706967765372022648544701585880162075847492265722600208558446652145839889394437092659180031138824646815708263010059485870400318648034219489727829064104507263688131373985525611732204024509122770022694112757362728049573810896750401836986836845072579936472906076299694138047565482372899718032680247442062926912485905218100445984215059112024944134172853147810580360337107730918286931471017111168391658172688941975871658215212822951848847
Utilizando el computador y el pequeño programa en MATLAB, se obtiene la siguiente secuencia:
- Con una iteración un dígito significativo:
1.5000000000000000000000000000000000000000000000000
1.4142135623730950488016887242096980785696718753769
- Con dos iteraciones se obtienen tres dígitos significativos:
1.4166666666666666666666666666666666666666666666667
1.4142135623730950488016887242096980785696718753769
- Con tres iteraciones, se obtienen 6 dígitos significativos:
1.4142156862745098039215686274509803921568627450980
1.4142135623730950488016887242096980785696718753769
- Con cuatro iteraciones, se obtienen 12 dígitos significativos:
1.41421356237468986982719343359349295496940612792968750000000000000000000000000000000000
1.41421356237309504880168872420969807856967187537694807317667973799073247846210703885038
- Con cinco iteraciones, se obtienen más de 20000 dígitos significativos (hasta donde se hicieron estos cálculos y hasta donde permitió la máquina!). Por razones de espacio solamente se escriben a continuación, mil dígitos de √2.
ES INCREÍBLE, QUE CON TAN POCAS ITERACIONES SE TENGAN TANTOS DÍGITOS SIGNIFICATIVOS!
1.414213562373095048801688724209698078569671875376948073176679737990732478462107038850387534327641572735013846230912297024924836055850737212644121497099935831413222665927505592755799950501152782060571470109559971605970274534596862014728517418640889198609552329230484308714321450839762603627995251407989687253396546331808829640620615258352395054745750287759961729835575220337531857011354374603408498847160386899970699004815030544027790316454247823068492936918621580578463111596668713013015618568987237235288509264861249497715421833420428568606014682472077143585487415565706967765372022648544701585880162075847492265722600208558446652145839889394437092659180031138824646815708263010059485870400318648034219489727829064104507263688131373985525611732204024509122770022694112757362728049573810896750401836986836845072579936472906076299694138047565482372899718032680247442062926912485905218100445984215059112024944134172853147810580360337107730918286931471017111168391658172688941975871658215212822951848847 (calculado con el programa raices.m)
*********************
1.414213562373095048801688724209698078569671875376948073176679737990732478462107038850387534327641572735013846230912297024924836055850737212644121497099935831413222665927505592755799950501152782060571470109559971605970274534596862014728517418640889198609552329230484308714321450839762603627995251407989687253396546331808829640620615258352395054745750287759961729835575220337531857011354374603408498847160386899970699004815030544027790316454247823068492936918621580578463111596668713013015618568987237235288509264861249497715421833420428568606014682472077143585487415565706967765372022648544701585880162075847492265722600208558446652145839889394437092659180031138824646815708263010059485870400318648034219489727829064104507263688131373985525611732204024509122770022694112757362728049573810896750401836986836845072579936472906076299694138047565482372899718032680247442062926912485905218100445984215059112024944134172853147810580360337107730918286931471017111168391658172688941975871658215212822951848847 (cálculo preestablecido por MATLAB).
El lector puede utilizar este mismo programa (raices.m) en MATLAB, para realizar el mismo procedimiento con √3 y comprobar si √3 converge más o menos rápido que √2 (es decir, si es más o menos superatractivo que √2 o si simplemente no es atractor).
Calcular √2 con más de 20,000 dígitos significativos manualmente, seguro nos llevaría toda una vida, pero con este sencillo algoritmo en cinco iteraciones permite calcular decenas de miles de dígitos significativos en muy poco tiempo, utilizando el computador y MATLAB.
En el Espacio de Trabajo de MATLAB, el programa se ejecuta de la siguiente manera:
>> raices [intro]
ENTRE EL NUMERO "n" A CALCULAR LA RAIZ CUADRADA: 2 [Intro]
¿CUANTAS ITERACIONES DESEA REALIZAR? 5 [Intro]
¿CON CUANTOS DIGITOS DESEA EXPRESAR LA RAIZ? 100 [Intro]
ans =
1.414213562373095048801688724209698078569671875376948073176679737990732478462107038850387534327641573
BIBLIOGRAFÍA
BÁEZ LÓPEZ, David. MATLAB con aplicaciones a la Ingeniería, Física y Finanzas. Alfaomega Grupo Editor, S.A. México D.F. 2006.
BERTUGLIA, Cristoforo Sergio y VAIO, Franco. Nonlinearity, Chaos & Complexity. The Dynamics of Natural and Social Systems. OXFORD University Press. New York, 2005.
BRIGGS John y PEAT F. David. Espejo y Reflejo: del Caos al Orden. Guía ilustrada de la teoría del caos y la ciencia de la totalidad. Gedisa S. A. Barcelona, 2001.
BRIGGS John y PEAT F. David. Las Siete Leyes del Caos. Las ventajas de una vida caótica. Grijalbo. Barcelona, 1999.
BURDEN, Richard L. y DOUGLAS FAIRES, J. Análisis Numérico. THOMSON. Bogotá D.C. 2003.
CARNAHAN, Brice y otros. Cálculo Numérico. Métodos, aplicaciones. Madrid, Editorial Rueda. 1985.
CHAPMAN, Stephen J. Essentials of MATLAB Programming. THOMSON. México D. F. 2006.
CHAPMAN, Stephen J. MATLAB programming for Engineers. THOMSON. Toronto, 2005.
CHAPRA, Steven y CANALE, Raymond P. Métodos numéricos para ingenieros con aplicaciones en computadores personales. Mac Graw-Hill. México D.F. 1990.
DAVIS, Timothy A. and SIGMON, Kermit. MATLAB Primer. Chapman & Halu/CRC. New York, 2005.
ETTER, Delores M. Solución de problemas de ingeniería con MATLAB. Prentice-Hall. México D.F. 1997.
FISCHER, Nans Rudi y otros (Comps.) El final de los grandes proyectos. Gedisa S. A. Barcelona, 1997.
GIL RODRÍGUEZ, Manuel. Introducción a MATLAB y SIMULINK para Ciencia e Ingeniería. Díaz de Santos. Madrid, 2003.
GRIBBIN, John. Así de simple. El caos, la complejidad y la aparición de la vida. Drakontos. Crítica. Barcelona, 2006.
HACKING, Ian. La domesticación del azar. La erosión del determinismo y el nacimiento de las ciencias del caos. Gedisa S. A. Barcelona, 1995.
HANSELMAN, Duane y LITTLEFIELD, Bruce. Mastering MATLAB. Pearson Prencice Hall Inc.New York, 2005.
HAYLES, Catherine N. La evolución del caos. El orden dentro del desorden en las ciencias contemporáneas. Gedisa S. A. Barcelona, 2000.
JAMES, Merlin y otros. Métodos Numéricos Aplicados a la Computación Digital con FORTRAN. Representaciones y Servicios de Ingeniería, S. A. México D.F. 1980.
KREYSZIG, Erwin. Matemáticas Avanzadas para Ingeniería. Vol. 1 y 2. LIMUSA. México, D.F. 2002.
LEWIN, Roger. Complejidad. El caos como generador del orden. Tusquets Editores. Barcelona, 2002.
LINZ, Peter and WANG, Richard L. C. Exploring Numerical Methods. An introduction to Scientific Computing using MATLAB. Jones and Bartlett Mathematics. Sudbury Massachusetts, 2005.
LUTHE, Rodolfo y otros. Métodos numéricos. LIMUSA. México D.F. 1990.
MALDONADO, Carlos Eduardo. Termodinámica y Complejidad. Una Introducción para las Ciencias Sociales y Humanas. Universidad Externado de Colombia. Bogotá, 2005.
MARTÍN, Miguel Ángel y otros. Iniciación al caos. Sistemas Dinámicos. Editorial Síntesis. Madrid, 1998.
MATHEWS, John H. y FINK, Kurtis D. Métodos numéricos con MATLAB. Pearson Prentice-Hall. Madrid, 2000.
McCRACKEN, Daniel D. y DORN, William S. Métodos Numéricos y Programación FORTRAN, con aplicaciones en ingeniería y ciencias. LIMUSA. México D.F. 1990.
MONROY OLIVARES, César. Teoría del Caos. Alfaomega Grupo Editor, S.A. de C.V. México D.F. 1997.
MONTEALEGRE, Mauro y otros. Fundamentos de los Sistemas Dinámicos. La interdisciplinariedad desde los sistemas no lineales. Facultad de Ciencias Exactas y Naturales. Universidad Surcolombiana y Colciencias. Neiva, 2002.
MORA ESCOBAR, Héctor Manuel. Optimización no lineal y dinámica. Universidad Nacional de Colombia. Facultad de Ciencias. Departamento de Matemáticas y Estadística. Bogotá, 2001.
MORIN, Edgar. Introducción al pensamiento complejo. Gedisa S. A. Barcelona, 2003.
MORIN, Edgar. La mente bien ordenada. Repensar la reforma. Reformar el pensamiento. Seix Barral Los Tres Mundos. Barcelona, 2001.
NAKAMURA, Shoichiro. Análisis numérico y visualización gráfica con MATLAB. Prentice-Hall Hispanoamericana, S. A. México, 1998.
NIEVES, Antonio y DOMÍNGUEZ, Federico. Métodos Numéricos aplicados a la Ingeniería. CECSA. México D.F. 1996.
NICOLIS, Grégoire y PRIGOGINE, Ilya. La Estructura de lo Complejo. Alianza Universidad. Madrid, 1997.
PÉREZ, César. MATLAB y sus Aplicaciones en las Ciencias y la Ingeniería. Prentice Hall. Madrid, 2002.
POTTER, Merle C. y otros. Advanced Engineering Mathematics. Oxford University Press. New York, 2005.
POTTER, Merle C. y otros. Advanced Engineering Mathematics. Oxford University Press. New York, 2005.
PRIGOGINE, Ilya. El tiempo y el devenir. Gedisa S. A. Barcelona, 2000.
PRIGOGINE, Ilya. El fin de las certidumbres. Santillana S. A. Taurus. Madrid, 1997.
PRIGOGINE, Ilya y STENGERS, Isabelle. La Nueva Alianza. Metamorfosis de la Ciencia. Alianza Universidad. Madrid, 2002.
PRIGOGINE, Ilya. ¿Tan solo una ilusión? Una exploración del caos al orden. Tusquets Editores. Barcelona, 1997.
RUBIANO, Gustavo. Fractales para profanos. Universidad Nacional de Colombia. Facultad de Ciencias. Bogotá, 2000.
SAMETBAND, Moisés José. Entre el Orden y el Caos. La Complejidad. Fondo de Cultura Económica. México D. F. 1999.
SÁNCHEZ, Juan Miguel y SOUTO, Antonio. Problemas de Cálculo Numérico para Ingenieros con
Aplicaciones MATLAB. Schaum Mc Graw-Hill. Madrid, 2005.
SILVESTRINI, Vittorio. Qué es la entropía. Grupo Editorial Norma. Bogotá, 1985.
STANLEY, William D. Technical Analysis and Applications with MATLAB. Thomson. New York, 2005.
STEWART, James. Calculus. Early Trascendentals. Thomson Learning Inc. U.S.A. 2003.
THE MATH WORKS INC. MATLAB Edición de Estudiante. Versión 4 guía de usuario. Prentice Hall. Madrid, 1996.
TORRES FENTANES, José A. y CZITROM DE PÉREZ, Verónica. Métodos para la Solución de Problemas con Computadora Digital. Programas y ejemplos. Representaciones y Servicios de Ingeniería, S. A. México D. F. 1986.
WATZLAWICK, Paul y KRIEG, Peter. (Comps.) El ojo del observador. Contribuciones al constructivismo. Gedisa S. A. Barcelona, 2000.
Por:
MsC. Héctor José Pabón Ángel
Profesor Titular de la Facultad de Ingeniería
UNIVERSIDAD DE CUNDINAMARCA, COLOMBIA
Página anterior | Volver al principio del trabajo | Página siguiente |