Symmetric Powers Fibonacci Example

In [1]:
from IPython.display import *
In [29]:
var('a:z')
V=Matrix(2,1,[u,v])
A=Matrix(2,2,[1,1,1,0])
B=A*V
display(Math("A="),A)
$$A=$$
$$\left[\begin{matrix}1 & 1\\1 & 0\end{matrix}\right]$$
In [3]:
N=5
mm=Poly((u+v)**N).monoms()
In [4]:
dd=len(mm)
xx=eye(dd)
X=[]

for i in range(dd):
    F=x**mm[i][0]*y**mm[i][1]
    GG=F.subs(x,B[0]).subs(y,B[1]);FF=expand(GG)
    X.append([FF.coeff(u**mm[i][0]*v**mm[i][1]) for i in range(dd)])
 
#display(X)
In [5]:
MX=Matrix(1,dd,X[0])
for i in range(1,dd):
    XM=Matrix(1,dd,X[i])
    MX=MX.col_join(XM)
    

MX
    
    
Out[5]:
$$\left[\begin{matrix}1 & 5 & 10 & 10 & 5 & 1\\1 & 4 & 6 & 4 & 1 & 0\\1 & 3 & 3 & 1 & 0 & 0\\1 & 2 & 1 & 0 & 0 & 0\\1 & 1 & 0 & 0 & 0 & 0\\1 & 0 & 0 & 0 & 0 & 0\end{matrix}\right]$$

The matrix with binomial coefficients is the symmetric tensor power of the Fibonacci matrix A.

In [20]:
IX=eye(A.shape[0])
delta=series(((IX-t*A).det())**(-1),t,0,10)
for i in range(10):
    display(Math("F_{"+str(i+1)+ "} = "+str(delta.coeff(t,i))))
    
$$F_{1} = 1$$
$$F_{2} = 1$$
$$F_{3} = 2$$
$$F_{4} = 3$$
$$F_{5} = 5$$
$$F_{6} = 8$$
$$F_{7} = 13$$
$$F_{8} = 21$$
$$F_{9} = 34$$
$$F_{10} = 55$$

The Fibonacci numbers are the traces of the matrices formed from the binomial coefficients.

In [7]:
MXX=MX.eigenvals()
MXE=list(MXX.keys())
In [8]:
var('phi')
phi=GoldenRatio
In [9]:
[nsimplify(MXE[i],[GoldenRatio]) for i in range(len(MXE))]
Out[9]:
$$\left [ - 5 \phi + 8, \quad 3 + 5 \phi, \quad - \phi + 1, \quad \phi, \quad -3 + 2 \phi, \quad - 2 \phi - 1\right ]$$
In [10]:
[(phi**(N-i)*(-phi)**(-i)) for i in range(N+1)]
Out[10]:
$$\left [ \phi^{5}, \quad - \phi^{3}, \quad \phi, \quad - \frac{1}{\phi}, \quad \frac{1}{\phi^{3}}, \quad - \frac{1}{\phi^{5}}\right ]$$
In [11]:
[nsimplify(phi**(N-i)*(-phi)**(-i),[GoldenRatio]) for i in range(N+1)]
Out[11]:
$$\left [ 3 + 5 \phi, \quad - 2 \phi - 1, \quad \phi, \quad - \phi + 1, \quad -3 + 2 \phi, \quad - 5 \phi + 8\right ]$$

The eigenvalues are the monomials $(\phi)^{N-i}(-\phi)^{-i}$ in the eigenvalues of A.

In [19]:
Res=series(trace((IX-t*A).inv()),t,0,10)
for i in range(10):
    display(Math("L_{"+str(i)+ "} = "+str(Res.coeff(t,i))))
$$L_{0} = 2$$
$$L_{1} = 1$$
$$L_{2} = 3$$
$$L_{3} = 4$$
$$L_{4} = 7$$
$$L_{5} = 11$$
$$L_{6} = 18$$
$$L_{7} = 29$$
$$L_{8} = 47$$
$$L_{9} = 76$$

This is the beginning of the sequence of Lucas numbers. Traces of the powers of A.