Introducción
En algunos cálculos se desea poder usar funciones definidas del tipo PRIMO(N), PELL(N), que se puedan integrar en expresiones, como 2*PRIMO(6) o (FIBONACCI(7))^2. En ellas llamaremos orden al contenido del paréntesis. Así, PRIMO(7) poseería orden 7, que correspondería con el número de primos menores o iguales al dado.
El objetivo de esta entrada es la
construcción de estas funciones en los casos más populares, así como las
complementarias para encontrar el orden, según ellas, de un número dado. Así,
por ejemplo, PRIMO(6)=13 y ORDENPRIMO(13)=6. Algunas de ellas se han usado en
este blog, por lo que sólo se enlazarán cuando llegue su turno.
Veremos tres clases de situaciones:
Existe otra posibilidad, y es que posean una función generatriz. Este procedimiento se ha usado mucho en este blog, pero no entra en el objetivo de esta entrada.
Dedicaremos tres entradas a esta cuestión
Funciones con fórmula
Muchas de ellas se han utilizado aquí ya.
Las más importantes son las de números figurados, como TRIANGULAR(N),
HEXAGONAL(N) O PIRAMIDAL(N,K). Elijo algunos ejemplos con cierto interés:
TRIANGULAR(N)
La fórmula directa, TRIANGULAR(N)=N*(N+1)/2,
no necesita explicación, pero para hallar la de su orden hay que recordar que,
dado un triangular cualquiera, T(N), la expresión 8T(N)+1 es un cuadrado. De
ahí podemos sacar su orden. Una versión podría ser el siguiente:
Function
ordentriang(n)
Dim
a
a
= Int((Sqr(8 * n + 1) - 1) / 2)
If
a * (a + 1) = 2 * n Then ordentriang = a else ordentriang = 0
End Function
Una situación similar es la de la función
OBLONGO(N)=N(N+1), sólo que aquí la propiedad básica es que cuatro veces un
oblongo más la unidad es un cuadrado, así que sustituyendo en la función
anterior un 8 por un 4 obtenemos la expresión de ORDENOBLONGO(N).
En la práctica, es mucho más útil
ORDENOBLONGO(N)=ENTERO(RAIZ(n))
No es difícil razonarlo.
Por ejemplo, resolvemos la cuestión de si
existen oblongos que sean consecutivos a un triangular. Para ello se inserta en
un buscador la condición
If
escuad(8 * i + 1) And escuad(4 * (i + 1) + 1) Then
El escaso resultado era previsible, ya que
se exige una condición difícil de cumplir, pero se encuentran tres soluciones
entre los primeros cincuenta mil números, 1 con 2, 55 y 56, y el par 1891, 1892:
El resto de soluciones está publicado en https://oeis.org/A217758
Un atajo:
Si usamos el álgebra, obtenemos:
Es n(n+1)/2+1=k(k+1), n2+n+2=2k2+2k,
4n2+4n+8=8k2+8k,
(2n+1)2+7=2(2k+1)2-2
y hago X=2n+1 Y=2k+1
X2-2y2=-9, luego (X2+9)/2
es cuadrado
Le inserto esta condición al buscador y
obtengo los triangulares publicados:
Siempre hay que acudir al Álgebra cuando se pueda.
POLIGONAL(N;K)
Fórmula directa
Los números poligonales poseen una fórmula
general, que he desarrollado en mi publicación Números
poligonales:
Su traducción es inmediata:
En VBASIC:
Function
poligonal(n, k)
poligonal = n * (n
* (k - 2) - (k - 4)) / 2
End Function
Fórmula del orden
El problema inverso es algo complicado. Lo
puedes consultar en el apartado de Caracterización de los poligonales,
en la publicación enlazada más arriba.
Su desarrollo en VBASIC es
Function ordenpoligonal(n, k)
Dim d, e, m
m
= 0
d
= (k - 4) ^ 2 + 8 * n * (k - 2)
If
escuad(d) Then
m
= (k - 4 + Sqr(d)) / 2 / (k - 2)
If
esentero(m) Then e = m Else e = 0
End
If
espoligonal = e
End Function
Esta función devuelve un cero si el número
no es poligonal, y su orden si lo es. Las funciones ESCUAD Y ESENTERO se pueden
buscar en este blog, o sustituirlas por cálculos más directos.
Estas dos funciones poseen una traducción
sencilla a PARI, por lo que no se incluye.
Con ellas podemos buscar relaciones entre
poligonales. Por ejemplo ¿Para qué órdenes la suma de un cuadrado con un
triangular del mismo orden da una suma hexagonal?
Se buscaría que poligonal(i,3)+poligonal(i,4)=poligonal(k,6)
Con un buscador he encontrado estas dos
primeras soluciones, con comprobación de la relación de suma entre ellas:
Otros poligonales
En mi calculadora de números figurados
CALCUPOL, en su código VBASIC, puedes consultar todas las funciones disponibles
para poligonales centrados, piramidales 3D y piramidales 4D. Es un tema tan
extenso, que es preferible dejarlo como complemento para las personas
interesadas.
(https://www.hojamat.es/sindecimales/aritmetica/herramientas/herrarit.htm#figurados)




No hay comentarios:
Publicar un comentario