Entrada destacada

Distancia media de dos puntos en un cuadrado unitario

martes, 15 de diciembre de 2020

martes, 8 de diciembre de 2020

Teorema de Zeckendorf


Enunciado y demostrado por el matemático belga Edouard Zeckendorf (1901 - 1983), conocido por su trabajo sobre la sucesión de Fibonacci y en especial por el Teorema que lleva su nombre, que dice:

Todo entero positivo se escribe, de manera única, 
como suma de números de Fibonacci no consecutivos.

Los números de Fibonacci corresponden a la sucesión recursiva definida por:

f (1) = 1; f (2) = 1     y     f (n + 2) = f (n + 1) + f (n) para n > 0.

los primeros treinta números son :

Table[Fibonacci[n], {n, 30}] 

{1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 
2584, 4181, 6765, 10946, 17711, 28657, 46368, 75025, 121393, 196418, 
317811, 514229, 832040}

El procedimiento para determinar los números de la sucesión de Fibonacci que logran la representación del Teorema de Zeckendorf es: dado el entero positivo n se determina el mayor número de Fibonacci que es menor que n, se realiza la resta y se repite el proceso hasta obtener un número de Fibonacci donde el proceso se detiene.

En Mathematica

Se crea la función ff[n] que nos genera el mayor número de Fibonacci que es menor que n,

ff[n_] := Fibonacci[NestWhile[(# + 1) &, 1, Fibonacci[#] <= n &] - 1]

por ejemplo:

ff[100]
89

ff[144]
144

Ahora, generamos la rutina que  genera la lista de números de Fibonacci que nos afirma el Teorema de Zeckendorf.

zz[n_] := n - ff[n]
zeck[n_] := 
 Module[{lis}, lis = NestWhileList[zz, n, # != 0 &]; 
  Map[ff, Delete[lis, -1]]]

Algunos ejemplos:

Ejemplo 1:

zeck[33]

{21, 8, 3, 1}

Total[{21, 8, 3, 1}]

33

Ejemplo 2:

zeck[88]

{55, 21, 8, 3, 1}

Total[{55, 21, 8, 3, 1}]

88

Ejemplo 3:

zeck[4180]

{2584, 987, 377, 144, 55, 21, 8, 3, 1}

Total[{2584, 987, 377, 144, 55, 21, 8, 3, 1}]

4180


Para aprender más sobre Mathematica ingrese aquí sitio de aprendizaje de Wolfram o en mi website ustamathematica.wixsite.com/basicas

martes, 1 de diciembre de 2020

Frase Célebre de René Descartes


Para saber que sabemos lo que sabemos,
y que no sabemos lo que no sabemos,
hay que tener cierto conocimiento.

René Descartes