Course

Community

Homework 8

For this homework, you can submit up to 3 times.
We provide 3 python scripts and needed data for you to start
with. Download it form
here (right click, "save as").
This homework is not required. It just provides bonus points which you can use to
improve your total score.

Q8.1 \(\quad\) two modes system continued -- kneading theory

The first part of this course is over. We have focused almost
on just one question: how to find periodic orbits in a
systematic way? We have
seen that the return maps in Rossler flow and two modes flow enable
us to establish the symbolic dynamics of these systems, and the
kneading theory
gives us strict pruning rules for determination of admissible itineraries.
Now, in Chapter 16,
multi-shooting method is introduced to accurately determine a periodic orbit
of any length.
We put these things together in this homework.

If you have not finished HW5, you can still do this homework.
The integration routines and the Poincare intersection points
in two modes system are provided to you. There are
three python files: "unimodal.py", "multishooting.py" and
"twomodes_continue.py".
Please read the comments in "twomodes_continue.py" and set case = 1.
You first get the return map from the intersection points and also obtain
the critical point \(x_C = 0.9584\).
Check that the kneading sequence you get is 1001110111... .
According to kneading theory this implies
that periodic orbit \(\overline{1000}\) cannot exist for this flow.

Please try to find periodic orbit \(\overline{1110}\). What is the smallest
x-coordinate of this orbit in the return map? In the end, it prints out
the error of this guess orbit: 0.000321089. The corresponding orbit is
shown in fig(a) below.

Q8.2 \(\quad\) two modes system continued -- multi-shooting method

Fig(a) is not an exact periodic orbit since the error associated
with it is of order 1e-3. We need to implement multi-shooting method
to refine the periodic point initial conditions and the period of this orbit to get
the true periodic orbit.

Please set case = 2, and fill out function "shootingMatrix()" in
file "multishooting.py". Try to understand how the
multi-shooting method works. In this case you will see that the
orbit is refined step by step:
\[
\text{ iteration number i = 0 has error: 0.000321081525164 } \\
\text{ iteration number i = 1 has error: 0.000266414948291 } \\
\text{ iteration number i = 2 has error: 0.00012592226893 } \\
\text{ iteration number i = 3 has error: 2.7067461361e-05 } \\
\text{ iteration number i = 4 has error: 1.58482121216e-05 } \\
\text{ iteration number i = 5 has error: 2.13125347296e-06 } \\
\text{ iteration number i = 6 has error: 3.59414969262e-08 } \\
\text{ iteration number i = 7 has error: 6.27359848099e-11 } \\
\text{ iteration number i = 8 has error: 3.26960680752e-14 } \\
\text{ iteration number i = 9 has error: 7.32747196253e-15 } \\
\text{ iteration terminates at error : 7.32747196253e-15 } \\
\]
What is the period of this orbit ?

Your e-mail

Please enter your e-mail (the same you are registered under in Piazza) to receive your grades: