impl — differential algebraic equation
y=impl([type],y0,ydot0,t0,t [,atol, [rtol]],res,adda [,jac])
real vectors or matrix (initial conditions).
real scalar (initial time).
real vector (times at which the solution is computed).
externals (function or character string or list).
string 'adams'
or 'stiff'
real scalar or real vector of the same size as as y
.
external (function or character string or list).
Solution of the linear implicit differential equation
A(t,y) dy/dt=g(t,y), y(t0)=y0
t0
is the initial instant, y0
is the vector of initial conditions
Vector ydot0
of the time derivative of y
at t0
must
also be given.
r
The input res
is an external i.e. a function with
specified syntax, or the name a Fortran subroutine or a C function
(character string) with specified calling sequence or a list.
If res
is a function, its syntax must be as follows:
r = res(t,y,ydot)
where t
is a real scalar (time) and y
and ydot
are
real vector (state and derivative of the state).
This function must return r=g(t,y)-A(t,y)*ydot
.
If res
is a character string, it refers to the name of a Fortran
subroutine or a C function. See
SCIDIR/routines/default/Ex-impl.f
for an example to do that.
res
can also be a list: see the help of ode
.
The input adda
is also an external.
If adda
is a function, its syntax must be as follows:
r = adda(t,y,p)
and it must return r=A(t,y)+p
where p
is a matrix to be
added to A(t,y)
.
If adda
is a character string, it refers to the name of a Fortran
subroutine or a C function. See
SCIDIR/routines/default/Ex-impl.f
for an example to do that.
adda
can also be a list: see the help of ode
.
The input jac
is also an external.
If jac
is a function, its syntax must be as follows:
j = jac(t,y,ydot)
and it must return the Jacobian of r=g(t,y)-A(t,y)*ydot
with
respect to y
.
If jac
is a character string, it refers to the name of a Fortran
subroutine or a C function. See
SCIDIR/routines/default/Ex-impl.f
for an example to do that.
jac
can also be a list: see the help of ode
.