# Lab 1, iteration of linear functions

In this lab, you will explore what happens when you apply a linear function $ax+b$ again and again to a given initial value $x_0$. Using Sage to help you automate your investigations, you will observe the iteration process for many values of $a$, $b$, and $x_0$. If all goes well, patterns will start to emerge…. I will give you gidance on how to write your findings, and after a couple weeks, you will hand in a fancy article.

#### Due dates

A short draft which includes your first section and at least part of your second section is due on Monday, September 9. A final draft is due Monday, September 16.

#### Code hints

• To get the last element of an array a, use the syntax a[-1].
• To round a quantity q off with three decimal points of accuracy, use the syntax round(q,3).

#### My example code

def iterlin(a,b,x0,n=20):
output = [x0]
for i in range(n):
output.append( a*output[-1]+b )
return [round(x,3) for x in output]


Problem #6:

convergent_pairs = []
divergent_pairs = []
for a in vector(range(-30,31))/10 :
for b in vector(range(-30,31))/10 :
s = iterlin( a, b, 2 )
if  abs(s[-1]-s[-2])<.1 :
convergent_pairs.append( (a,b) )
else:
divergent_pairs.append( (a,b) )
point(convergent_pairs,color="pink") + point(divergent_pairs,color="lightblue")