#OK to post homework #Julian Herman, 10/4/21, Assignment 9 #1.) #(i) Orb(2*x*(1 - x), x, 0.1, 990, 1000); [0.5000000000, 0.5000000000, 0.5000000000, 0.5000000000, 0.5000000000, 0.5000000000, 0.5000000000, 0.5000000000, 0.5000000000, 0.5000000000, 0.5000000000, 0.5000000000] Orb(2*x*(1 - x), x, 0.9, 990, 1000); [0.5000000000, 0.5000000000, 0.5000000000, 0.5000000000, 0.5000000000, 0.5000000000, 0.5000000000, 0.5000000000, 0.5000000000, 0.5000000000, 0.5000000000, 0.5000000000] SFP(2*x*(1 - x), x); [0.5000000000] #Stable fixed point at 0.5000000000. #(ii) Orb(2.5*x*(1 - x), x, 0.1, 990, 1000); [0.6000000000, 0.6000000000, 0.6000000000, 0.6000000000, 0.6000000000, 0.6000000000, 0.6000000000, 0.6000000000, 0.6000000000, 0.6000000000, 0.6000000000, 0.6000000000] Orb(2.5*x*(1 - x), x, 0.9, 990, 1000); [0.6000000000, 0.6000000000, 0.6000000000, 0.6000000000, 0.6000000000, 0.6000000000, 0.6000000000, 0.6000000000, 0.6000000000, 0.6000000000, 0.6000000000, 0.6000000000] SFP(2.5*x*(1 - x), x); [0.6000000000] #Stable fixed point at 0.6000000000. #(iii) Orb(3.1*x*(1 - x), x, 0.1, 990, 1000); [0.5580141258, 0.7645665197, 0.5580141258, 0.7645665197, 0.5580141258, 0.7645665197, 0.5580141258, 0.7645665197, 0.5580141258, 0.7645665197, 0.5580141258, 0.7645665197] Orb(3.1*x*(1 - x), x, 0.9, 990, 1000); [0.5580141258, 0.7645665197, 0.5580141258, 0.7645665197, 0.5580141258, 0.7645665197, 0.5580141258, 0.7645665197, 0.5580141258, 0.7645665197, 0.5580141258, 0.7645665197] SFP(3.1*x*(1 - x), x); [] #No stable fixed points exist. It oscillates between 0.5580141258 and 0.7645665197 #(iv) Orb((4 + x)/(3 + x), x, 0.1, 990, 1000); [1.236067977, 1.236067978, 1.236067977, 1.236067978, 1.236067977, 1.236067978, 1.236067977, 1.236067978, 1.236067977, 1.236067978, 1.236067977, 1.236067978] Orb((4 + x)/(3 + x), x, 0.9, 990, 1000); [1.236067977, 1.236067978, 1.236067977, 1.236067978, 1.236067977, 1.236067978, 1.236067977, 1.236067978, 1.236067977, 1.236067978, 1.236067977, 1.236067978] SFP((4 + x)/(3 + x), x); [1.236067977] #Stable fixed point at 1.236067977. #(v) Orb((3 + x)/(4 + x), x, 0.1, 990, 1000); [0.7912878475, 0.7912878475, 0.7912878475, 0.7912878475, 0.7912878475, 0.7912878475, 0.7912878475, 0.7912878475, 0.7912878475, 0.7912878475, 0.7912878475, 0.7912878475] Orb((3 + x)/(4 + x), x, 0.9, 990, 1000); [0.7912878475, 0.7912878475, 0.7912878475, 0.7912878475, 0.7912878475, 0.7912878475, 0.7912878475, 0.7912878475, 0.7912878475, 0.7912878475, 0.7912878475, 0.7912878475] SFP((3 + x)/(4 + x), x); [0.791287848] #Stabled fixed point at 0.791287848. #(vi) Orb((x^2 + x + 3)/(2*x^2 + x + 4), x, 0.1, 990, 1000); [0.7351392591, 0.7351392591, 0.7351392591, 0.7351392591, 0.7351392591, 0.7351392591, 0.7351392591, 0.7351392591, 0.7351392591, 0.7351392591, 0.7351392591, 0.7351392591] Orb((x^2 + x + 3)/(2*x^2 + x + 4), x, 0.9, 990, 1000); [0.7351392591, 0.7351392591, 0.7351392591, 0.7351392591, 0.7351392591, 0.7351392591, 0.7351392591, 0.7351392591, 0.7351392591, 0.7351392591, 0.7351392591, 0.7351392591] SFP((x^2 + x + 3)/(2*x^2 + x + 4), x); [0.7351392587] #Stable fixed point at 0.7351392587. #2.) fp := [solve((x + a)/(x + b) = x, x)]; [ (1/2) [ 1 1 1 / 2 \ fp := [- - b + - + - \b + 4 a - 2 b + 1/ , [ 2 2 2 (1/2)] 1 1 1 / 2 \ ] - - b + - - - \b + 4 a - 2 b + 1/ ] 2 2 2 ] C := (a, b) -> diff((x + a)/(x + b), x); dFP1 := subs(x = fp[1], C(a, b)); 1 dFP1 := ------------------------------------- (1/2) 1 1 1 / 2 \ - b + - + - \b + 4 a - 2 b + 1/ 2 2 2 (1/2) 1 1 1 / 2 \ - - b + - + - \b + 4 a - 2 b + 1/ + a 2 2 2 - ------------------------------------------- 2 / (1/2)\ |1 1 1 / 2 \ | |- b + - + - \b + 4 a - 2 b + 1/ | \2 2 2 / dFP2 := subs(x = fp[2], C(a, b)); 1 dFP2 := ------------------------------------- (1/2) 1 1 1 / 2 \ - b + - - - \b + 4 a - 2 b + 1/ 2 2 2 (1/2) 1 1 1 / 2 \ - - b + - - - \b + 4 a - 2 b + 1/ + a 2 2 2 - ------------------------------------------- 2 / (1/2)\ |1 1 1 / 2 \ | |- b + - - - \b + 4 a - 2 b + 1/ | \2 2 2 / #FOR a=1,b=2: evalf(subs(a = 1, b = 2, dFP1)); 0.1458980339 #First fixed point is stable, abs(0.1458980339) is less than 1 evalf(subs(a = 1, b = 2, dFP2)); 6.854101940 #Second fixed point is NOT stable, abs(6.854101940) is NOT less than 1 Orb((x + 1)/(x + 2), x, 0.1, 990, 1000); [0.6180339888, 0.6180339888, 0.6180339888, 0.6180339888, 0.6180339888, 0.6180339888, 0.6180339888, 0.6180339888, 0.6180339888, 0.6180339888, 0.6180339888, 0.6180339888] Orb((x + 1)/(x + 2), x, 0.9, 990, 1000); [0.6180339888, 0.6180339888, 0.6180339888, 0.6180339888, 0.6180339888, 0.6180339888, 0.6180339888, 0.6180339888, 0.6180339888, 0.6180339888, 0.6180339888, 0.6180339888] FP((x + 1)/(x + 2), x); [-1.618033988, 0.6180339880] SFP((x + 1)/(x + 2), x); [0.6180339880] #ONLY one stable fixed point; the results agree. #For a=2,b=3: evalf(subs(a = 2, b = 3, dFP1)); 0.0717967697 #First fixed point is stable, abs(0.0717967697) is less than 1 evalf(subs(a = 2, b = 3, dFP2)); 13.92820327 #Second fixed point is NOT stable, abs(13.92820327) is NOT less than 1 Orb((x + 2)/(3 + x), x, 0.1, 990, 1000); [0.7320508076, 0.7320508076, 0.7320508076, 0.7320508076, 0.7320508076, 0.7320508076, 0.7320508076, 0.7320508076, 0.7320508076, 0.7320508076, 0.7320508076, 0.7320508076] Orb((x + 2)/(3 + x), x, 0.9, 990, 1000); [0.7320508076, 0.7320508076, 0.7320508076, 0.7320508076, 0.7320508076, 0.7320508076, 0.7320508076, 0.7320508076, 0.7320508076, 0.7320508076, 0.7320508076, 0.7320508076] FP((x + 2)/(3 + x), x); [-2.732050808, 0.732050808] SFP((x + 2)/(3 + x), x); [0.732050808] #ONLY one stable fixed point; the results agree. For a=12,b=17: evalf(subs(a = 12, b = 17, dFP1)); 0.01592760652 #First fixed point is stable, abs(0.01592760652) is less than 1 evalf(subs(a = 12, b = 17, dFP2)); 62.78407147 #Second fixed point is NOT stable, abs(62.78407147) is NOT less than 1 Orb((x + 12)/(x + 17), x, 0.1, 990, 1000); [0.7177978871, 0.7177978871, 0.7177978871, 0.7177978871, 0.7177978871, 0.7177978871, 0.7177978871, 0.7177978871, 0.7177978871, 0.7177978871, 0.7177978871, 0.7177978871] Orb((x + 12)/(x + 17), x, 0.9, 990, 1000); [0.7177978871, 0.7177978871, 0.7177978871, 0.7177978871, 0.7177978871, 0.7177978871, 0.7177978871, 0.7177978871, 0.7177978871, 0.7177978871, 0.7177978871, 0.7177978871] FP((x + 12)/(x + 17), x); [-16.71779789, 0.717797888] SFP((x + 12)/(x + 17), x); [0.717797888] #ONLY one stable fixed point; the results agree. #3.) see .pdf #4.) f := x -> k*x*(1 - x); c := [solve(x = f(f(x)), x)]; [ (1/2) [ 1 1 1 / 2 \ [ - k + - + - \k - 2 k - 3/ [ k - 1 2 2 2 c := [0, -----, -------------------------------, [ k k (1/2)] 1 1 1 / 2 \ ] - k + - - - \k - 2 k - 3/ ] 2 2 2 ] -------------------------------] k ] solve(abs(subs(x = c[3], diff(f(f(x)), x))) = 1, k); (1/2) (1/2) 1 - 6 , 1 + 6 , -1, 3 evalf(solve(abs(subs(x = c[3], diff(f(f(x)), x))) = 1, k)); -1.449489743, 3.449489743, -1., 3. Digits := 20; solve(abs(subs(x = c[4], diff(f(f(x)), x))) = 1, k); (1/2) (1/2) -1, 3, 1 - 6 , 1 + 6 evalf(solve(abs(subs(x = c[4], diff(f(f(x)), x))) = 1, k)); -1., 3., -1.4494897427831780982, 3.4494897427831780982 Digits := 4; Orb(subs(k = 3.4494897427831780982, f(x)), x, 0.5, 1000, 1020); [0.4549, 0.8554, 0.4266, 0.8436, 0.4549, 0.8554, 0.4266, 0.8436, 0.4549, 0.8554, 0.4266, 0.8436, 0.4549, 0.8554, 0.4266, 0.8436, 0.4549, 0.8554, 0.4266, 0.8436, 0.4549, 0.8554] convert(%, set); {0.4266, 0.4549, 0.8436, 0.8554} #The theoretical prediction is that the second bifurcation point occurs at #k=1+(6)^1/2 which is about 3.4494897427831780982. This marks the point where #the population transitions from a period-2 orbit to a period-4 orbit. Verifying #this prediction with Orb confirms that the population oscillates between four #different values: {0.4266, 0.4549, 0.8436, 0.8554} (in order for this to work, #digits had to be changed to account for the precision of Maple calculations).