Fibonacci Numbers, Polynomial Coefficients, and Vector Programs.

advertisement
Fibonacci Numbers, Polynomial
Coefficients, and Vector
Programs.
Leonardo Fibonacci
In 1202, Fibonacci proposed a problem
about the growth of rabbit populations.
Inductive Definition or
Recurrence Relation for the
Fibonacci Numbers
Stage 0, Initial Condition, or Base Case:
Fib(0) = 0; Fib (1) = 1
Inductive Rule
For n>1, Fib(n) = Fib(n-1) + Fib(n-2)
n
0
1
2
3
4
5
6
7
Fib(n)
0
1
1
2
3
5
8
13
Sneezwort (Achilleaptarmica)
0
Each time the plant starts a new shoot
it takes two months before it is strong
enough to support branching.
See http://www.maths.surrey.ac.uk/hosted-sites/R.Knott/Fibonacci/fibnat.html
Counting Petals
5 petals: buttercup, wild rose, larkspur,
columbine (aquilegia)
8 petals: delphiniums
13 petals: ragwort, corn marigold, cineraria,
some daisies
21 petals: aster, black-eyed susan, chicory
34 petals: plantain, pyrethrum
55, 89 petals: michaelmas daisies, the
asteraceae family.
Pineapple whorls
Church and Turing were both
interested in the number of
whorls in each ring of the
spiral.
The ratio of consecutive ring
lengths approaches the Golden
Ratio.
coneflower
Definition of  (Euclid)
Ratio obtained when you divide a line segment into two unequal
parts such that the ratio of the whole to the larger part is the
same as the ratio of the larger to the smaller.
AC AB


AB BC
A
AC
2
 
BC
AC AB BC
2
  


1
BC BC BC
2   1  0
1 5

2
B
 1.61803398875
C
Expanding Recursively
  1
 1
 1
1

1
1
1

1
1
1
1
1

Continued Fraction Representation
 1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1....
Continued Fraction Representation
1 5
1
2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1  ....
1,1,2,3,5,8,13,21,34,55,….
2/1
3/2
5/3
8/5
13/8
21/13
34/21
=
=
=
=
=
=
=
2
1.5
1.666…
1.6
1.625
1.6153846…
1.61904…
=
1.6180339887498948482045
How to divide polynomials?
1
1–X
?
1 + X + X2
1–X
1
-(1 – X)
X
-(X – X2)
X2
-(X2 – X3)
X3 …
=
1 + X + X 2 + X 3 + X4 + X5 + X6 + X 7 + …
1+
X1
+
X2
+
X3
+…+
Xn
+ ….. =
1
1-X
The Infinite Geometric Series
1+
X1
+
X2
+
X3
+…+
Xn
+ ….. =
1
1-X
(1-X) ( 1 + X1 + X2 + X 3 + … + Xn + … )
=
1 + X1 + X2 + X 3 + …
+ Xn + Xn+1 + ….
- X1 - X2 - X 3 - … - Xn-1 – Xn - Xn+1 - …
=
1
1+
X1
+
X2
+
X3
+…+
Xn
+ ….. =
1 + X + X2 + …
1–X
1
-(1 – X)
X
-(X – X2)
X2
-(X2 – X3)
X3 …
1
1-X
Something a bit more complicated
X + X2 + 2X3 + 3X4 + 5X5 + 8X6
1 – X – X2
X
1 – X – X2
X
-(X – X2 – X3)
X2 + X3
-(X2 – X3 – X4)
2X3 + X4
-(2X3 – 2X4 – 2X5)
3X4 + 2X5
-(3X4 – 3X5 – 3X6)
5X5 + 3X6
-(5X5 – 5X6 – 5X7)
8X6 + 5X7
-(8X6 – 8X7 – 8X8)
Hence
X
1 – X – X2
= 01 + 1 X1 + 1 X2 + 2X3 + 3X4 + 5X5 + 8X6 + …
= F0 1 + F1 X1 + F2 X2 +F3 X3 + F4 X4 +
F5 X5 + F6 X6 + …
Going the Other Way
F0 = 0, F1 = 1
(1 - X- X2) 
( F0 1 + F1 X1 + F2 X2 + … + Fn-2 Xn-2 + Fn-1 Xn-1 + Fn Xn + …
Going the Other Way
(1 - X- X2) 
( F0 1 + F1 X1 + F2 X2 + … + Fn-2 Xn-2 + Fn-1 Xn-1 + Fn Xn + …
= ( F0 1 + F1 X1 + F2 X2 + … + Fn-2 Xn-2 + Fn-1 Xn-1 + Fn Xn + …
- F0 X1 - F1 X2 - … - Fn-3 Xn-2 - Fn-2 Xn-1 - Fn-1 Xn - …
- F0 X2 - … - Fn-4 Xn-2 - Fn-3 Xn-1 - Fn-2 Xn - …
= F0 1 + ( F1 – F0 ) X1
=X
F0 = 0, F1 = 1
Thus
F0 1 + F1 X1 + F2 X2 + … + Fn-1 Xn-1 + Fn Xn + …
=
X
1 – X – X2
= X/(1- X)(1 – (-)-1 X)
 (--1) = -1, -+-1= -1
X
(1 – X)(1- (-)-1X)
=
n=0..∞
?
Linear factors on the bottom
Xn
(1 + aX1 + a2X2 + … + anXn + …..) (1 + bX1 + b2X2 + … + bnXn + …..) =
=
=
n=0..∞
1
(1 – aX)(1-bX)
an+1 – bn+1
a- b
Xn
Geometric Series (Quadratic Form)
1
(1 – X)(1- (--1X))
=
n=0.. ∞
n+1 – (--1)n+1
√5
Xn
Geometric Series (Quadratic Form)
X
(1 – X)(1- (--1X)
=
n=0.. ∞
n+1 – (--1)n+1 n+1
X
√5
Power Series Expansion of F
x
0
1
2
3
 F0 x  F1 x  F2 x  F3 x 
2
1 x  x

x

2
1 x  x
i 0

  Fi x
i 0
i




1
1
i
i
      x
5 
   
i
Leonhard Euler (1765)
J. P. M. Binet (1843)
A de Moivre (1730)
The ith Fibonacci number is:


i 0
i

 1 
1
i
     
5 
   
(1 + aX1 + a2X2 + … + anXn + …..) (1 + bX1 + b2X2 + … + bnXn + …..) =
=
=
n=0..∞
1
(1 – aX)(1-bX)
an+1 – bn+1
a- b
Let’s Derive This
Xn
1+
Y1
+
Y2
+Y
3
+…+
Yn
+ ….. =
1
1-Y
Substituting Y = aX …
1+
aX1
+
a2X2
+
a3X 3
+…+
a n Xn
+ ….. =
1
1 - aX
Geometric Series (Linear Form)
(1 + aX1 + a2X2 + … + anXn + …..) (1 + bX1 + b2X2 + … + bnXn + …..) =
1
(1 – aX)(1-bX)
Geometric Series
(Quadratic Form)
(1 + aX1 + a2X2 + … + anXn + …..) (1 + bX1 + b2X2 + … + bnXn + …..) =
1 + c1X1 + .. + ck Xk + …
Suppose we multiply this out
to get a single, infinite
polynomial.
What is an expression for Cn?
(1 + aX1 + a2X2 + … + anXn + …..) (1 + bX1 + b2X2 + … + bnXn + …..) =
1 + c1X1 + .. + ck Xk + …
cn =
a0bn + a1bn-1 +… aibn-i… + an-1b1 + anb0
(1 + aX1 + a2X2 + … + anXn + …..) (1 + bX1 + b2X2 + … + bnXn + …..) =
1 + c1X1 + .. + ck Xk + …
If a = b then
cn = (n+1)(an)
a0bn + a1bn-1 +… aibn-i… + an-1b1 + anb0
a0bn + a1bn-1 +… aibn-i… + an-1b1 + anb0 =
an+1 – bn+1
a- b
(a-b) (a0bn + a1bn-1 +… aibn-i… + an-1b1 + anb0)
=
a1bn +… ai+1bn-i…
+ anb1 + an+1b0
- a0bn+1 – a1bn… ai+1bn-i… - an-1b2 - anb1
= - bn+1
=
+
an+1
an+1 – bn+1
(1 + aX1 + a2X2 + … + anXn + …..) (1 + bX1 + b2X2 + … + bnXn + …..) =
1 + c1X1 + .. + ck Xk + …
if a  b then
cn =
an+1 – bn+1
a- b
a0bn + a1bn-1 +… aibn-i… + an-1b1 + anb0
(1 + aX1 + a2X2 + … + anXn + …..) (1 + bX1 + b2X2 + … + bnXn + …..) =
=
=
n=0..
or
n=0..
1
(1 – aX)(1-bX)
an+1 – bn+1
a- b
(n+1)an
Xn
Xn
when a=b
Geometric Series (Quadratic Form)
Sequences That Sum To n
Let fn+1 be the number of different
sequences of 1’s and 2’s that sum to n.
Example: f5 = 5
Sequences That Sum To n
Let fn+1 be the number of different
sequences of 1’s and 2’s that sum to n.
Example: f5 = 5
4=
2+2
2+1+1
1+2+1
1+1+2
1+1+1+1
Sequences That Sum To n
Let fn+1 be the number of different
sequences of 1’s and 2’s that sum to n.
f1
f2
f3
Sequences That Sum To n
Let fn+1 be the number of different
sequences of 1’s and 2’s that sum to n.
f1 = 1
0 = the empty sum
f2 = 1
1=1
f3 = 2
2=1+1
2
Sequences That Sum To n
Let fn+1 be the number of different
sequences of 1’s and 2’s that sum to n.
fn+1 = fn + fn-1
Sequences That Sum To n
Let fn+1 be the number of different
sequences of 1’s and 2’s that sum to n.
fn+1 = fn + fn-1
# of
sequences
beginning
with a 1
# of
sequences
beginning
with a 2
Fibonacci Numbers Again
Let fn+1 be the number of different
sequences of 1’s and 2’s that sum to n.
fn+1 = fn + fn-1
f1 = 1
f2 = 1
Visual Representation: Tiling
Let fn+1 be the number of different
ways to tile a 1 × n strip with squares
and dominoes.
Visual Representation: Tiling
Let fn+1 be the number of different
ways to tile a 1 × n strip with squares
and dominoes.
Visual Representation: Tiling
1 way to tile a strip of length 0
1 way to tile a strip of length 1:
2 ways to tile a strip of length 2:
fn+1 = fn + fn-1
fn+1 is number of ways to tile length n.
fn tilings that start with a square.
fn-1 tilings that start with a domino.
Let’s use this visual
representation to
prove a couple of
Fibonacci identities.
Fibonacci Identities
Some examples:
F2n = F1 + F3 + F5 + … + F2n-1
Fm+n+1 = Fm+1 Fn+1 + Fm Fn
(Fn)2
= Fn-1 Fn+1 + (-1)n-1
Fm+n+1
= Fm+1 Fn+1
m
m-1
+
Fm Fn
n
n-1
(Fn)2
= Fn-1 Fn+1
+
(-1)n-1
(Fn)2
= Fn-1 Fn+1
+
(-1)n-1
n-1
Fn tilings of a strip of length n-1
(Fn)2
= Fn-1 Fn+1
n-1
n-1
+
(-1)n-1
(Fn)2
= Fn-1 Fn+1
+
(-1)n-1
n
(Fn)2 tilings of two strips of size n-1
(Fn)2
= Fn-1 Fn+1
+
(-1)n-1
n
Draw a vertical “fault
line” at the rightmost
position (<n) possible
without cutting any
dominoes
(Fn)2
= Fn-1 Fn+1
n
Swap the tails at the
fault line to map to a
tiling of 2 n-1 ‘s to a
tiling of an n-2 and an n.
+
(-1)n-1
(Fn)2
= Fn-1 Fn+1
n
Swap the tails at the
fault line to map to a
tiling of 2 n-1 ‘s to a
tiling of an n-2 and an n.
+
(-1)n-1
(Fn)2
= Fn-1 Fn+1
+
n even
n odd
(-1)n-1
The Fibonacci Quarterly
Vector Programs
Let’s define a (parallel) programming
language called VECTOR that operates
on possibly infinite vectors of numbers.
Each variable V! can be thought of as:
< * , * , * , * , *, *, . . . . . . . . . >
0 1
2 3 4 5.........
Vector Programs
Let k stand for a scalar constant
<k> will stand for the vector <k,0,0,0,…>
<0> = <0,0,0,0,….>
<1> = <1,0,0,0,…>
V! + T! means to add the vectors position-wise.
<4,2,3,…> + <5,1,1,….> = <9,3,4,…>
Vector Programs
RIGHT(V!) means to shift every number in V! one
position to the right and to place a 0 in position 0.
RIGHT( <1,2,3, …> ) = <0,1,2,3,. …>
Vector Programs
Example:
Store
V! := <6>;
V! := RIGHT(V!) + <42>;
V! := RIGHT(V!) + <2>;
V! := RIGHT(V!) + <13>;
V! = <6,0,0,0,..>
V! = <42,6,0,0,..>
V! = <2,42,6,0,..>
V!= <13,2,42,6,.>
V! = < 13, 2, 42, 6, 0, 0, 0, . . . >
Vector Programs
Example:
Store
V! := <1>;
V! = <1,0,0,0,..>
Loop n times:
V! := V! + RIGHT(V!);
V! = <1,1,0,0,..>
V! = <1,2,1,0,..>
V! = <1,3,3,1,.>
V! = nth row of Pascal’s triangle.
1
X+
2
X +
Vector programs
can be implemented
by polynomials!
3
X
Programs -----> Polynomials
The vector V! = < a0, a1, a2, . . . > will be
represented by the polynomial:
Formal Power Series
The vector V! = < a0, a1, a2, . . . > will be
represented by the formal power series:
V! = < a0, a1, a2, . . . >
<0> is represented by
<k> is represented by
0
k
V! + T! is represented by
(PV + PT)
RIGHT(V! ) is represented by
(PV X)
Vector Programs
Example:
V! := <1>;
PV := 1;
Loop n times:
V! := V! + RIGHT(V!);
PV := PV + PV X;
V! = nth row of Pascal’s triangle.
Vector Programs
Example:
V! := <1>;
PV := 1;
Loop n times:
V! := V! + RIGHT(V!);
PV := PV (1+ X);
V! = nth row of Pascal’s triangle.
Vector Programs
Example:
V! := <1>;
Loop n times:
V! := V! + RIGHT(V!);
PV = (1+ X)n
V! = nth row of Pascal’s triangle.
Let’s add an instruction
called PREFIXSUM to our
VECTOR language.
W! := PREFIXSUM(V!)
means that the ith position
of W contains the sum of all
the numbers in V from
positions 0 to i.
PREFIXSUM Example
V! = <1, 4, 5, 0, 6, …>
PREFIXSUM(V!) = <1, 5, 10, 10, 16, …>
What does this program output?
V! := <1> ;
Loop k times: V! := PREFIXSUM(V!) ;
0 k’th Avenue
1
2
3
4
Al Karaji Perfect Squares
Zero_Ave := PREFIXSUM(<1>);
First_Ave := PREFIXSUM(Zero_Ave);
Second_Ave :=PREFIXSUM(First_Ave);
Output:= RIGHT(Second_Ave) + Second_Ave
First_Ave
= <1, 2, 3, 4, …
Second_Ave
= <1, 3, 6, 10, 15,.
RIGHT(Second_Ave) = <0, 1, 3, 6, 10,.
Output
= <1, 4, 9, 16, 25
Can you see how
PREFIXSUM can be
represented by a familiar
polynomial expression?
W! := PREFIXSUM(V!)
is represented by
PW = PV / (1-X)
= PV (1+X+X2+X3+ ….. )
Al-Karaji Program
Zero_Ave = 1/(1-X);
First_Ave = 1/(1-X)2;
Second_Ave = 1/(1-X)3;
RIGHT(Second_Ave) = X/(1-X)3
Output = 1/(1-X)3 + X/(1-X)3 =
(1-X)/(1-X)3 + 2X/(1-X)3
= (1+X)/(1-X)3
(1+X)/(1-X)3
Zero_Ave := PREFIXSUM(<1>);
First_Ave := PREFIXSUM(Zero_Ave);
Second_Ave :=PREFIXSUM(First_Ave);
Output:=
RIGHT(Second_Ave) + Second_Ave
Second_Ave
= <1, 3, 6, 10, 15,.
RIGHT(Second_Ave) = <0, 1, 3, 6, 10,.
Output
= <1, 4, 9, 16, 25
(1+X)/(1-X)3
outputs <1, 4, 9, ..>
X(1+X)/(1-X)3
outputs <0, 1, 4, 9, ..>
The kth entry is k2
X(1+X)/(1-X)3 =  k2Xk
What does X(1+X)/(1-X)4 do?
X(1+X)/(1-X)4 expands to :
 Sk Xk
where Sk is the sum of the
first k squares
Aha! Thus, if there is an
alternative interpretation of
the kth coefficient of
X(1+X)/(1-X)4
we would have a new way to
get a formula for the sum of
the first k squares.
What is the coefficient of Xk
in the expansion of:
( 1 + X + X2 + X3 + X4 + . . . . )n ?
Each path in the choice tree for the
cross terms has n choices of exponent
e1, e2, . . . , en ¸ 0. Each exponent can be
any natural number.
Coefficient of Xk is the number of
non-negative solutions to:
e 1 + e 2 + . . . + en = k
What is the coefficient of Xk
in the expansion of:
( 1 + X + X2 + X3 + X4 + . . . . )n ?
 n  k  1


n
-1


( 1 + X + X2 + X3 + X4 + . . . . )n =
 n  k  1 k
1
 
X
n
n -1 
1  X 
k 0 

Using pirates and gold we
found that:

 n  k  1 k
1
 
X
n
n -1 
1  X 
k 0 
THUS:
1
1  X 
k  3 k
 
X
3 
k 0 

4
Vector programs -> Polynomials
-> Closed form expression
REFERENCES
Coxeter, H. S. M. ``The Golden Section, Phyllotaxis,
and Wythoff's Game.'' Scripta Mathematica 19,
135-143, 1953.
"Recounting Fibonacci and Lucas Identities" by
Arthur T. Benjamin and Jennifer J. Quinn, College
Mathematics Journal, Vol. 30(5): 359--366, 1999.
Download