martes, 11 de enero de 2022

Números triangulares (1) Definición y primeras propiedades

 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)

No hay comentarios: