Not sure if you noticed that's literally what they did at the end of the "Eigenvalue Solution" section, but it reads "So there you have it – a O(1) algorithm for any Fibonacci number."
Although they do note that eigen_fib() completely breaks down once the numbers involved are larger than fit in a 64 bit integer.
Raising a very-high-precision approximation of an irrational number to a large integer power will get slower and slower as you handle larger numbers.
You might just as well call the matrix version O(1)