Transcript
Downloaded from www.clastify.com by caners
gm
ai
l.c
om
A numerical investigation of the Lorenz system’s chaotic behaviour and its relationship to the values of initial parameters
Cl
as
tif
y
ca
ne
ro
l2
41
1@
Mathematics AA HL Internal Assessment
May 2023
Downloaded from www.clastify.com by caners
Contents 1 Introduction
2
2 Aim
3
3 The Lorenz system
3
4 The Runge-Kutta methods
3
4.1
Second order Runge-Kutta method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
4.2
Fourth order Runge-Kutta method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7
Programming the numerical solver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
l.c
5.1
7
om
5 Applying RK4 to the Lorenz system
gm
ai
6 Chaos and the Lyupanov exponent
11 12
41
1@
7 Program to calculate Lyupanov exponents
9
13
ro
l2
8 Lyupanov exponent analysis
16
y
ca
10 Conclusion
as
tif
17
Cl
11 Reference list
15
ne
9 Evaluation
1
Downloaded from www.clastify.com by caners
1
Introduction
Weather is indisputably one of the most unpredictable systems on our planet. Meteorologists have the difficult task of modelling weather and making day-to-day predictions, but even their highly-educated and data-driven predictions often fail. After all, who hasn’t remarked at the weather suddenly changing without warning. One moment, the weather could be calm and peaceful, while in another, it could suddenly becoming stormy. With so many confounding variables affecting weather, such as temperature, air pressure, precipitation, the Earth’s axial tilt, etc. the weather system is highly chaotic and the smallest of changes to a particular parameter can lead to wildly different outcomes. Colloquially, this is known as the butterfly effect, where even
om
minor changes in the weather system such as a the fluttering of a butterfly’s wings could lead to a tornado
l.c
several days later. In other words, predictions of weather outcomes are sensitive to initial parameters and
gm
ai
conditions.
1@
This highly sensitive dependence to initial conditions of a time-dependent system is what the discipline
41
of chaos theory concerns itself with. In particular, it tries to find some order in systems that have been
l2
previously thought of to be completely random. For example, the idea that weather can be absolutely
ne
ro
unpredictable does not sit well with me; I am a physics student and therefore have a hard time believing
ca
in randomness. To find a cause for an effect is almost second-nature to me. Like many in similar fields, I
y
believe in causal determinism [1]: the idea that the path taken by a system can be entirely predicted based
as
tif
on its prior states (initial conditions).
Cl
Therefore, I wanted to see—for myself—the nature of chaos and how it varies in models for the weather. Luckily, I knew of one already: the Lorenz system [2]. Created by mathematician and meteorologist Edward Lorenz, the Lorenz system is a system of three ordinary differential equations (ODEs) modelling convection in a atmosphere. Being a mathematics student, I’d already encountered differential equations, but I’d only ever dealt with simple ones, much less a system of differential equations. I also realized that I’d have to use numerical methods far more advanced than the rudimentary Euler method I’d learned in class and then use a suitable metric to quantify chaos. In this investigation, I explore several numerical methods to solve for the Lorenz system and use their solutions to quantify chaos with the Lyupanov exponent, investigating its dependence on the system’s initial conditions.
2
Downloaded from www.clastify.com by caners
2
Aim
To solve for the Lorenz system at different values of initial values, and parameters ρ, β, and σ and investigate how their values affect the system’s chaotic behaviour, quantified with the Lyupanov exponent.
3
The Lorenz system
The Lorenz system is given by three first order ordinary differential equations, known as the Lorenz equations [3]: dx = σ(y − x) dt
l.c
om
dy = x(ρ − z) − y dt
gm
ai
dz = xy − βz dt
1@
where x is proportional to the rate of convection, y to the horizontal temperature variation, and z to the
41
vertical temperature variation. The constants σ, ρ, and β are parameters that describe physical properties
l2
of a fluid layer (heated from below and cooled from above) undergoing convection. For the purposes of this
ro
investigation, we are not interested in the physical significance of each variable and parameter but rather on
ca
ne
how they affect chaos.
8 for which the system exhbits its characteristic 3 chaotic behaviour. Thus, our investigation will consider values of σ, ρ, and β around these values. There is
as
tif
y
Edward Lorenz originally used the values σ = 10, ρ = 28, β =
Cl
no analytical or general solution to the Lorenz system. Thus, we must use numerical methods to solve for the Lorenz system. To do so, we can use the Runge-Kutta methods, a family of iterative methods which allow for the numerical solving of differential equations. Particularly, the Euler method is the simplest Runge-Kutta method and the basis for more advanced techniques. We will now derive and consider a few Runge-Kutta techniques, namely the Euler method, the second-order Runge-Kutta method, and the fourth order Runge-Kutta method.
4
The Runge-Kutta methods
We will first start with the Euler method. Consider the initial value problem: dy = f (x, y), dx
3
y (x0 ) = y0
Downloaded from www.clastify.com by caners
where y is a function of x and the initial conditions are given as (x0 , y0 ). The essence of the Euler method relies on the fact that, despite the curve y(x) being unknown, with our initial conditions (x0 , y0 ) we can compute the tangent or derivative at that point as y 0 = f (x, y). For values of x around our initial point, the curve can be approximated by the tangent. Thus, we take a small step h along the tangent and presume that the new point also lies on the curve. We repeat this for several steps until we get a polygonal curve that approximates the curve y(x) for the given initial conditions—solving the differential equation. The Euler method is given in its iterative form by: yi+1 = yi + f (xi , yi ) h dy dx evaluated at xi and yi . While intuition alone yields us the Euler method’s formula, it can also be derived
om
where yi+1 is the next value of y, yi is the current value of y, and f is the function giving the value of
gm
ai
l.c
from a Taylor series expansion, which is important to deriving other Runge-Kutta methods. Consider the Taylor series expansion for a real function g(x) about the point x = a
1@
∞ X g (n) (a) (x − a)n n! n=0
41
g(x) =
ro
l2
g 00 (a) g 0 (a) (x − a) + (x − a)2 + . . . 1! 2!
ne
= g(a) +
ca
For our situation, the point a we are evaluating about is a given initial x = x0 . Thus, we replace x with xi
y
and a with x0 .
g 0 (x0 ) g 00 (x0 ) (xi − x0 ) + (xi − x0 )2 + . . . 1! 2!
as
tif
g(xi ) = g(x0 ) +
Cl
Assuming constant step size h, we know: xi = x0 + h h = xi − x0 Substituting this value of h into our above expression, we have: g(xi ) = g(x0 ) +
g 0 (x0 ) g 00 (x0 ) 2 h+ h + ... 1! 2!
For the next iteration at xi+1 , x0 = xi . Thus, we can generalize our equation as follows: g(xi+1 ) = g(xi ) + Returning to our initial value problem where
g 0 (xi ) g 00 (xi ) 2 h+ h + ... 1! 2!
(1)
dy = f (x, y) where y is a function of x, we are approximating dx
4
Downloaded from www.clastify.com by caners
y. Thus, we can replace our general function g by y: y 0 (xi , yi ) y 00 (xi , yi ) 2 h+ h + ... 1! 2!
yi+1 = yi + where y (n) denotes
dy dn y . We know from our initial value problem that = f (x, y). Thus, dxn dx yi+1 = yi +
f 0 (xi , yi ) 2 f 00 (xi , yi ) 3 f (xi , yi ) h+ h + h + ... 1! 2! 3!
(2)
Notice that if we approximate yi+1 by only keeping the f (xi , yi )h term and removing the rest, we get the Euler method. This inclusion of the first term is what makes the Euler method a first-order method. As we have truncated the remaining terms, the first of which is on the order of h2 , the local truncation error or error per step is also on the order of h2 . For smaller and smaller choices of h, the local truncation error
l.c
om
decreases with h2 . This is written as O(h2 ).
ai
Error on this order is clearly not sufficient, especially for the purposes of this investigation, as we need to
gm
solve for the Lorenz system which is notoriously ‘stiff’: a numerically unstable system unless very small step
1@
sizes are used [4]. Global error (which is O(hs ) where s is the order of the method) would be amplified
41
further in a stiff system. Thus, the Euler method would either result in an unusuable and highly inaccurate
ro
l2
solution or be computationally taxing.
ne
We then want a method of an order s such that the local truncation error O(hs+1 ) and the global error
ca
O(hs ) are decreased. This would involve using additional terms of our derived expression in (2), giving us
Second order Runge-Kutta method
Cl
4.1
as
tif
y
higher-order Runge-Kutta methods.
For a second-order method, we include the h2 term from our series in (2), yi+1 ≈ yi + f (xi , yi )h +
f 0 (xi , yi ) 2 h 2!
df (x, y) . This calculation is dx made trickier by the fact that y is a function of x in of itself. In theory, f (x, y(x)) could be written as a single however, we do not know what f 0 (xi , yi ) is. We then need to find, in general,
function g(x), however implicit differentiation is often tedious. Thus, differentiating f is best understood by exploiting the multivariate chain rule [5]. We take x to be a function of itself and y to be a function of x.
5
Downloaded from www.clastify.com by caners
When expressed symbolically, this is, X(x) = x y(x) = y which leads to ∂f (x, y) dX ∂f (x, y) dy df (x, y) = + dx ∂x dx ∂y dx df (x, y) ∂f (x, y) ∂f (x, y) dy = + . dx ∂x ∂y dx This turns the second order Runge-Kutta (hereafter referred to as RK2) into: ∂f (x, y) ∂f (x, y) dy + ∂x ∂y dx
om
h.
l.c
yi+1
1 = yi + f (xi , yi )h + 2!
ai
For obvious reasons, calculating partial derivatives in such a manner is still tedious. However, Runge and
1@
gm
Kutta managed to write RK2 in the form [6]
l2
41
yi+1 = yi + (a1 k1 + a2 k2 ) h
ne
ro
where
ca
k1 = f (xi , yi )
tif
y
k2 = f (xi + p1 h, yi + q11 k1 ) .
Cl
as
The derivation of these coefficients is highly non-trivial and beyond the scope of this investigation. When 1 1 a2 = , the coefficients obtained correspond to Heun’s method, which gives a1 = , p1 = 1, and q11 = 1. 2 2 This can be explained graphically through Figure 1.
Figure 1: Heun’s RK2 method [7]
6
Downloaded from www.clastify.com by caners
Thus, Heun’s method can be written as: yi+1 = yi +
1 1 k1 + k2 h 2 2
(3)
with k1 = f (xi , yi ) k2 = f (xi + h, yi + k1 h) Even now, with local and global error on the order of h3 and h2 respectively, RK2 is insufficient even with a small step-size h, as the graph shows. Thus, we must resort to the most popular Runge-Kutta method, the
Fourth order Runge-Kutta method
l.c
4.2
om
fourth-order RK4.
gm
ai
The fourth-order Runge-Kutta method is derived in a similar fashion to its second-order cousin. Using four
41
1 (k1 + 2k2 + 2k3 + k4 ) 6
(4)
l2
yi+1 = yi +
1@
terms of the series in (2) and finding the relevant coefficients [8] yields:
ne
ro
where the different slopes are:
Cl
as
tif
y
ca
k1 = hf (xi , yi ) h k2 = hf xi + , yi + 2 h k3 = hf xi + , yi + 2
k1 2 k2 2
k4 = hf (xi + h, yi + k3 )
With local and global error O(h5 ) and O(h4 ) respectively, RK4 provides excellent accuracy and little error even for relatively larger step sizes (e.g. h = 0.1 would give a global error on the order of 0.0001). For this very reason, RK4 serves as the basis for the state-of-the-art ode45 algorithm [9], providing excellent accuracy for differential equations.
5
Applying RK4 to the Lorenz system
Having explored the Runge-Kutta methods, we now apply them to the Lorenz system. The immediate problem that arises is the fact that the initial value problems Runge-Kutta attempts to solve for are not systems but rather a single first order ordinary differential equation. Thus, we must resort to vectors to keep 7
Downloaded from www.clastify.com by caners
track of the state of the system (x, y, z). From earlier, let us consider the Lorenz system more generally: dx = f1 (t, x, y, z) = σ(y − x) dt dy = f2 (t, x, y, z) = x(ρ − z) − y dt dz = f3 (t, x, y, z) = xy − βz dt with initial conditions x(t0 ) = x0 , y(t0 ) = y0 , z(t0 ) = z0 . We define the vectors ~y and ~f as follows:
and the initial state vector ~y(t0 ) as:
l2
41
1@
gm
x0 ~y(t0 ) = y0 . z0
ai
l.c
om
f1 ~f = f 2 f3
x ~y = y , z
ne
ro
We can then write our system as the following initial value problem in vector form: d~y ~ = f (t, ~y), dt
y
ca
~y(t0 ) = ~y0 .
Cl
as
tif
With this formulation, we now use the RK4 method as previously derived. Specifically, we have: ~yi+1 = ~yi +
1 ~ k1 + 2~k2 + 2~k3 + ~k4 6
and the slopes ~k as: ~k1 = h~f (ti , ~yi ) ~k1 h ti + , ~yi + 2 2
!
~k2 = h~f
!
~k3 = h~f
~k2 h ti + , ~yi + 2 2
~k4 = h~f (ti + h, ~yi + ~k3 ) All the vector operations involved in this method are trivial as they are limited to vector addition and scalar multiplication. Thus, to simulate the Lorenz system it is only necessary to write a function that computers
8
Downloaded from www.clastify.com by caners
~f (x, ~y). We will now write a program to achieve exactly this.
5.1
Programming the numerical solver
For the purposes of this investigation, the RK4 solver was written in the Python language, particularly for its support for vector operations. The written code is commented on and presented below: import numpy as np ; import matplotlib . pyplot as plt ; sigma = 10; rho = 28; beta = 8/3; # parameters y_vec_0 = np . array ([1 ,1 ,1]) ; # initial state vector h = 0.001; t_start = 0; t_end = 100; # step size , initial time , final time
om
def f_1 (t , x , y , z ) : # dx / dt return sigma * ( y - x )
l.c
def f_2 (t , x , y , z ) : # dy / dt return x * ( rho - z ) - y
gm
ai
def f_3 (t , x , y , z ) : # dz / dt return (( x * y ) - ( beta * z ) )
l2
41
1@
def f (t , y_vec ) : # the system as one vector ODE x = y_vec [0] y = y_vec [1] z = y_vec [2] return np . array ([ f_1 (t ,x ,y , z ) , f_2 (t ,x ,y , z ) , f_3 (t ,x ,y , z ) ])
ne
ro
def rk4 ( sigma , rho , beta , y_vec_0 , t_start , t_end , h ) : # numerical solver t_data = []; y_vec_data = []; x_data = []; y_data = []; z_data = []; # data storage
ca
y_i = y_vec_0 ; # setting the first y value as the initial value
h h h h
* * * *
f ( t_i , y_i ) f ( t_i + ( h /2) , y_i + ( k_1 /2) ) f ( t_i + ( h /2) , y_i + ( k_2 /2) ) f ( t_i + h , y_i + k_3 )
as
= = = =
Cl
k_1 k_2 k_3 k_4
tif
y
for t_i in np . arange ( t_start , t_end , h ) : t_data . append ( t_i ) # store current time in array y_vec_data . append ( y_i ) # store current y_vector = (x ,y , z ) in array
y_i = y_i + (1/6) *( k_1 + 2* k_2 + 2* k_3 + k_4 ) # updating the current y value return [ t_data , y_vec_data , x_data , y_data , z_data ];
Figure 2: Numerical solver for the Lorenz system in Python
dx dy dz , , and dt dt dt respectively. While f is the vector function ~f (x, ~y) and rk4 is the numerical solver itself, taking the parameters, Note that def is the declaration for a function in Python. f_1, f_2, f_3 correspond to
initial values, time interval, and step-size as arguments. Before applying our numerical solver any further, lt us first analyze the trajectories it produces. We will Lorenz’s original parameters with an arbitrary initial condition.
9
Downloaded from www.clastify.com by caners
Shown below is the the solution for the Lorenz system in the time interval t = [0, 100] with parameters as σ = 10, ρ = 28, β = 83 , and initial conditions ~y0 = [1, 1, 1].
40 30 20 10
z
20 0 10
x
20
y
−20
om
0
l.c
−10
(b) Solution on the xz plane
ai
(a) Solution in 3d phase space
1@
gm
Figure 3: Solution when σ = 10, ρ = 28, β = 38 , ~y0 = [1, 1, 1], h = 0.001
41
The Lorenz system clearly has two points around which the system evolves, almost as if the points were
l2
being ’pulled’ towards them. Such a point is known as an ’attractor’, and because the system chaotically
ne
ro
oscillates between them, it is considered to be a ’strange’ attractor.
ca
Even though the trajectory begins at [1, 1, 1], it is pulled towards the attractors and eventually tends towards
tif
y
the same strange behaviour around the attractors. This behaviour can also be validated by observing the
as
x, y, and z coordinates with respect to time. From t = 0 to t = 18 the trajectory tends towards the
Cl
20
x
10 0 −10
0
20
40
60
80
100
time t Figure 4: x vs. t Lorenz attractor until it starts undergoing the quasi-predictable oscillatory behaviour around each attractor. 10
Downloaded from www.clastify.com by caners
The ordered behaviour before t = 18 can be explained by Figure 3’s initial behaviour around the left-sided attractor, where thre trajectory undergoes ordered elipitical motion at first. With confirmation that our RK4 numerical solver is functional and appropriately solves for the Lorenz system, we can begin to numerically analyze its chaotic behaviour.
6
Chaos and the Lyupanov exponent
As explained earlier, the hallmark of chaos is high sensitivity to initial conditions. To attempt to quantify chaos, then, we can consider the motion of two trajectories with only a minute difference in their initial conditions. At first, it is expected that the trajectories will closely resemble each other. However, they will
l.c
om
quickly begin to diverge, often exponentially.
ai
~ 1 (t) and Z ~ 2 (t). At any time t, Consider two infinitisimally close trajectories given by their state vectors Z
1@
gm
~ between them is given by, the separation vector δ Z
41
~ ~ 2 (t) − Z ~ 1 (t) δ Z(t) =Z
ro
l2
~ ~ The magnitude of δ Z(t) is |δ Z(t)|. For this investigation, our state vectors for the Lorenz system are three
ne
dimensional, having components x, y, and z. The separation vector then has components [∆x, ∆y, ∆z].
ca
Thus, its magnitude can be expressed as:
p ∆x2 + ∆y 2 + ∆z 2
as
tif
y
~ |δ Z(t)| =
Cl
If the separation as a function of time between the two trajectories can be approximated linearly, we get: ~ ~ 0| |δ Z(t)| ≈ eλt |δ Z where λ is the Lyupanov exponent. This can be explained graphically through Figure 5.
Figure 5: Rate of separation of infinitisimally close trajectories [10]
11
Downloaded from www.clastify.com by caners
We can linearize the above equation by taking the natural logarithm of both sides, yielding: ~ ln |δ Z(t)| = λt Thus, if the natural logarithm of the magnitude of the separation vector is plotted with respect to time, its slope gives the Lyupanov exponent λ.
7
Program to calculate Lyupanov exponents
To compute Lyupanov exponents for a given a separation vector of either the parameters or initial values,
om
the following program was written.
l.c
import lrk4 as lib ; # importing our numerical solver for the Lorenz system
gm
ai
path1 = lib . rk4 ([10 , 28 , 8/3] , [1 , 1 , 1] , t_start , t_end , h ) # trajectory 1 path2 = lib . rk4 ([10 , 28 , 8/3] , [1 , 1 , 1 + 0.0000001] , t_start , t_end , h ) # trajectory 2 offset by 1E -7
41
1@
def magnitude ( vec ) : # function to return the magnitude of our state vectors return math . sqrt ( vec [0]**2 + vec [1]**2 + vec [2]**2)
ne
ro
l2
time = [] # data separation = [] # data
Cl
as
tif
y
ca
i = 0; for vec in path1 [1]: # iterate over every state vector of path1 vec1 = vec ; # state vector for trajectory 1 at time t vec2 = path2 [1][ i ]; # state vector for trajectory 2 at time t sep = np . subtract ( vec1 , vec2 ) ; # calculate separation vector time . append ( path2 [0][ i ]) ; # store current time separation . append ( magnitude ( sep ) ) ; # store the magnitude of the separtion i = i + 1; # move to the next state vector at time t +1 logsep = np . log ( separation ) ; # natural log of all separation magnitudes
Figure 6: Program to compute Lyupanov exponents
Repetitive code has been excluded from the program in Figure 6. Further, the above program was modified three times to compute Lyupanov exponents for a separation in the initial value ~y0 and the parameters σ, ρ, and β. All initial values and parameters were given initial separations equal to 1 × 10−7 . The data in logsep array, the linearized separation magnitudes, with respect to time was plotted and analyzed to find the Lyupanov exponent of each. 12
Downloaded from www.clastify.com by caners
8
Lyupanov exponent analysis
The Lyupanov exponent for a separation in the initial state vector is shown in Figure 7. As observed, the
5
ln |δZ(t)|
0 −5 −10
om
−15 −20 20
30 40 time t
50
ai
10
60
70
gm
0
l.c
ln |δZ(t)| = 0.693t − 29.9
41
1@
Figure 7: Determination of λ = 0.693
l2
log of the separation steadily increases until it becomes constant at around t = 30. This again corresponds
ne
ro
to the system tending towards the Lorenz attractor and oscillating about each fixed point attractor. The
ca
tool numpy was used to best fit the data for which t < 30, shown in Figure 7. Its gradient is 0.693, which is
as
Cl
5
tif
y
also the value for the average Lyupanov exponent. The same procedure is repeated for a separation in σ.
0
ln |δZ(t)|
−5 −10 −15 −20 −25 ln |δZ(t)| = 0.616t − 16.949
−30 0
10
20
30 40 time t
50
60
Figure 8: λ = 0.616 for a separation in the value of σ
13
70
Downloaded from www.clastify.com by caners
For this case, we have a similar graph that shows the separation between each trajectory growing abnormally quickly for t < 0.2, after which its growth is becomes more normal and linear. This initial data has been ignored, the reason for which is explained in section 9. The average Lyupanov exponent for a separation in σ is similar at λ = 0.616, which might indicate that the Lorenz system is less sensitive to changes in the value of σ as compared to changes in the value of its initial conditions. We will now consider changes in ρ and β.
5 0
om l.c ai
−10
gm
ln |δZ(t)|
−5
1@
−15
ln |δZ(t)| = 0.532t − 16.048
10
20
30 40 time t
50
60
70
ca
ne
0
ro
l2
41
−20
Cl
5
as
tif
y
Figure 9: λ = 0.532 for a separation in the value of ρ
ln |δZ(t)|
0 −5 −10 −15 −20
ln |δZ(t)| = 0.595t − 14.515 0
10
20
30 40 time t
50
60
Figure 10: λ = 0.595 for a separation in the value of β
14
70
Downloaded from www.clastify.com by caners
It appears that this abnormal spike in the initial time interval occurs only for a separation in the initial parameters, rather than conditions. Also, it appears that the Lorenz system is even less sensitive to the value of ρ and β, as their Lyupanov exponents are 0.532 and 0.595 respectively. Thus, we have successfully investigated the Lorenz system’s chaotic behaviour and compared several possible separations in initial parameters and conditions, each yielding different but close-by measures of chaos in the Lyupanov exponent.
Evaluation • Despite limitations in computational power and a relatively larger step size used, our linear approximations yields us the following Lyupanov exponents: λ = 0.693, 0.616, 0.532, 0.595. If we compare this
om
to the maximal Lyupanov exponent, which is computed over a large time interval and for even smaller
l.c
intial separation vectors, defined by,
gm
ai
~ 1 |Z(t)| ln t→∞ Z ~ 0| ~ 0 →0 t |Z
λmax = lim lim
1@
of the Lorenz system, where λmax = 0.9056 [11] , our approximations are useful as they do not exceed
41
this maximum Lyupanov exponent, while also being within a reasonable range to the literature value.
ro
l2
In fact, we can estimate a crude value for the total error in our investigation by calculating our average
ne
Lyupanov exponent to be λavg = 0.609 and:
ca
λmax − λavg 0.9056 − 0.6090 = 32.75% × 100% = λmax 0.9056
tif
y
error =
as
• The fourth-order Runge-Kutta method, while the most popular of the RK methods, is not the best, especially when computing ability is limited. A method that uses an adaptive time step, such as ode45
Cl
9
could have yielded far more accurate results. This shortcoming in the investigation is made even more glaring when considering the difference between using a time-step of h = 0.001 vs h = 0.0001, which leads to a large difference in the final state vector at t = 100. Thus, even if the global error is O(h4 ), it is still large. • The above point is compounded by the fact that the Lorenz system is a highly stiff system, being numerically unstable. Most accessible solvers for ordinary differential equations have extremely low accuracies for such problems, even ode45 and rk4. We could have instead used a more advanced predictorcorrector method, which predicts the next y value, much like we currently are, but also has a second-step where results from other methods are used to refine (correct) the initial approximation.
15
Downloaded from www.clastify.com by caners
• The initial spikes observed in Figure 7, 8, and 9 have probably influenced the best fit approximation. This would reduce the investigation’s accuracy as this spike is most likely arising from an undefined operation. Specifically, for changes in the parameters, there is no initial separation vector, as ~y0 is the same for both trajectories—they only differ in their values of σ, ρ, or β. Thus, the program for computing Lyupanov exponents eventually attempts to computes ln 0 when linearizing the initial separation vector, which is probably interpreted as an infinitely large but negative value.
10
Conclusion
This mathematical investigation considered the Lorenz system’s chaotic behaviour for separations in initial
om
values and parameters.
l.c
The Lorenz attractor was successfully solved for at a base case, for which two fixed point attractors were
gm
ai
clearly along with its characteristic chaotic oscillation between each attractor.
1@
Lyupanov exponents were used to quantify chaos, an exceptional sensitivity to initial conditions. These
41
Lyuapnov exponents showed that the Lorenz system was most sensitive to perturbations in the initial condi-
ro
l2
tion vector ~y0 , while perturbations in the parameters σ, ρ, and β were relatively less sensitive. Nevertheless,
ne
each Lyupanov exponent was close to each other and most importantly did not exceed the value for the
ca
maximal Lyupanov exponent given in literature. Thus, the investigation has been adequately undertaken.
tif
y
In order to do so, I learned new numerical methods, other than the Euler method I’d already learned in class,
as
to solve not just differential equations but systems of differential equations. I also appreciated where these
Cl
numerical methods come from, with a derivative of the Euler method, RK2, and RK4 from Taylor series expansions. Further, I have understood the concept of chaos with greater rigor, having learned of its measure in the Lyuapnov exponent. I was able to apply my skill in programming to write my own implemention of RK4 and an implementation for computing Lyupanov exponents. My skillset as a mathematican has increased greatly and I have learned about advanced techniques in calculus. Given that the Lorenz system, in all its complexity, is a relatively simpler model of convection, I have been able to comprehend just how chaotic weather must be in real life.
16
Downloaded from www.clastify.com by caners
11
Reference list
[1] C. Hoefer, “Causal determinism,” Stanford Encyclopedia of Philosophy, 21-Jan-2016. [Online]. Available: https://plato.stanford.edu/entries/determinism-causal/ [Accessed: 16-Aug-2022].
[2] J. Hateley, “The lorenz system - UC santa barbara,” The Lorenz System. [Online]. Available: https://web.math.ucsb.edu/ ley/paper/lorenz.pdf. [Accessed: 21-Aug-2022]. [3] E. N. Lorenz, “Deterministic nonperiodic flow,” The Theory of Chaotic Attractors, pp. 25–36, 2004. [4] D. W. Harder, J. Rodgers, and Design - UW Web Operations - Jesse Rodgers (
[email protected]), “Background,” Topic 14.6: Stiff Differential Equations. [Online]. Available: https://ece.uwaterloo.ca/ dwhard-
om
er/NumericalAnalysis/14IVPs/stiff/complete.html. [Accessed: 24-Aug-2022].
ai
l.c
[5] Libretexts, “14.5: The chain rule for multivariable functions,” Mathematics LibreTexts, 24-Apr-2022.
gm
[Online]. Available: https://math.libretexts.org/Bookshelves/Calculus/Book [Accessed: 23-Aug 2022].
1@
[6] A. Iserles, A first course in the numerical analysis of differential equations. Cambridge: Cambridge
l2
41
University Press, 2014.
ne
ro
[7] Viswanath, Divakar. Lyapunov exponents from random Fibonacci sequences to the Lorenz equations.
Cl
as
tif
y
ca
Doctoral dissertation. Cornell University, 1998.
17