I wanted to use NumPyFibonacci in the question because of its effectiveness in matrix multiplication. You know that there is a method for finding Fibonacci numbers with a matrix [[1, 1], [1, 0]].

I wrote a very simple code, but after increasing n, the matrix begins to give negative numbers.
import numpy
def fib(n):
return (numpy.matrix("1 1; 1 0")**n).item(1)
print fib(90)
What could be the reason for this?
Note. linalg.matrix_poweralso gives negative values.
Note2: I tried numbers from 0 to 100. It starts to give negative values โโafter 47. Is this a big integer problem because NumPy is encoded in C? If so, how can I solve this?
: python list linalg.matrix_power . , 47, .
Edit2: @AlbertoGarcia-Raboso. , . -5.168070885485832e+19, -51680708854858323072L. int(), L, , - .