Package org.hipparchus.ode
Interface ODEJacobiansProvider
- All Superinterfaces:
NamedParameterJacobianProvider
,OrdinaryDifferentialEquation
,Parameterizable
public interface ODEJacobiansProvider
extends OrdinaryDifferentialEquation, NamedParameterJacobianProvider
Interface expanding
first order
differential equations
in order to compute exactly the Jacobian
matrices for partial derivatives equations
.-
Method Summary
Modifier and TypeMethodDescriptiondouble[][]
computeMainStateJacobian
(double t, double[] y, double[] yDot) Compute the Jacobian matrix of ODE with respect to state.default double[]
computeParameterJacobian
(double t, double[] y, double[] yDot, String paramName) Compute the Jacobian matrix of ODE with respect to one parameter.Get the names of the supported parameters.default boolean
isSupported
(String name) Check if a parameter is supported.Methods inherited from interface org.hipparchus.ode.OrdinaryDifferentialEquation
computeDerivatives, getDimension, init
-
Method Details
-
computeMainStateJacobian
double[][] computeMainStateJacobian(double t, double[] y, double[] yDot) throws MathIllegalArgumentException, MathIllegalStateException Compute the Jacobian matrix of ODE with respect to state.- Parameters:
t
- current value of the independent time variabley
- array containing the current value of the main state vectoryDot
- array containing the current value of the time derivative of the main state vector- Returns:
- Jacobian matrix of the ODE w.r.t. the main state vector
- Throws:
MathIllegalStateException
- if the number of functions evaluations is exceededMathIllegalArgumentException
- if arrays dimensions do not match equations settings
-
getParametersNames
Get the names of the supported parameters.The default implementation has no parameters at all.
- Specified by:
getParametersNames
in interfaceParameterizable
- Returns:
- parameters names
- See Also:
-
isSupported
Check if a parameter is supported.Supported parameters are those listed by
Parameterizable.getParametersNames()
.The default implementation supports no parameters at all.
- Specified by:
isSupported
in interfaceParameterizable
- Parameters:
name
- parameter name to check- Returns:
- true if the parameter is supported
- See Also:
-
computeParameterJacobian
default double[] computeParameterJacobian(double t, double[] y, double[] yDot, String paramName) throws MathIllegalArgumentException Compute the Jacobian matrix of ODE with respect to one parameter.If the parameter does not belong to the collection returned by
Parameterizable.getParametersNames()
, the Jacobian will be set to 0, but no errors will be triggered.The default implementation supports no parameters at all.
- Specified by:
computeParameterJacobian
in interfaceNamedParameterJacobianProvider
- Parameters:
t
- current value of the independent time variabley
- array containing the current value of the main state vectoryDot
- array containing the current value of the time derivative of the main state vectorparamName
- name of the parameter to consider- Returns:
- Jacobian matrix of the ODE with respect to the parameter
- Throws:
MathIllegalArgumentException
- if arrays dimensions do not match equations settings
-