vamos a tomarnos un momento al final de la sección para vincular a la diagonalización
a una aplicación pertinente, algo que se denomina recursión y también la secuencia
de Fibonacci; la recursión si no están familiarizados con ella es una idea que
aparece en muchas líneas de las ciencias aplicadas, en particular en biología y en
ciencias de la computación y como su nombre lo indica el núcleo de la recursión
incluye un patrón recurrente; en otras palabras podemos describir un patrón que
es a la vez autoreferencial y que recapitula a lo largo del tiempo en cada
subsecuente iteración
Comencemos con un ejemplo trivial de recursión que me gustaría que vieran para
introducir algo de notación matemática; por ejemplo puedo definir una secuencia
recursiva de números definiendo el elemento n en esa secuencia y simplemente
decir que el elemento n es igual a 1 + an- 1, en otras palabras 1 + el elemento
previo; ahora les tengo que decir donde comienza esta secuencia o patrón de
números; voy a asignar el punto inicial digamos a0 es igual a 1; ok definí la
secuencia recursiva y trivial del 1, que comienza en 1 y en donde cada número
subsecuente en ese patrón o en esa secuencia es igual a 1 + el valor anterior
hagamos una recursión, vamos adelante y veamos qué sucede con la secuencia; ok
empezamos con 1, entonces a1 es por la definición de esta secuencia recursiva es
1 + un nudo, 1 + el valor previo, entonces acá es 1 + 1 o 2 y luego me muevo a a2,
qué es a2, a2 es igual a 1 + 2 - 1 es 1, 1 + el valor previo de la secuencia, 2 + 1
es 3 y como pueden ver, lo que estamos haciendo con este ejemplo simple de
recursión es contar, contar es en escencia un proceso recursivo en otras palabras
avancemos hacia algunos ejemplos más interesantes; bueno uno de los ejemplos
mejor conocidos en la historia de las matemáticas es algo que se denomina la
secuencia de Fibonacci; la secuencia de Fibonacci es definida de la siguiente
forma: para determinar el elemento n en una secuencia de números, en la secuencia
de Fibonacci, tomo la suma de los 2 elementos previos en la secuencia, esto
define la secuencia y otra vez, tengo que decirles que vamos a empezar con a1y a2,
ambos con el valor de 1; avancemos e iteremos la secuencia; comenzamos con 1 1
ahora el 3er elemento en la secuencia es la suma de a2 + a1, la suma de los 2
valores previos, 1 + 1 es 2, creo que éste a3, el 3er término en la secuencia, luego
para definir el 4to elemento en la secuencia vuelvo a recurrir, me refiero a
la suma de los 2 valores previos, 1 + 2 es 3, este será el 4to término, 2 + 3 es 5
que es el término que sigue, 3 + 5 es 8 que es el siguiente, 8 + 5 es 13 y 13 + 8
es 21 y así sucesivamente; acá tenemos la famosa secuencia de Fibonacci definida en
forma recursiva; en el siglo 13 Fibonacci construyó la secuencia en un esfuerzo por
intentar explicar un proceso dinámico, en particular el proceso dinámico del
crecimiento de una población de conejos
basados en este modelo matemático primitivo, si se quiere, es tosco en su
diseño, pero ese no es el punto, el punto es que sin embargo lo podemos usar para
modelar fenómenos reales del mundo, otra vez y por ejemplo podemos pensar ahora que
cuando Fibonacci definió las reglas y las restricciones para su modelo en términos
de la forma en que determinamos el crecimiento de una población de conejos,
él asumió que si uno cree, tal vez en hadas, pero otra vez, para hacer las
matemáticas simples, con cada número estamos representando la población de
conejos que comienzan en 1 y luego 2 y así sucesivamente; él asumió que cada mes, un
conejo adulto daba vida a un conejo bebé, hay una correspondencia de 1 a 1 en el
crecimiento, pero aquí los conejos nunca mueren y cuando un conejo nace le toma
exactamente 1 mes, digamos que para alcanzar la madurez completa y así poder
tener nuevas crías; si pensamos en la generación 1 y en alguna razón "milagrosa"
para el nacimiento, empezamos nuestra población de conejos con 1 conejo, 1
conejo solitario, ese conejo alcanza la madurez da vida y en este momento del
tiempo tenemos 2 conejos; entonces en la siguiente generación ese conejo adulto da
vida nuevamente y suma 1 nuevo conejo y aún tenemos al bebé conejo anterior que
ahora alcanza la madurez para el momento de este item y así sucesivamente
como pueden imaginar con la secuencia de Fibonacci tenemos un crecimiento muy
rápido de números
ahora me gustaría mostrarles como podemos tomar este modelo matemático "crudo" y
representar en otros casos distintos usando matrices; esta es una abstracción
muy poderosa e importante que puede representar cualquier cosa y la vamos a
conectar más tarde con algo que se llama Cadenas de Markov o Proceso de Markov en
la sección siguiente, dicho sea de paso
la idea básica es ésta: quiero encarnar en una forma abstracta este proceso dinámico
usando multiplicación de matrices
por ejemplo si tengo una matriz llamada A de la que voy a dar sus detalles en 1
momento, supongamos que es de 2 x 2 cuando multiplico un vector x que representa la
población actual de los conejos al tiempo t, esa mutliplicación en algún sentido
reproduce inherentemente esta conducta dinámica descrita por la ecuación
recursiva que está arriba; en otras palabras cuando multiplico por la matriz
especial A, el estado actual de la población de conejos, obtengo el siguiente
resultado en la secuencia, en otras palabras obtengo la población en la
generación t + 1; es importante que notemos este motivo, esta idea que vamos a
mostrar en gran detalle, en algo que se llama cadenas de Markov o proceso de
Markov, esto sale de este punto de partida que tenemos acá, por ahora simplemente
quiero que discutamos cómo debería ser la matriz A y describir cómo puedo a través
de la diagonalización explícitamente resolver la secuencia recursiva de
Fibonacci; lo que quiero decir con eso es que quiero tener una ecuación explícita,
así no tengo que repetir todos los elementos de la secuencia, para poder
tener la población en la generación 100, generación 1000, puedo explícitamente
formularla a través de la diagonalización para poder resolverlo
lo que podemos hacer es comenzar con pares de los términos básicos de la secuencia de
Fibonacci, las escribo como vectores de 2 dimensiones y multiplico esos vectores de
2 dimensiones por la matriz que tengo a la izquierda, noten que la matriz de 2 x 2,
con el renglón 1 1 1 0 respectivamente, realizo esa mutliplicación, recuerden que
la multiplicación de matrices es un producto escalar, luego tengo la matriz
resultante que tiene en el renglón de arriba an-1 an-2 y eso me define el
término n de la secuencia de Fibonacci por supuesto y en el componente de abajo acá
tenemos an-1; en otras palabras cuando tomo A un elemento de la secuencia de
Fibonacci y lo multiplico por la matriz de la izquierda, produzco el siguiente par de
la secuencia de Fibonacci y ese es el elemento n de la secuencia y la entrada de
abajo será el n-1 elemento de la secuencia como se ve aquí; entonces podemos decir en
resumen que tenemos una mutliplicación de matrices que codifica la repeteción de la
secuencia de Fibonacci, podemos verlo en forma más concreta con números, voy a
tomar el 1er par de los términos, que es 1 1 de la secuencia de Fibonacci, que
expresa un vector de 2 dimensiones y lo multiplica a la izquierda por la matriz A
realiza el producto escalar y obtenemos, de hecho, el vector 2 1, que representa
respectivamente el 3ro y el 2do término de la secuencia de Fibonacci; el núcleo de la
secuencia de Fibonacci es la repetición en forma similar puedo continuar
multiplicando en forma secuencial por la matriz A y voy a obtener el siguiente par
de elementos en la secuencia de Fibonacci de la siguiente forma; luego tomo el
vector 2 1 y lo multiplico otra vez por la matriz A, que produce el siguiente término
en la secuencia de Fibonacci, de acuerdo con el vector 3 2, que representa el 4to y
el 3er elemento de la secuencia de Fibonacci y puedo continuar multiplicando
la secuencia de vectores por la matriz A y así reproducir la secuencia de Fibonacci
entera
ok a partir de lo visto, puedo usar mi modelo matemático crudo para pronosticar
en otras palabras hacer una predicción acerca del valor que sigue, en otras
palabras, cuál es la medida de la población de conejos luego de k
generaciones, para poder hacer eso, lo que tengo que hacer es, adivinen qué, elevar
mi matriz A a la potencia k multiplicando por la población inicial, puedo en forma
eficiente, y sé como hacerlo, usar la diagonalización, puedo en forma eficiente
factorizar y diagonalizar mi matriz A, puedo hacer esos cálculos en forma
relativamente sencilla, hagamos eso ahora
ok, vamos a diagonalizar esa matriz A, sólo para recordar que el proceso de
diagonalizar es un procedimiento de muchos pasos, que comienza hayando los
eigenvalores de A y luego en forma subsecuente los eigenvectores y ajustando
estas cantidades en la factorización PDP Inversa, los eigenvalores de la matriz A
son los siguientes 1+ raíz cuadrada de 5 sobre 2 y 1 - raíz cuadrada de 5 sobre 2,
dicho sea de paso, si reconocen el número 1 + raíz cuadrada de 5 sobre 2, sabrán que
es mejor conocido como la "razon dorada", es un número interesante de hecho, tiene
algunas raíces en las matemáticas clásicas y en teoría estética
ok una vez que tengo estos eigenvalores, los coloco en los lugares apropiados en la
matriz D y en forma subsecuente la matriz P usa los eigenvectores pero manteniendo
el mismo orden en las columnas y a la derecha escribo simplemente P Inversa en
forma simbólica debido a que este número es un poco complicado, pero resulta que en
esta factorización sí funciona
entonces la utilidad de esta factorización particular y diagonalización de la matriz
A, una vez más, me permite calcular en forma eficiente potencias muy altas de esa
matriz, que en el contexto de nuestro modelo matemático me permite hacer
predicciones sobre la población de conejos luego de K generaciones; recueden que el
1er componente representa la población adulta luego de varias generaciones, acá
vemos como se puede resolver y como podemos encontrar este resultado
algebraico aquí, que, otra vez, representa el número de adultos luego de, digamos, t
meses; esta ecuación se ve rara, pero créanme que cuando le inserto los valores
para t, el resultado es un entero; sólo para probar el modelo, voy a hacer alguna
predicción luego de 10 generaciones, cuántos conejos adultos obtendré si
inserto el número 10 en mi fórmula y seguro obtendré el número 89, que es el
correcto