รูปเมทริกซ์ ของ จำนวนฟีโบนัชชี

ระบบสมการความแตกต่างเชิงเส้นที่อธิบายลำดับฟีโบนัชชีได้คือ

( F k + 2 F k + 1 ) = ( 1 1 1 0 ) ( F k + 1 F k ) F → k + 1 = A F → k {\displaystyle {\begin{aligned}{F_{k+2} \choose F_{k+1}}&={\begin{pmatrix}1&1\\1&0\end{pmatrix}}{F_{k+1} \choose F_{k}}\\{\vec {F}}_{k+1}&=A{\vec {F}}_{k}\end{aligned}}}

และมีรูปปิดคือ

( 1 1 1 0 ) n = ( F n + 1 F n F n F n − 1 ) . {\displaystyle {\begin{pmatrix}1&1\\1&0\end{pmatrix}}^{n}={\begin{pmatrix}F_{n+1}&F_{n}\\F_{n}&F_{n-1}\end{pmatrix}}.}

ด้วยรูปปิดดังกล่าว การคำนวณค่าฟีโบนัชชีจึงสามารถคำนวณได้โดยใช้จำนวนการดำเนินการเลขคณิต O(log n) หรือใช้เวลา O(M(n) log(n)) โดยที่ M(n) คือเวลาในการคูณเลข n หลัก 2 ตัว[2] โดยใช้วิธียกกำลังโดยการยกกำลังสอง กล่าวคือ

x n = { x ( x 2 ) n − 1 2 , if  n  is odd ( x 2 ) n 2 , if  n  is even . {\displaystyle x^{n}={\begin{cases}x\,(x^{2})^{\frac {n-1}{2}},&{\mbox{if }}n{\mbox{ is odd}}\\(x^{2})^{\frac {n}{2}},&{\mbox{if }}n{\mbox{ is even}}.\end{cases}}}

เมื่อให้ x เป็นเมทริกซ์ จึงสามารถหาค่า Fn ได้ในเวลาที่กล่าวไว้แล้ว