Go to the first, previous, next, last section, table of contents.

Defining the ODE System

The routines solve the general @math{n}-dimensional first-order system,

for @math{i = 1, \dots, n}. The stepping functions rely on the vector of derivatives @math{f_i} and the Jacobian matrix, @math{J_{ij} = df_i(t,y(t)) / dy_j}. A system of equations is defined using the gsl_odeiv_system datatype.

Data Type: gsl_odeiv_system
This data type defines a general ODE system with arbitrary parameters.

int (* function) (double t, const double y[], double dydt[], void * params)
This function should store the elements of @math{f(t,y,params)} in the array dydt, for arguments (t,y) and parameters params
int (* jacobian) (double t, const double y[], double * dfdy, double dfdt[], void * params);
This function should store the elements of @math{f(t,y,params)} in the array dfdt and the Jacobian matrix @c{$J_{ij}$} @math{J_{ij}} in the the array dfdy regarded as a row-ordered matrix J(i,j) = dfdy[i * dim + j] where dim is the dimension of the system.
size_t dimension;
This is the dimension of the system of equations
void * params
This is a pointer to the arbitrary parameters of the system.

Go to the first, previous, next, last section, table of contents.