protocol

ode_solver_protocol

Protocol for non-stiff initial-value ODE solvers.

Availability:
logtalk_load(numerical_analysis(loader))
Author: Paulo Moura
Version: 1:0:0
Date: 2026-09-04
Compilation flags:
static
Dependencies:
(none)
Remarks:
(none)
Inherited public predicates:
(none)

Public predicates

solve/4

Solves an initial-value problem using default options.

Compilation flags:
static
Template:
solve(InitialTime,InitialState,FinalTime,Trajectory)
Mode and number of proofs:
solve(+number,+list(number),+number,-list(pair)) - one_or_error
Exceptions:
An input argument is a variable:
instantiation_error
A time is not a number:
type_error(number,Time)
InitialState is not a non-empty numeric list:
domain_error(ode_state,InitialState)
The system returns an invalid derivative:
domain_error(ode_derivative,Derivative)

solve/5

Solves an initial-value problem using the given options.

Compilation flags:
static
Template:
solve(InitialTime,InitialState,FinalTime,Trajectory,Options)
Mode and number of proofs:
solve(+number,+list(number),+number,-list(pair),+list(compound)) - one_or_error
Exceptions:
An input argument or Options is a variable:
instantiation_error
A time is not a number:
type_error(number,Time)
InitialState is not a non-empty numeric list:
domain_error(ode_state,InitialState)
The system returns an invalid derivative:
domain_error(ode_derivative,Derivative)
Options is a variable:
instantiation_error
Options is neither a variable nor a list:
type_error(list,Options)
An element Option of the list Options is a variable:
instantiation_error
An element Option of the list Options is neither a variable nor a compound term:
type_error(compound,Option)
An element Option of the list Options is a compound term but not a valid option:
domain_error(option,Option)

solve/6

Solves an initial-value problem and returns run statistics using the given options.

Compilation flags:
static
Template:
solve(InitialTime,InitialState,FinalTime,Trajectory,Statistics,Options)
Mode and number of proofs:
solve(+number,+list(number),+number,-list(pair),-list(compound),+list(compound)) - one_or_error
Exceptions:
An input argument or Options is a variable:
instantiation_error
A time is not a number:
type_error(number,Time)
InitialState is not a non-empty numeric list:
domain_error(ode_state,InitialState)
The system returns an invalid derivative:
domain_error(ode_derivative,Derivative)
Options is a variable:
instantiation_error
Options is neither a variable nor a list:
type_error(list,Options)
An element Option of the list Options is a variable:
instantiation_error
An element Option of the list Options is neither a variable nor a compound term:
type_error(compound,Option)
An element Option of the list Options is a compound term but not a valid option:
domain_error(option,Option)

Protected predicates

(none)

Private predicates

(none)

Operators

(none)