Library of polynomial ODEs¶
Library of commonly used or famous polynomial ODE systems.
The following functions are available:
arrowsmith_and_place_fig_3_5e_page_79() |
Nonlinear two-dimensional system with an hyperbolic fixed point |
biomodel_2() |
Nine-dimensional polynomial ODE form a biological model |
chen_seven_dim() |
Seven-dimensional nonlinear system of quadratic order |
cubic_scalar() |
Scalar ODE with a cubic term |
quadratic_scalar() |
Scalar ODE with a quadratic term |
vanderpol() |
Van der Pol oscillator |
AUTHOR:
- Marcelo Forets (May 2017)
-
carlin.library.
arrowsmith_and_place_fig_3_5e_page_79
()¶ Nonlinear two-dimensional system with an hyperbolic fixed point.
It is defined as:
\[\begin{split}\begin{aligned} x' &= x^2+(x+y)/2 \\ y' &= (-x+3y)/2 \end{aligned}\end{split}\]Taken from p. 79 of the book by Arrowsmith and Place, Dynamical Systems: Differential Equations, maps and chaotic behaviour.
-
carlin.library.
biomodel_2
()¶ This is a nine-dimensional polynomial ODE used as benchmark model in the Flow star tool.
The model is adapted from E. Klipp, R. Herwig, A. Kowald, C. Wierling, H. Lehrach. Systems Biology in Practice: Concepts, Implementation and Application. Wiley-Blackwell, 2005.
-
carlin.library.
chen_seven_dim
(u=0)¶ This is a seven-dimensional nonlinear system of quadratic order.
It appears as
'example_nonlinear_reach_04_sevenDim_nonConvexRepr.m'
in the tool CORA 2016, in the examples for continuous nonlinear systems.There is an independent term, \(u\), in the fourth equation with value \(2.0\) that has been neglected here for convenience (hence we take \(u=0\) by default).
-
carlin.library.
cubic_scalar
(a=1, b=1)¶ A scalar ODE with a cubic term.
It is defined as:
\[x'(t) = ax(t) + bx(t)^3\]where \(a\) and \(b\) are paremeters of the ODE.
EXAMPLES:
sage: from carlin.library import cubic_scalar sage: C = cubic_scalar(-1, 1) sage: C.funcs() [x0^3 - x0]
Compute the Carleman embedding truncated at order \(N=4\):
sage: from carlin.transformation import get_Fj_from_model, truncated_matrix sage: Fj = get_Fj_from_model(C.funcs(), C.dim(), C.degree()) sage: matrix(truncated_matrix(4, *Fj, input_format="Fj_matrices").toarray()) [-1.0 0.0 1.0 0.0] [ 0.0 -2.0 0.0 2.0] [ 0.0 0.0 -3.0 0.0] [ 0.0 0.0 0.0 -4.0]
-
carlin.library.
quadratic_scalar
(a=1, b=1)¶ A scalar ODE with a quadratic term.
It is defined as:
\[x'(t) = ax(t) + bx(t)^2\]where \(a\) and \(b\) are paremeters of the ODE.
EXAMPLES:
sage: from carlin.library import quadratic_scalar sage: Q = quadratic_scalar(); Q A Polynomial ODE in n = 1 variables sage: Q.funcs() [x0^2 + x0]
Compute the Carleman embedding truncated at order \(N=4\):
sage: from carlin.transformation import get_Fj_from_model, truncated_matrix sage: Fj = get_Fj_from_model(Q.funcs(), Q.dim(), Q.degree()) sage: matrix(truncated_matrix(4, *Fj, input_format="Fj_matrices").toarray()) [1.0 1.0 0.0 0.0] [0.0 2.0 2.0 0.0] [0.0 0.0 3.0 3.0] [0.0 0.0 0.0 4.0]
-
carlin.library.
vanderpol
(mu=1, omega=1)¶ The Van der Pol oscillator is a non-conservative system with non-linear damping.
It is defined as:
\[\begin{split}\begin{aligned} x' &= y \\ y' &= -\omega^2 x - (x^2 - 1) \mu y \end{aligned}\end{split}\]where \(\omega\) is the natural frequency and \(\mu\) is the damping parameter. For additional information see the Wikipedia article Van_der_Pol_oscillator.
EXAMPLES:
sage: from carlin.library import vanderpol sage: vanderpol(SR.var('mu'), SR.var('omega')).funcs() [x1, -omega^2*x0 - (x0^2 - 1)*mu*x1]