Article 70TSZ Turning trig identities into Fibonacci identities

Turning trig identities into Fibonacci identities

by
John
from John D. Cook on (#70TSZ)

In 2013, John Conway and Alex Ryba published a brief note [1] on how to convert identities involving sine and cosine into identities involving Fibonacci and Lucas numbers.

Fibonacci and Lucas

The Fibonacci numbers Fn are defined by F0 = 0, F1 = 1, and

Fn+2 = Fn + Fn+1

for n > 1. Similarly, Lucas numbers Ln are defined by the same recurrence relation

Ln+2 = Ln + Ln+1

but starting with L0 = 2 and L1 = 1.

The recipe

The recipe for turning trigonometric identities into Fibonacci and Lucas number identities is as follws.

  1. Arguments become subscripts.
  2. Replace sines by in Fn.
  3. Replace cosines by in Ln.
  4. Insert a factor of (-5)k in front of every term that contains 2k or 2k + 1 terms.

The first step is admittedly unclear. It's unclear in [1] as well. If sine or cosine takes an argument of

p +q

then this becomes the subscript

pa +qb

where the Latin letters are integers and the Greek letters are angles.

There's no proof in [1] why the recipe should work, but an earlier paper [2] gives more details.

ExamplesDouble angle

For a simple example, let's start with the double angle identity

sin 2 = 2 sin cos .

This becomes

i2n F2n = 2 ( in Fn)( in Ln)

which simplifies to

F2n = FnLn.

Sum angle

For a little more involved example, let's look at the sum identity

cos( + ) = cos cos - sin sin .

This becomes

ia + b La + b = ia La ib Lb -(-5) ia Fa ib Fb

which simplifies to

2La + b = La Lb + 5 Fa Fb.

Triple angle

In the previous examples the powers ofi in the recipe above cancelled out. This example will show that they are necessary.

We start with the triple angle identity

sin 3 = 3 sin - 4 sin^3 .

This becomes

i3n F3n = 3 () in Fn - 4(-5)( in Fn)^3

which simplifies to

F3n = 3 (-1)n Fn + 5 (Fn)^3.

Demonstration

The following Python code demonstrates that the Fibonacci / Lucas identities above are correct.

def F(n): if n == 0: return 0 if n == 1: return 1 return F(n-1) + F(n-2)def L(n): if n == 0: return 2 if n == 1: return 1 return L(n-1) + L(n-2)for n in range(10): assert(F(2*n) == F(n) * L(n))for n in range(10): for m in range(10): assert(2*L(m + n) == L(m)*L(n) + 5*F(m)*F(n))for n in range(10): assert(F(3*n) == 3*(-1)**n * F(n) + 5*F(n)**3)
Related posts

[1] John Conway and Alex Ryba. Fibonometry. The Mathematical Gazette, November 2013, pp. 494-495

[2] Barry Lewis, Trigonometry and Fibonacci Numbers, The Mathematical Gazette, July 2007, pp. 216-226

The post Turning trig identities into Fibonacci identities first appeared on John D. Cook.
External Content
Source RSS or Atom Feed
Feed Location http://feeds.feedburner.com/TheEndeavour?format=xml
Feed Title John D. Cook
Feed Link https://www.johndcook.com/blog
Reply 0 comments