Iniciamos aquí una serie de tres entradas
sobre números triangulares. Como es costumbre en este blog, se usarán como
instrumentos de cálculo Excel y el lenguaje PARI. Se pretende recorrer muchas
de las propiedades interesantes de estos números bajo el aspecto de su relación
con fórmulas y cálculos, evitando referencias teóricas que ya están estudiadas
en otros ámbitos.
Número triangular
Un número triangular es aquel cuyas unidades
se pueden situar en
forma de triángulo:
En la imagen puedes observar que estas
unidades se cuentan por diagonales:
1+2+3+4+5+6+7+8=36
Por tanto, 36 es un número triangular. La
misma imagen te sugiere la primera definición de un número triangular, como la
suma de los primeros números naturales:
Los primeros números triangulares son:
1, 3, 6, 10, 15, 21,…
El 1 se define como triangular por convenio,
ya que no tiene esa forma, pero cumple la definición de más arriba y otra que
veremos más adelante.
Puedes consultar la sucesión de números
triangulares en
https://oeis.org/A000217
En esa página OEIS también incluyen el 0,
pero no lo consideraremos aquí.
Generación
mediante una hoja de cálculo
Es muy fácil acumular los primeros números
naturales para crear una lista de números triangulares. En la siguiente figura
lo tienes explicado:
En la columna A se han escrito los números
naturales. Tal como se explica en la imagen, se declara A1=1 y en el resto de
la columna, se define cada elemento como el anterior más una unidad: An=An-1+1.
Siguiendo la explicación de la imagen, en la
columna B definimos B1 como igual a A1, lo que constituye la primera suma, y,
por tanto, el primer número triangular. Después, cada triangular se forma
sumando el elemento de su izquierda con el de arriba, es decir: Bn=An+Bn-1.
En toda la serie tendrás a tu disposición
hojas de cálculo descargables. La imagen anterior está tomada del archivo triangulos1.xlsm, descargable desde
http://www.hojamat.es/blog/triangulos1.xlsm
Esta generación de triangulares tiene una
consecuencia que el autor usa a menudo en otro tipo de publicaciones, y es que
cualquier suma de números consecutivos equivale a la diferencia entre dos
números triangulares. Es como si truncáramos el triángulo eliminándole un
triángulo menor, hasta dejar un trapecio:
En esta imagen vemos representada la suma
4+5+6+7+8, que, con un poco de imaginación podemos interpretar como la
diferencia entre el triángulo de lado 8 y el de lado 3:
4+5+6+7+8 = 30 = 8*9/2-3*4/2 = 36-6 = 30
Fórmulas para
los números triangulares
Un número triangular es la suma de una
progresión aritmética, luego podemos aplicar la fórmula general de las
progresiones a este caso particular
Aquí viene bien recordar la anécdota de Gauss
niño. La tienes en
(https://es.wikipedia.org/wiki/Carl_Friedrich_Gauss)
Esta fórmula, n(n+1)/2, es la más popular y
más usada para el cálculo de los números triangulares. En la hoja triangulos1.xlsm la tienes implementada
como TRIANGULAR
En realidad, esta fórmula se corresponde con
la del número combinatorio C(N+1; 2). Por tanto, también nos servirá la
expresión en Excel =COMBINAT(N+1;2), que es la segunda implementada en la hoja triángulos1.xlsm.
Esto significa que los números triangulares
constituyen la tercera diagonal del triángulo de Pascal. Lo vemos en Excel:
Definición por
recurrencia
Esta es una mera curiosidad, porque en Excel,
aunque las recurrencias funcionan, pueden presentar problemas para números
grandes. La idea es definir un número triangular de esta forma:
Si N=1, TRIANGULAR(N)=1
Si N>1, TRIANGULAR(N)=N+TRIANGULAR(N-1)
Simplemente definimos un número triangular
como el resultado de sumar el número de orden al triangular anterior. Para
nosotros será un entretenimiento. Este sería el listado de la función
recurrente, a la que hemos rotulado como TRIANGULAR_R:
Public Function triangular_r(n)
If n = 1 Then
triangular_r = 1
Else
triangular_r = n + triangular_r(n - 1)
End If
End Function
No necesita explicación, ya que reproduce la
definición por recurrencia. La tienes implementada en la misma hoja de
definiciones:
Esta definición por recurrencia nos sirve
también para demostrar la fórmula general mediante inducción completa:
T(1)=1
T(n+1) = T(n)+n+1 = n(n+1)/2+n+1 =
(n(n+1)+2(n+1))/2=(n+1)(n+2)/2
Reconocimiento
de los números triangulares
Existe
una propiedad sencilla para saber si un número es triangular o no. La idea es que si adosamos de forma
conveniente un triangular consigo mismo ocho veces, se forma un cuadrado al que
le falta una unidad.
En
la imagen vemos el número triangular 6 adosado ocho veces y dejando el hueco
central vacío. Por tanto, si le sumamos esa unidad, se convertirá en un
cuadrado: 6*8+1=49=72
Este
es un buen criterio para reconocer un número triangular T, que 8T+1 sea un
cuadrado. Se puede confirmar de forma algebraica:
En
la imagen, n=3, y el lado del cuadrado es 2*3+1=7
Este
criterio nos permite crear la función ESTRIANGULAR en Excel o Calc:
Function
estriangular(n) As Boolean
If escuad(8 * n
+ 1) Then estriangular = True Else estriangular = False
End Function
En PARI, el código es más compacto:
istriangular(n)=issquare(8*n+1)
En este blog hemos usado muy a menudo estas
funciones.
Si en el cuadrado formado despejamos la
variable n, obtendremos el orden de ese número triangular:
Public Function ordentriang(n)
Dim k
If estriangular(n) Then k = Int((Sqr(8 * n +
1) - 1) / 2) Else k = 0
ordentriang = k
End Function
Le hemos asignado un cero a los números que
no son triangulares.
Con estas funciones podemos encontrar el
triangular más próximo a un lado u otro de un número. Usaremos estas funciones:
El mayor número triangular menor o igual que
N:
Public Function prevtriang(n)
Dim k
k = Int((Sqr(8 * n + 1) - 1) / 2)
prevtriang = k * (k + 1) / 2
End Function
El menor triangular mayor que N
Public Function proxtriang(n)
Dim k
k = ordentriang(prevtriang(n))
proxtriang = (k + 1) * (k + 2) / 2
End Function
En la hoja de referencia http://www.hojamat.es/blog/triangulos1.xlsm lo hemos
implementado.
Si el número del rectángulo amarillo es
triangular, nos devuelve su orden y, en caso contrario, el triangular anterior
y posterior.
Una curiosidad
Si en lugar de buscar 8T+1 para obtener un
cuadrado, lo intentamos con 9T+1, resultará un triangular. Si T es de orden n, 9T+1 será de orden 3n+1. Basta ver esta equivalencia:
Por ejemplo, T(10)=55, 9T(10)+1=496=T(31)=T(3*10+1)