identity_matrix = [[1,0],[0,1]] x = [[0,1],[1,1]] def matrix_multiply(a, b): return [[a[0][0]*b[0][0] + a[0][1]*b[1][0], a[0][0]*b[0][1] + a[0][1]*b[1][1]], [a[1][0]*b[0][0] + a[1][1]*b[1][0], a[1][0]*b[0][1] + a[1][1]*b[1][1]]] def matrix_power(m, n): # fill in details return result def fib (n) : return matrix_power(x, n)[0][1] print [fib(i) for i in range(20)]