lunes, 19 de diciembre de 2016

Numeradores de los números armónicos


Un número armónico Hn es un número racional formado mediante la suma de los inversos de los números naturales hasta n, es decir

La sucesión de los números armónicos tiene límite infinito, por ser divergente la serie armónica a la que pertenecen los sumandos. Es fácil ver que los denominadores de los números armónicos son, salvo simplificaciones, los primeros factoriales, pero aquí nos van a interesar los numeradores.

Con hoja de cálculo no es difícil encontrarlos, pues situamos en columna los distintos valores hasta n y en otra columna vamos dividiendo n! entre 1, 2, 3,… para después sumar la columna de cocientes (que serán todos enteros). Aquí tienes el desarrollo para n=6



Se ha dividido el factorial de 6, 720, entre 1,2,…6, sumando los cocientes hasta conseguir 1764, luego el sexto número armónico tendrá la expresión 1764/720.

Nos basamos en este cálculo en la operación de sacar el denominador común.

Si nos atenemos a la definición primera, vemos que H(n+1)=H(n)+1/(n+1). Si  imaginamos mentalmente el resultado de esa suma entenderemos que el numerador de H(n) quedará multiplicado por n+1 con la suma posterior del primitivo denominador, es decir, n!. Esto nos lleva a una fórmula de recurrencia fácil para los numeradores: a(n+1)=a(n)*(n+1)+n!

Si aplicamos la fórmula de recurrencia al 1, obtenemos la sucesión 1, 3, 11, 50, 274, 1764, 13068, 109584,…que coincide con los números de Stirling de primera clase, publicados en http://oeis.org/A000254 y que puedes estudiar allí. Nosotros simplificaremos las fracciones de los números armónicos, con lo que los valores anteriores se verán sustituidos por

 1, 3, 11, 25, 137, 49, 363, 761, 7129, 7381, 83711, 86021, 1145993,...

Estos son los numeradores que consideraremos en principio. Están también publicados (http://oeis.org/A001008)

Según las ideas contenidas en los párrafos anteriores, la primera suma que consideramos y la operación de simplificar, el algoritmo adecuado para generar estos numeradores simplificados puede ser el siguiente, que lo hemos orientado a una función de VBA:

Public Function numearmonico(n)
Dim i, v, f
v = 0
f = 1
For i = 1 To n: f = f * i: Next i ‘Se construye el factorial
For i = 1 To n
v = v + f / i ‘Se suman los cocientes del factorial con 1..n
Next i
v = v / mcd(v, f) ‘Simplificación de la fracción
numearmonico = v
End Function

Con esta función es fácil reproducir de nuevo los valores de los numeradores:



Todo lo anterior tenía por objeto que practicáramos un poco con cálculos y algoritmos, pero si hubiéramos acudido al lenguaje PARI, la generación de los numeradores es tan sencilla que se limita a su definición:

for(n=1,30,print1(numerator(sum(i=1, n, 1/i)),", "))

Obtenemos así rápidamente los primeros 30 términos:



Propiedades

Estos numeradores son también interesantes por sus propiedades. Algunas sorprenden, como que el primo p al cuadrado divide al término a(p-1) para p>3 (teorema de Wolstenholme)

Lo vemos en la tabla:


En ella se observa cómo los cuadrados de 5, 7, 11, 13 y 17 dividen a los términos de orden 4, 6, 10, 12 y 16 respectivamente. Sorprendente.

En http://oeis.org/A001008 puedes leer otras propiedades similares.

Desarrollo por Taylor

La función generatriz de los números armónicos es log(1-x)/(x-1). Podemos aprovecharla para generar de nuevo estos numeradores mediante PARI. Basta desarrollar la F.G usando el desarrollo de Taylor:

print(taylor(log(1-x)/(x-1),x,20))

Obtenemos:



Y basta leer los denominadores.

Números armónicos generalizados

Todo lo que hemos estudiado se puede extender al caso en el que la suma de fracciones se efectúe con potencias en los denominadores:

Si repetimos el algoritmo que hemos usado, pero con potencias, resultarían los numeradores generalizados, que se obtienen cambiando los sumandos 1/n por 1/n^m en el algoritmo presentado más arriba.

En Hoja de Cálculo:

Public Function numearmonico(n, m) ‘Valores de n y el exponente m
Dim i, v, f
v = 0
f = 1
For i = 1 To n: f = f * i ^ m: Next i
For i = 1 To n
v = v + f / i ^ m
Next i
v = v / mcd(v, f)
numearmonico = v
End Function

Y en PARI:

for(n=1,30,print1(numerator(sum(i=1, n, 1/i^m)),", "))

Resultan una serie de sucesiones, a las que OEIS da el nombre de “Wolstenholme numbers”, y que tienen propiedades similares a los numeradores estudiados. Las primeras, según su exponente son:

Con el 2 

http://oeis.org/A007406

1, 5, 49, 205, 5269, 5369, 266681,… y en ellas el primo p divide a a(p-1). Por ejemplo, el 5 divide a a(4)

Con el 3

http://oeis.org/A007408

1, 9, 251, 2035, 256103, 28567, 9822481,…

Con 4

http://oeis.org/A007410

1, 17, 1393, 22369, 14001361, 14011361,…

Con 5

http://oeis.org/A099828

1, 33, 8051, 257875, 806108207, 268736069,…

Todos tienen propiedades similares, según puedes consultar en los enlaces. Podemos resumir todos en una tabla de hoja de cálculo usando la función antes definida. Aquí tienes los primeros: