Fibonacci Numbers, Polynomial Coefficients, and Vector Programs.

Slides:



Advertisements
Similar presentations
CompSci 102 Discrete Math for Computer Science March 27, 2012 Prof. Rodger Lecture adapted from Bruce Maggs/Lecture developed at Carnegie Mellon, primarily.
Advertisements

Lecture 3: Reduce to known problem Convex Hull (section 33.3 of CLRS). Suppose we have a bunch of points in the plane, given by their x and y coordinates.
Counting III: Pascal’s Triangle, Polynomials, and Vector Programs Great Theoretical Ideas In Computer Science Steven RudichCS Spring 2003 Lecture.
Sequences, Induction and Probability
Sequences, Series, and the Binomial Theorem
Ancient Wisdom: Primes, Continued Fractions, The Golden Ratio, and Euclid’s GCD Great Theoretical Ideas In Computer Science Anupam GuptaCS Fall.
Fibonacci Sequences Susan Leggett, Zuzana Zvarova, Sara Campbell
Counting II: Pascal, Binomials, and Other Tricks Great Theoretical Ideas In Computer Science A. Gupta D. Sleator CS Fall 2010 Lecture 8Sept. 16,
Recurrences Part 3. Recursive Algorithms Recurrences are useful for analyzing recursive algorithms Recurrence – an equation or inequality that describes.
The Fibonacci Numbers And An Unexpected Calculation. Great Theoretical Ideas In Computer Science Steven RudichCS Spring 2004 Lecture 7Feb 3, 2004Carnegie.
Spiral Growth in Nature
Great Theoretical Ideas in Computer Science.
The sequence begins with one. Each subsequent number is the sum of the two preceding numbers. The sequence begins with one. Each subsequent number is.
ISU CCEE BioE 202: Aesthetics The Golden Section – its origin and usefulness in engineering.
Fibonacci Numbers.
Discovering Fibonacci
FIBONACCI NUMBERS 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946, 17711, 28657, 46368, 75025, ,
Chapter 8 With Question/Answer Animations 1. Chapter Summary Applications of Recurrence Relations Solving Linear Recurrence Relations Homogeneous Recurrence.
Great Theoretical Ideas in Computer Science.
The Golden Ratio, Fibonacci Numbers, And Other Recurrences Great Theoretical Ideas In Computer Science John LaffertyCS Fall 2006 Lecture 13October.
Great Theoretical Ideas in Computer Science for Some.
Advanced Counting Techniques
Maths in Nature By Keith Ball.
Excursions in Modern Mathematics, 7e: Copyright © 2010 Pearson Education, Inc. 9 The Mathematics of Spiral Growth 9.1Fibonacci’s Rabbits 9.2Fibonacci.
1 © 2010 Pearson Education, Inc. All rights reserved 10.1 DEFINITION OF A SEQUENCE An infinite sequence is a function whose domain is the set of positive.
The Binomial Theorem.
Chapter 8. Section 8. 1 Section Summary Introduction Modeling with Recurrence Relations Fibonacci Numbers The Tower of Hanoi Counting Problems Algorithms.
From Counting to Pascal: A Journey through Number Theory, Geometry, and Calculus NYS Master Teachers March 9, 2015 Dave Brown – Slides.
Great Theoretical Ideas in Computer Science.
Great Theoretical Ideas in Computer Science.
Counting III: Pascal’s Triangle, Polynomials, and Vector Programs Great Theoretical Ideas In Computer Science Steven RudichCS Spring 2003 Lecture.
Polynomials P4.
Chapter 8 With Question/Answer Animations. Chapter Summary Applications of Recurrence Relations Solving Linear Recurrence Relations Homogeneous Recurrence.
Great Theoretical Ideas in Computer Science.
Fibonacci Numbers, Vector Programs and a new kind of science.
COMPSCI 102 Discrete Mathematics for Computer Science.
COMPSCI 102 Discrete Mathematics for Computer Science.
Great Theoretical Ideas in Computer Science.
Foundations of Discrete Mathematics Chapters 5 By Dr. Dalia M. Gil, Ph.D.
Introduction to Fibonacci number
Choose Your Representation! Great Theoretical Ideas In Computer Science Steven RudichCS Spring 2005 Lecture 14 Feb 24, 2005 Carnegie Mellon University.
Agenda Lecture Content:  Recurrence Relations  Solving Recurrence Relations  Iteration  Linear homogenous recurrence relation of order k with constant.
ADVANCED ALGORITHMS REVIEW OF ANALYSIS TECHNIQUES (UNIT-1)
Fibonacci Sequence & Golden Ratio Monika Bała. PLAN OF THE PRESENTATION: Definition of the Fibonacci Sequence and its properties Definition of the Fibonacci.
Mathematical Induction Section 5.1. Climbing an Infinite Ladder Suppose we have an infinite ladder: 1.We can reach the first rung of the ladder. 2.If.
Recurrences, Phi and CF Great Theoretical Ideas In Computer Science S. Rudich V. Adamchik CS Spring 2006 Lecture 13 Feb 28, 2006 Carnegie Mellon.
Based on Lecture Slides from Steven Rudich, CMU 15 a.
The Golden Ratio What is it? Also known as Phi (rhymes with fly)
COMPSCI 102 Introduction to Discrete Mathematics.
Lecture # 20 Sequence & Series
Fibonacci Numbers Based on the following PowerPoint's
A Number You Can Call Your Own
Induction: One Step At A Time
Counting III: Pascal’s Triangle, Polynomials, and Vector Programs
Great Theoretical Ideas in Computer Science
The Fibonacci Numbers And An Unexpected Calculation
Great Theoretical Ideas in Computer Science
The Golden Ratio, Fibonacci Numbers, And Other Recurrences
Great Theoretical Ideas in Computer Science
Great Theoretical Ideas in Computer Science
Induction: One Step At A Time
Induction: One Step At A Time
Great Theoretical Ideas in Computer Science
The Mathematical Formula of Life
Counting III: Pascal’s Triangle, Polynomials, and Vector Programs
Discrete Mathematics for Computer Science
Introduction to Discrete Mathematics
Induction: One Step At A Time
Presentation transcript:

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 Fib(n)

Sneezwort (Achilleaptarmica) Each time the plant starts a new shoot it takes two months before it is strong enough to support branching.

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.

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. ABC

Pentagon

Expanding Recursively

Continued Fraction Representation

1,1,2,3,5,8,13,21,34,55,…. 2/1 =2 3/2=1.5 5/3=1.666… 8/5=1.6 13/8= /13= … 34/21= …  =

How to divide polynomials? 1 1 – X ? 1 1 -(1 – X) X + X -(X – X 2 ) X2X2 + X 2 -(X 2 – X 3 ) X3X3 = 1 + X + X 2 + X 3 + X 4 + X 5 + X 6 + X 7 + … …

1 + X 1 + X 2 + X 3 + … + X n + ….. = 1 + X 1 + X 2 + X 3 + … + X n + ….. = X The Infinite Geometric Series

(1-X) ( 1 + X 1 + X 2 + X 3 + … + X n + … ) = 1 + X 1 + X 2 + X 3 + … + X n + X n+1 + …. - X 1 - X 2 - X 3 - … - X n-1 – X n - X n+1 - … = X 1 + X 2 + X 3 + … + X n + ….. = 1 + X 1 + X 2 + X 3 + … + X n + ….. = X

1 + X 1 + X 2 + X 3 + … + X n + ….. = 1 + X 1 + X 2 + X 3 + … + X n + ….. = X 1 – X1 1 -(1 – X) X + X -(X – X 2 ) X2X2 + X 2 + … -(X 2 – X 3 ) X3X3 …

X 1 – X – X 2 Something a bit more complicated 1 – X – X 2 X X 2 + X 3 -(X – X 2 – X 3 ) X 2X 3 + X 4 -(X 2 – X 3 – X 4 ) + X 2 -(2X 3 – 2X 4 – 2X 5 ) + 2X 3 3X 4 + 2X 5 + 3X 4 -(3X 4 – 3X 5 – 3X 6 ) 5X 5 + 3X 6 + 5X 5 -(5X 5 – 5X 6 – 5X 7 ) 8X 6 + 5X 7 + 8X 6 -(8X 6 – 8X 7 – 8X 8 )

Hence = F F 1 X 1 + F 2 X 2 +F 3 X 3 + F 4 X 4 + F 5 X 5 + F 6 X 6 + … X 1 – X – X 2 = 0  X X 2 + 2X 3 + 3X 4 + 5X 5 + 8X 6 + …

Going the Other Way (1 - X- X 2 )  ( F F 1 X 1 + F 2 X 2 + … + F n-2 X n-2 + F n-1 X n-1 + F n X n + … F 0 = 0, F 1 = 1

Going the Other Way (1 - X- X 2 )  ( F F 1 X 1 + F 2 X 2 + … + F n-2 X n-2 + F n-1 X n-1 + F n X n + … = ( F F 1 X 1 + F 2 X 2 + … + F n-2 X n-2 + F n-1 X n-1 + F n X n + … - F 0 X 1 - F 1 X 2 - … - F n-3 X n-2 - F n-2 X n-1 - F n-1 X n - … - F 0 X 2 - … - F n-4 X n-2 - F n-3 X n-1 - F n-2 X n - … = F ( F 1 – F 0 ) X 1 F 0 = 0, F 1 = 1 = X

Thus F F 1 X 1 + F 2 X 2 + … + F n-1 X n-1 + F n X n + … X 1 – X – X 2 = = X/(1-  X)(1 – (-  ) -1 X)   -1 = 1,  -  -1 =1

X (1 –  X)(1- (-  ) -1 X) Linear factors on the bottom  n=0..∞ = XnXn ?

( 1 + aX 1 + a 2 X 2 + … + a n X n + ….. ) ( 1 + bX 1 + b 2 X 2 + … + b n X n + ….. ) = 1 (1 – aX)(1-bX) Geometric Series (Quadratic Form) a n+1 – b n+1 a - b  n=0..∞ XnXn = =

1 (1 –  X)(1- (-  -1 X)) Geometric Series (Quadratic Form)  n+1 – (-  -1 ) n+1 √5√5√5√5  n=0.. ∞ = XnXn

X (1 –  X)(1- (-  -1 X) Power Series Expansion of F  n+1 – (-  - 1) n+1 √5√5√5√5  n=0.. ∞ = X n+1

The i th Fibonacci number is: Leonhard Euler (1765) J. P. M. Binet (1843) A de Moivre (1730)

( 1 + aX 1 + a 2 X 2 + … + a n X n + ….. ) ( 1 + bX 1 + b 2 X 2 + … + b n X n + ….. ) = 1 (1 – aX)(1-bX) Let’s Derive This a n+1 – b n+1 a - b  n=0..∞ XnXn = =

1 + Y 1 + Y 2 + Y 3 + … + Y n + ….. = 1 + Y 1 + Y 2 + Y 3 + … + Y n + ….. = Y Substituting Y = aX …

1 + aX 1 + a 2 X 2 + a 3 X 3 + … + a n X n + ….. = 1 + aX 1 + a 2 X 2 + a 3 X 3 + … + a n X n + ….. = aX Geometric Series (Linear Form)

( 1 + aX 1 + a 2 X 2 + … + a n X n + ….. ) ( 1 + bX 1 + b 2 X 2 + … + b n X n + ….. ) = 1 (1 – aX)(1-bX) Geometric Series (Quadratic Form)

( 1 + aX 1 + a 2 X 2 + … + a n X n + ….. ) ( 1 + bX 1 + b 2 X 2 + … + b n X n + ….. ) = 1 + c 1 X c k X k + … Suppose we multiply this out to get a single, infinite polynomial. What is an expression for C n ?

( 1 + aX 1 + a 2 X 2 + … + a n X n + ….. ) ( 1 + bX 1 + b 2 X 2 + … + b n X n + ….. ) = 1 + c 1 X c k X k + … a 0 b n + a 1 b n-1 +… a i b n-i … + a n-1 b 1 + a n b 0 c n = a 0 b n + a 1 b n-1 +… a i b n-i … + a n-1 b 1 + a n b 0

( 1 + aX 1 + a 2 X 2 + … + a n X n + ….. ) ( 1 + bX 1 + b 2 X 2 + … + b n X n + ….. ) = 1 + c 1 X c k X k + … a 0 b n + a 1 b n-1 +… a i b n-i … + a n-1 b 1 + a n b 0 If a = b then c n = (n+1)(a n ) a 0 b n + a 1 b n-1 +… a i b n-i … + a n-1 b 1 + a n b 0

a 0 b n + a 1 b n-1 +… a i b n-i … + a n-1 b 1 + a n b 0 (a-b) ( a 0 b n + a 1 b n-1 +… a i b n-i … + a n-1 b 1 + a n b 0 ) a 1 b n +… a i+1 b n-i … + a n b 1 + a n+1 b 0 = a 1 b n +… a i+1 b n-i … + a n b 1 + a n+1 b 0 a 0 b n+1 – a 1 b n … a i+1 b n-i … - a n-1 b 2 - a n b 1 - a 0 b n+1 – a 1 b n … a i+1 b n-i … - a n-1 b 2 - a n b 1 = - b n+1 + a n+1 = a n+1 – b n+1 a 0 b n + a 1 b n-1 +… a i b n-i … + a n-1 b 1 + a n b 0 = a n+1 – b n+1 a - b

( 1 + aX 1 + a 2 X 2 + … + a n X n + ….. ) ( 1 + bX 1 + b 2 X 2 + … + b n X n + ….. ) = 1 + c 1 X c k X k + … a 0 b n + a 1 b n-1 +… a i b n-i … + a n-1 b 1 + a n b 0 if a  b then c n = a 0 b n + a 1 b n-1 +… a i b n-i … + a n-1 b 1 + a n b 0 a n+1 – b n+1 a - b

( 1 + aX 1 + a 2 X 2 + … + a n X n + ….. ) ( 1 + bX 1 + b 2 X 2 + … + b n X n + ….. ) = 1 (1 – aX)(1-bX) Geometric Series (Quadratic Form) a n+1 – b n+1 a - b  n=0..  XnXn = = XnXn or (n+1)a n when a=b

Sequences That Sum To n Let f n+1 be the number of different sequences of 1’s and 2’s that sum to n. Example: f 5 = 5

Sequences That Sum To n Let f n+1 be the number of different sequences of 1’s and 2’s that sum to n. Example: f 5 = 5 4 =

Sequences That Sum To n f1f1 f2f2 f3f3 Let f n+1 be the number of different sequences of 1’s and 2’s that sum to n.

Sequences That Sum To n f 1 = 1 0 = the empty sum f 2 = 1 1 = 1 f 3 = 2 2 = Let f n+1 be the number of different sequences of 1’s and 2’s that sum to n.

Sequences That Sum To n f n+1 = f n + f n-1 Let f n+1 be the number of different sequences of 1’s and 2’s that sum to n.

Sequences That Sum To n f n+1 = f n + f n-1 Let f n+1 be the number of different sequences of 1’s and 2’s that sum to n. # of sequences beginning with a 2 # of sequences beginning with a 1

Fibonacci Numbers Again f n+1 = f n + f n-1 f 1 = 1 f 2 = 1 Let f n+1 be the number of different sequences of 1’s and 2’s that sum to n.

Visual Representation: Tiling Let f n+1 be the number of different ways to tile a 1 × n strip with squares and dominoes.

Visual Representation: Tiling Let f n+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:

f n+1 = f n + f n-1 f n+1 is number of ways to tile length n. f n tilings that start with a square. f n-1 tilings that start with a domino.

Let’s use this visual representation to prove a couple of Fibonacci identities.

Fibonacci Identities Some examples: F 2n = F 1 + F 3 + F 5 + … + F 2n-1 F m+n+1 = F m+1 F n+1 + F m F n (F n ) 2 = F n-1 F n+1 + (-1) n

F m+n+1 = F m+1 F n+1 + F m F nmn m-1n-1

(F n ) 2 = F n-1 F n+1 + (-1) n

n-1 F n tilings of a strip of length n-1

(F n ) 2 = F n-1 F n+1 + (-1) nn-1 n-1

n (F n ) 2 tilings of two strips of size n-1

(F n ) 2 = F n-1 F n+1 + (-1) n n Draw a vertical “fault line” at the rightmost position (<n) possible without cutting any dominoes

(F n ) 2 = F n-1 F n+1 + (-1) n 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.

(F n ) 2 = F n-1 F n+1 + (-1) n 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.

(F n ) 2 = F n-1 F n+1 + (-1) n-1 n even n odd

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:

Vector Programs Let k stand for a scalar constant will stand for the vector = V ! + T ! means to add the vectors position-wise. + =

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( ) =

Vector Programs Example: V ! := ; V ! := RIGHT(V ! ) + ; V ! = V ! = Store V ! = V ! = V ! =

Vector Programs Example: V ! := ; Loop n times: V ! := V ! + RIGHT(V ! ); V ! = n th row of Pascal’s triangle. Store V ! =

X1 X1 X2 X2 + + X3 X3 Vector programs can be implemented by polynomials!

Programs -----> Polynomials The vector V ! = will be represented by the polynomial:

Formal Power Series The vector V ! = will be represented by the formal power series:

V ! = is represented by 0 is represented by k RIGHT(V ! ) is represented by (P V X) V ! + T ! is represented by (P V + P T )

Vector Programs Example: V ! := ; Loop n times: V ! := V ! + RIGHT(V ! ); V ! = n th row of Pascal’s triangle. P V := 1; P V := P V + P V X;

Vector Programs Example: V ! := ; Loop n times: V ! := V ! + RIGHT(V ! ); V ! = n th row of Pascal’s triangle. P V := 1; P V := P V (1+ X);

Vector Programs Example: V ! := ; Loop n times: V ! := V ! + RIGHT(V ! ); V ! = n th row of Pascal’s triangle. P V = (1+ X) n

Let’s add an instruction called PREFIXSUM to our VECTOR language. W ! := PREFIXSUM(V ! ) means that the i th position of W contains the sum of all the numbers in V from positions 0 to i.

What does this program output? V ! := 1 ! ; Loop k times: V ! := PREFIXSUM(V ! ) ; k’th Avenue

Al Karaji Perfect Squares Zero_Ave := PREFIXSUM( ); 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

Can you see how PREFIXSUM can be represented by a familiar polynomial expression?

W ! := PREFIXSUM(V ! ) is represented by P W = P V / (1-X) = P V ( 1+X+X 2 +X 3 + ….. )

Al-Karaji Program Zero_Ave = 1/(1-X); First_Ave = 1/(1-X) 2 ; Second_Ave = 1/(1-X) 3 ; Output = 1/(1-X) 2 + 2X/(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( ); 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 outputs X(1+X)/(1-X) 3 outputs outputs The k th entry is k 2 The k th entry is k 2

X(1+X)/(1-X) 3 =  k 2 X k What does X(1+X)/(1-X) 4 do?

X(1+X)/(1-X) 4 expands to :  S k X k where S k is the sum of the first k squares

Aha! Thus, if there is an alternative interpretation of the k th 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 X k in the expansion of: ( 1 + X + X 2 + X 3 + X ) n ? Each path in the choice tree for the cross terms has n choices of exponent e 1, e 2,..., e n ¸ 0. Each exponent can be any natural number. Coefficient of X k is the number of non-negative solutions to: e 1 + e e n = k

What is the coefficient of X k in the expansion of: ( 1 + X + X 2 + X 3 + X ) n ?

( 1 + X + X 2 + X 3 + X ) n =

Using pirates and gold we found that: THUS:

Vector programs -> Polynomials -> Closed form expression

REFERENCES Coxeter, H. S. M. ``The Golden Section, Phyllotaxis, and Wythoff's Game.'' Scripta Mathematica 19, , "Recounting Fibonacci and Lucas Identities" by Arthur T. Benjamin and Jennifer J. Quinn, College Mathematics Journal, Vol. 30(5): , 1999.