Encyclopedia > Fibonacci number

  Article Content

Fibonacci number

In geometry, the Fibonacci numbers form a sequence defined recursively by the following equations:

F(0) = 0
F(1) = 1
F(n + 2) = F(n) + F(n + 1) for all n ≥ 0.

In words: you start with two ones, and then produce the next Fibonacci number by adding the two previous Fibonacci numbers. The first Fibonacci numbers are

0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, ...
This sequence was first described by Leonardo of Pisa aka. Fibonacci (ca. 1200), to describe the growth of a rabbit population. The numbers describe the number of pairs in a (somewhat idealized) rabbit population after n months if it is assumed that
  • the first month there is just one newly born pair,
  • newly born pairs become productive from their second month on,
  • each month every productive pair begets a new pair, and
  • the rabbits never die

Table of contents

Explicit formula

The term Fibonacci sequence is also applied more generally to any function g where g(n + 2) = g(n) + g(n + 1). These functions are precisely those of the form g(n) = aF(n) + bF(n + 1) for some numbers a and b, so the Fibonacci sequences form a vector space with the functions F(n) and F(n + 1) as a basis.

As was pointed out by Johannes Kepler, the growth rate of the Fibonacci numbers, that is, F(n + 1) / F(n), converges to the golden mean, denoted φ. This is the positive root of the quadratic equation x2 - x - 1 = 0, so φ2 = φ + 1. If we multiply both sides by φn, we get φn+2 = φn+1 + φn, so the function φn is a Fibonacci sequence. The negative root of the quadratic, 1 - φ, can be shown to have the same properties, so the two functions φn and (1-φ)n form another basis for the space.

By adjusting the coefficients to get the proper initial values F(0) = 0 and F(1) = 1, we obtain

<math>F\left(n\right) = {\phi^n \over \sqrt{5}} - {(1-\phi)^n \over \sqrt{5}}</math>

This result can also be derived using the technique of generating functions.

As n goes to infinity, the second term converges to zero, so the Fibonacci numbers approach the exponential φn / √5, hence their convergent ratios. In fact the second term starts out small enough that the Fibonacci numbers can be obtained from the first term alone, by rounding to the nearest integer.

Computing Fibonacci numbers

Computing Fibonacci numbers by computing powers of the golden mean is not very practical except for small values of n, since rounding errors will accrue and floating point numbers usually don't have enough precision.

The straightforward recursive implementation of the Fibonacci sequence definition is also not advisable, since it would compute many values repeatedly (unless the programming language has a feature which allows the storing of previously computed function values). Therefore, one usually computes the Fibonacci numbers "from the bottom up", starting with the two values 0 and 1, and then repeatedly replacing the first number by the second, and the second number by the sum of the two.

For huge arguments and if a bignum system is being used, a faster way to calculate Fibonacci numbers uses the following matrix equation:

<math>\begin{bmatrix} 1 & 1 \\ 1 & 0 \end{bmatrix}^n =
       \begin{bmatrix} F\left(n+1\right) & F \left(n\right) \\
                       F\left(n\right)   & F \left(n-1\right) \end{bmatrix}

and employs exponentiating by squaring.


The Fibonacci numbers are important in the run-time analysis of Euclid's algorithm to determine the greatest common divisor of two integers.

Matiyasevich was able to show that the Fibonacci numbers can be defined by a Diophantine equation, which led to his original solution of Hilbert's tenth problem.

The Fibonacci numbers occur in a formula about the diagonals of Pascal's triangle (see binomial coefficient).

An interesting use of the Fibonacci sequence is for converting miles to kilometers. For instance, if you want to know about how many kilometers 5 miles is, take the Fibonacci number (5) and look at the next one (8). 5 miles is about 8 kilometers. This works because it so happens that the conversion factor between miles and kilometers is roughly equal to φ.

A logarithmic spiral can be approximated as follows: start at the origin of the cartesian coordinate system, move F(1) units to the right, move F(2) units up, move F(3) units to the left, move F(4) units down, move F(5) units to the right etc. This is similar to the construction mentioned in the golden mean article. Fibonacci number s often occur in nature when logarithmic spirals are built from discrete units, such as in sunflowers or in pine cones.


A generalization of the Fibonacci sequence are the Lucas sequences[?]. One kind can be defined thus:

L(0) = 0
L(1) = 1
L(n+2) = PL(n+1) + QL(n)

where the normal Fibonacci sequence is the special case of P = Q = 1. Another kind of Lucas Sequence begins with L(0) = 2, L(1) = P. Such sequences have applications in number theory and primality proving.


Fibonacci numbers can be calculated by following Scheme code:
(define fab
  (lambda (x)
    (if (< x 2)
      (+ (fab (- x 1)) (fab (- x 2))))))

All Wikipedia text is available under the terms of the GNU Free Documentation License

  Search Encyclopedia

Search over one million articles, find something about almost anything!
  Featured Article

... part in some speculative course of action, came to mean one who lived by his wits[?] and a person of no character. The word is also used in certain restricted ...