Ábaco Oriental/Métodos Tradicionales/Raíces
Introducción
editarLa obtención de raíces cuadradas y cúbicas son las operaciones más complejas estudiadas dentro de la Aritmética Elemental. El ábaco oriental se presta muy bien a la obtención de raíces cuadradas mediante un procedimiento directo y eficiente; pero lamentablemente no se puede decir lo mismo respecto de la obtención de raíces cúbicas que, si bien son posibles, requieren un camino tortuoso, lleno de idas y venidas, y muy propenso a errores.
Cargill Gilston Knott (1856 - 1922), uno de los padres de la sismología moderna, fue un físico y matemático escocés que se sirvió durante nueve años como profesor de matemáticas, acústica y electromagnetismo en la Universidad Imperial de Tokio; tras lo cual fue condecorado con la Orden del Sol Naciente por el Emperador Meiji en 1891. Durante su estancia en Japón entró en contacto con el ábaco japonés que estudió en profundidad y sin duda utilizó profesionalmente en su propio trabajo como profesor e investigador. El resultado de su estudio fue un famoso artículo de 55 páginas.[1] escrito en 1885 que durante mucho tiempo ha sido el relato mejor informado en inglés, así como referencia obligada, sobre la historia y los fundamentos del soroban; la visión de un científico y matemático occidental.
Capítulos
editarLos dos capítulos siguientes de este libro:
desarrollan y amplían la visión de Knott sobre los métodos tradicionales de obtención de raíces; constando de una introducción teórica seguida de una descripción del procedimiento de cálculo y una serie de ejemplos.
Posteriormente, si desespera con el método tradicional de obtener raíces cúbicas... lo cual es fácil que ocurra, en la sección Técnicas Avanzadas encontrará el capítulo: Método de Newton para Raíces Cuadradas, Cúbicas y Quintas con una forma mucho más eficiente y sencilla de obtener raíces cúbicas.
Comprobando sus ejercicios
editarObtener raíces cuadradas y cúbicas con el ábaco puede ser un proceso algo largo y durante la fase de aprendizaje es interesante disponer de una herramienta que nos permita controlar si lo estamos haciendo correctamente.
Raíces cuadradas
editarPara raíces cuadradas, puede probar el excelente Tutor de raíz cuadrada con Kijoho de Masaaki Murakami, una aplicación en JavaScript que puede ejecutar directamente en su navegador o bien descargarlo a su computadora desde su repositorio en GitHub. Sólo ha de ingresar el radicando en el pequeño cuadro de entrada de la izquierda y presionar repetidamente el botón "NEXT" en la pantalla, o la tecla "RETURN", para asistir al desarrollo del proceso paso a paso.
Raíces cúbicas
editarDesafortunadamente, no tenemos nada parecido al software anterior para raíces cúbicas, pero puede utilizar el siguiente código BC que también puede serle útil con las raíces cuadradas.
Archivo knott.bc
editarCopie y pegue lo siguiente en un archivo de texto llamado: knott.bc:
/* Functions to help to learn/verify square and cube roots a la Knott with the abacus, soroban, suanpan. See: https://jccabacus.blogspot.com/2021/06/roots-la-knott.html as a reference. Jesús Cabrera, June 2021 CC0 1.0 Universal (CC0 1.0) Public Domain Dedication Use at your oun risk! */ define int(x) { # Integer part of x auto os,r os=scale; scale=0 r=x/1 scale= os return (r) } define cbrt(x) { # Cube root of x return (e(l(x)/3)) } define knott2(r0, y0, alpha) { /* Square root following Cargill G. Knott steps See example of use in file sr200703.bc use: $ sr200703.bc |bc -l knott.bc */ auto so, div so = scale; /* Store old scale value */ scale = 1 a = 10*y0 div = 100*r0 + alpha/2 print "New dividend: ",div/1,"\n" b = int(div/(a)) tf = div -b*a -b^2/2 if (tf<0){ b=b-1;print "Revising down, b = ",b, "\n" tf = div -b*a -b^2/2 } print "New root: ", a+b,", New half-remainder: ", tf/1 print "\n==================\n\n" scale = so; /* restore old scale value */ return } define knott3(r0, y0, alpha) { /* Cube root following Cargill G. Knott steps See example of use in file cr488931400152.bc use: $ cat cr488931400152.bc |bc -l knott.bc */ auto so, div, ta, tb, tc, td, te so = scale; /* Store old scale value */ scale = 0 a = 10*y0 div = 1000*r0 + alpha print "New dividend: ",div,"\n\n" ta = div/y0; rem1 = div % y0 print "a) /a: ", ta, " rem1: ", rem1, "\n" tb = (10*ta)/3; rem2 = (10*ta) % 3 print "b) /3: ", tb, " rem2: ", rem2, "\n" b = tb/(100*a) print " b = ",b,"\n" tc = tb - b*(a+b)*100 print "d) : ",tc,"\n" b = tb/(100*(a+b)) print " b = ",b,"\n" tc = tb - b*(a+b)*100 print "d) : ",tc,"\n" if(b==10){ /* Trick to avoid some problems */ b = 9 print "b: ",b,"\n" tc = tb - b*(a+b)*100 print "d) tc: ",tc,"\n" } td = tc*3 +rem2 print "e) *3: ",td,"\n" te = (td/10)*y0 +rem1 print "f) *a: ",te,"\n" tf = te - b^3 print "g) -b^3: ",tf,"\n" print "\nNew root: ",(a+b)," New remainder: ",tf,"\n\n" print "==================\n\n" scale = so; /* restore old scale value */ return }
Fichero: sr200703.bc
editarContiene ejemplo de raíz cuadrada ( ). Copie el siguiente texto y péguelo en un fichero de texto con el nombre sr200703.bc; úselo de acuerdo a las instrucciones contenidas en el propio fichero.
/* Example: square root of 200703 Use: $ cat sr200703.bc |bc -l knott.bc or $ bc -l knott.bc < sr200703.bc */ print "\nSquare root of ", 200703, " = ", sqrt(200703), "\n\n" /* Decompose in pairs of digits (will be alpha): 20, 07, 03 Initialize (first step) */ alpha = 20 b = int(sqrt(alpha)) r0 = alpha - b^2 a = 0 tf = r0/2 print "First root: ", b, ", First half-remainder: ", tf, "\n" print "==================\n\n" /* Main: Repeat for each pair of digits (alpha)... */ alpha =07 mute=knott2(tf, a+b, alpha) alpha =03 mute=knott2(tf, a+b, alpha) /* For additional digits continue with alpha = 00 */ alpha =00 mute=knott2(tf, a+b, alpha) alpha =00 mute=knott2(tf, a+b, alpha) alpha =00 mute=knott2(tf, a+b, alpha) alpha =00 mute=knott2(tf, a+b, alpha)
- Salida
Square root of 200703 = 447.99888392718122931160 First root: 4, First half-remainder: 2.00000000000000000000 ================== New dividend: 203.5 Revising down, b = 4 New root: 44, New half-remainder: 35.5 ================== New dividend: 3551.5 Revising down, b = 7 New root: 447, New half-remainder: 447.0 ================== New dividend: 44700.0 Revising down, b = 9 New root: 4479, New half-remainder: 4429.5 ================== New dividend: 442950.0 New root: 44799, New half-remainder: 39799.5 ================== New dividend: 3979950.0 New root: 447998, New half-remainder: 395998.0 ================== New dividend: 39599800.0 New root: 4479988, New half-remainder: 3759928.0 ==================
Fichero cr488931400152.bc
editarContiene ejemplo de raíz cúbica ( ). Copie el siguiente texto y péguelo en un fichero de texto con el nombre cr488931400152.bc; úselo de acuerdo a las instrucciones contenidas en el propio fichero.
/* Example: cube root of 488931400152 Use: $ cat cr488931400152.bc |bc -l knott.bc or $ bc -l knott.bc < cr488931400152.bc */ print "\nCube root of ", 488931400152, " = ", cbrt(488931400152), "\n\n" /* Decompose in triplets (will be alpha): # 488, 931, 400, 152 Initialize (first step) */ alpha = 488 b = int(cbrt(alpha)) r0 = alpha - b^3 a = 0 tf = r0 print "First root: ", b, ", First remainder: ", r0, "\n" print "==================\n\n" /* Main: Repeat for each triplet (alpha)... */ alpha = 931 mute = knott3(tf, a+b, alpha) alpha = 400 mute = knott3(tf, a+b, alpha) alpha = 152 mute = knott3(tf, a+b, alpha) /* For additional digits continue with alpha = 000 */
- Salida
Cube root of 488931400152 = 7877.99999999999999999871 First root: 7, First remainder: 145 ================== New dividend: 145931 a) /a: 20847 rem1: 2 b) /3: 69490 rem2: 0 b = 9 d) : -1610 b = 8 d) : 7090 e) *3: 21270 f) *a: 14891 g) -b^3: 14379 New root: 78 New remainder: 14379 ================== New dividend: 14379400 a) /a: 184351 rem1: 22 b) /3: 614503 rem2: 1 b = 7 d) : 63603 b = 7 d) : 63603 e) *3: 190810 f) *a: 1488340 g) -b^3: 1487997 New root: 787 New remainder: 1487997 ================== New dividend: 1487997152 a) /a: 1890720 rem1: 512 b) /3: 6302400 rem2: 0 b = 8 d) : 0 b = 8 d) : 0 e) *3: 0 f) *a: 512 g) -b^3: 0 New root: 7878 New remainder: 0 ==================
Referencias
editar- ↑ Knott, Cargill G. (1886). «The Abacus, in its Historic and Scientific Aspects». Transactions of the Asiatic Society of Japan 14: pp. 18-73. https://archive.org/details/in.gov.ignca.26020/page/17/mode/2up.