Via this page you obtain a centre manifold of your specified system of ordinary differential equations (ODE) or delay differential equations (DDE), when the ODE/DDE has fast and centre modes. The centre modes may be slow, as in a pitchfork bifurcation, or oscillatory, as in a Hopf bifurcation, or some more complicated superposition. In the case when the fast modes all decay, the centre manifold supplies you with a faithful large time model of the dynamics.

For example, this web page could help you analyse the long time dynamics of the system \[ \frac{d\vec u}{dt} =\left[\begin{array}{ccc} 2&1&2\\ 1&-1&1\\ -3&-1&-3 \end{array}\right] \vec u +\varepsilon \left[\begin{array}{c}u_2u_3\\ -u_1u_3\\ -u_1u_2\end{array}\right]. \] As this system is already entered for you, just enter the magic word, then click on the Submit button to see.

The bottom of this web page lists further examples.

For example, you can obtain the equivalent modulation equations corresponding to a given set of ODE/DDEs that have one or more oscillatory modes (a Hopf bifurcation for example). The analysis provides you with equations for the evolution of the complex amplitudes of the oscillators. This approach is better than averaging/homogenisation.

For example, you can construct sub-centre manifolds, such as slow manifolds among fast oscillations.

FYI: the source code is now available for collaborative development via the folder CentreManifold of a Github repository

Non-autonomous ODEs? These are significantly more difficult, but are analysed via the web page Normal form of stochastic or deterministic multiscale differential equations.

Submit your system of ODE/DDEs for analysis

Fill in the fields below for your ODE/DDE system:
  • the n variables of the system must be denoted u1,u2,...,un;
  • any time tau delayed variables must be denoted u1(tau),...,un(tau) for any delay tau;
  • specify the ODE/DDEs of the dynamical system \(\frac{d\vec u}{dt}=\vec f(\vec u)\) by specifying the `nonlinear' function \(\vec f(\vec u)\) which should have an equilibrium at the origin;
  • the centre manifold is constructed to be tangential to the centre subspace of the origin which is defined by you specifying the m eigenvalues and m eigenvectors, \(\vec e_j\), of the m zero and/or pure imaginary eigenvalues of the matrix \(L\) of the linearisation about the origin;
  • the centre manifold is parametrised by you also specifying m vectors, \(\vec z_j\), which are to be orthogonal to updates to the centre manifold---these vectors are to be the eigenvectors of the m zero and/or pure imaginary eigenvalues of the adjoint of the matrix \(L\);
  • for the moment, the ODE/DDEs must be multinomial in form;
  • Use the syntax of Reduce for the algebraic expressions

Enter the magic word "a z a l e a" into

Description Specify your ODEs
RHS function the nonlinear vector function: parentheses around a comma separated list of multinomial expressions.
centre frequencies a comma separated list of m (real) frequencies (the imaginary part of centre eigenvalues); zero for a slow mode.
centre subspace m basis vectors: must be eigenvectors of \(L\) corresponding to the m centre eigenvalues: comma separated list of eigenvectors; each eigenvector is parentheses around comma separated numbers.
adjoint subspace m basis vectors: comma separated list of vectors; each vector is parentheses around comma separated numbers; should be eigenvectors of the adjoint matrix corresponding to the m centre eigenvalues.
Order of error of the analysis in the `nonlinear' terms on the RHS.
Print expressions with the following variables factored---this does not affect the analysis, but must not be empty.

Wait a minute or two

The analysis may take minutes after submitting. Be patient. Read the following. Please inform me of any problems.

In the results

  • The centre manifold is parametrised by m slow variables s(j).
  • Each such slow variable s(j) is either a 'real' slow variable or a complex amplitude of an oscillatory mode \(e^{i\omega t}\) for some frequency \(\omega\).
  • In a real system of ODE/DDEs, the complex amplitudes occur in complex conjugate pairs.
  • I use the variable small (also appearing as \(\varepsilon\)) to control and order the asymptotic expansion: introducing small into your definition of the `nonlinear' function empowers finer control of the asymptotics. For example, in the delay ODE example the parameter \(\delta\) is made 'small'. Analogously, cubic terms may best be made `small' when added to quadratic terms.
  • The code does cater for degenerate cases involving generalised eigenvectors. But the code does this by modifying \(L\), the matrix of the linearisation at the origin. The code attempts to make the smallest modification it can to remove the degeneracy, and flags the change with variable 'small' so you recover the original with \(\verb|small|=1\). Be careful that the results are relevant to what you want.
  • Similarly, the code tries to make all, except the nominated frequencies, of \(\vec z^*L\vec e\) to be 'small', and also makes \(\vec f(\vec 0)\) `small'. Be very careful that the results are relevant to what you want.
  • For explanations and relevant theory, see my book Modelling emergent dynamics in complex systems, or Low- dimensional modelling of dynamics via computer algebra, or the classic Simple examples of the derivation of amplitude equations for systems of equations possessing bifurcations.
  • In the case of a slow manifold, the code also computes a basis of normal vectors to the isochrons (actually normal to their tangent space at the slow manifold). Use these basis vectors:
    • to project initial conditions onto the slow manifold;
    • to project non-autonomous forcing onto the slow evolution;
    • to predict the consequences of modifying the original system; and
    • in uncertainty quantification to quantify effects on the model of uncertainties in the original system.
    For explanations and relevant theory, see Computer algebra derives correct initial conditions for low-dimensional dynamical models, or the classic Appropriate initial conditions for asymptotic descriptions of the long term evolution of dynamical systems.

Other example systems of ODEs/DDEs

Double Hopf bifurcation in a delay DE

This example models the double Hopf bifurcation that occurs in the coupled delay differential equations \(\frac{dx}{dt}=-4(1+\delta)^2 \left[\frac38y(t) +\frac58 y(t-\pi) \right]\), and \(\frac{dy}{dt} =\left[1+y(t)\right] x(t)\) as parameter \(\delta\) crosses zero. Define \(u_1(t)=x(t)\) and \(u_2(t)=y(t)\); denoted as u1 and u2. The time delayed variable \(y(t-\pi)\) is denoted u2(pi). Copy and paste the following entries.
Description Delay ODE example
RHS function (-4*(1+small*delta)^2*(5/8*u2 +3/8*u2(pi)), +u1*(1+u2))
Centre frequencies 1,2,-1,-2
Centre subspace (1,-i), (1,-i/2), (1,+i), (1,+i/2)
Adjoint subspace (1,-i), (1,-2*i), (1,+i), (1,+2*i)
Order of error 3
Print small,delta
The web service finds that in terms of complex amplitudes \(s_1(t)\), \(s_2(t)\) and their complex conjugates \(\bar s_1(t)\) and \(\bar s_2(t)\), the centre manifold \[ \vec u=\left[\begin{array}{c} e^{it}s_1 +e^{i2t}s_2 +e^{-it}\bar s_1 +e^{-i2t}\bar s_2\\ \textstyle -ie^{it}s_1 -\frac12ie^{i2t}s_2 +ie^{-it}\bar s_1 +\frac12ie^{-i2t}\bar s_2 \end{array}\right] \] to error \({\cal O}(\varepsilon)\). The corresponding evolution on the centre manifold is \[\begin{array}{l} ds_1/dt= \varepsilon(-0.04-0.09i)s_2\bar s_1 +{\cal O}(\varepsilon^2)\\ ds_2/dt= \varepsilon(0.42-0.49i)s_1^2 +{\cal O}(\varepsilon^2). \end{array}\]

Metastability in a four state Markov chain

Variable \(\varepsilon\) characterises the rate of exchange between metastable states. \[\begin{array}{l} &\dot u_{1}=-\varepsilon u_{1}+u_{2} \\&\dot u_{2}=\varepsilon \big(u_{3}-u_{2}+u_{1}\big)-u_{2} \\&\dot u_{3}=\varepsilon \big(u_{4}-u_{3}+u_{2}\big)-u_{3} \\&\dot u_{4}=-\varepsilon u_{4}+u_{3} \end{array} \] The linear perturbation terms gets multiplied by small again. Copy and paste the following.
Description ODE example
RHS function (u2,-u2,-u3,u3)) +small*(-u1, +u1-u2+u3, +u2-u3+u4, -u4)
Centre frequencies 0,0
Centre subspace (0,0,0,1), (1,0,0,0)
Adjoint subspace (0,0,1,1), (1,1,0,0)
Order of error 5
Print small
Then \(s_1\) and \(s_2\) represent the probabilities of being in states one and two, and in three and four, respectively.

Nonlinear normal modes

Renson (2012) explored finite element construction of the nonlinear normal modes of a pair of coupled oscillators. Defining two new variables one of their example systems is \[\begin{array}{rcl} &&\dot x_1=x_3\,, \\&&\dot x_2=x_4\,, \\&&\dot x_3=-2x_1+x_2-\frac12x_1^3+\frac3{10}(-x_3+x_4)\,, \\&&\dot x_4=x_1-2x_2+\frac3{10}(x_3-2x_4)\,. \end{array}\] Copy and paste the following code which makes the linear damping to be effectively small (which then makes it small squared); consequently scale the smallness of the cubic nonlinearity.
Description ODE example
RHS function ( u3, u4, -2*u1 +u2 -small*u1^3/2 +small*3/10*(-u3+u4), u1 -2*u2 +small*3/10*(u3 -2*u4) )
Centre frequencies 1, -1, sqrt(3), -sqrt(3)
Centre subspace (1,1,+i,+i), (1,1,-i,-i), (1,-1,i*sqrt(3),-i*sqrt(3)), (1,-1,-i*sqrt(3),i*sqrt(3))
Adjoint subspace (1,1,+i,+i), (1,1,-i,-i), (-i*sqrt(3),+i*sqrt(3),1,-1), (+i*sqrt(3),-i*sqrt(3),1,-1)
Order of error 3
Print small
The square root frequencies do not cause any trouble (although one may need to reformat the LaTeX of the cis operator). In the model, observe that \(s_1=s_2=0\) is invariant, as is \(s_3=s_4=0\). These are the nonlinear normal modes.

Slow manifold among fast oscillations

Lorenz (1986) explored a five equation toy model to illustrate the quasi-geostrophic approximation and its slow manifold. \[\begin{array}{rcl} &&\dot u=-vw+bvz\,, \\&&\dot v=uw-buz\,, \\&&\dot w=-uv\,, \\&&\dot x=-z \\&&\dot z=x+buv\,. \end{array}\] Copy and paste the following code to find the 3D slow manifold among the rapid oscillations of \(x,z\).
Description ODE example
RHS function (-u2*u3+b*u2*u5, +u1*u3 -b*u1*u5, -u1*u2, -u5, u4 +b*u1*u2)
Centre frequencies 0,0,0
Centre subspace (1,0,0,0,0), (0,1,0,0,0), (0,0,1,0,0)
Adjoint subspace (1,0,0,0,0), (0,1,0,0,0), (0,0,1,0,0)
Order of error 5
Print small,b
Alternatively, find that there is not a coordinate transform that separates the system into a normal form of separated fast and slow modes (Cox and Roberts. Initialisation and the quasi-geostrophic slow manifold. http://arXiv.org/abs/nlin.CD/0303011, 1994.) Copy and paste the following to find that, as well as the slow modes modulating the fast oscillations, the fast oscillations drive a slow response in\(~w\).
Description ODE example
RHS function (-u2*u3 +b*u2*u5, +u1*u3 -b*u1*u5, -u1*u2, -u5, u4 +b*u1*u2)
Centre frequencies 0, 0, 0, 1, -1
Centre subspace (1,0,0,0,0), (0,1,0,0,0), (0,0,1,0,0), (0,0,0,1,-i), (0,0,0,1,+i)
Adjoint subspace (1,0,0,0,0), (0,1,0,0,0), (0,0,1,0,0), (0,0,0,1,-i), (0,0,0,1,+i)
Order of error 4
Print small,b

If you like this web page, please link to it so others can find it more easily.