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 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 variable
      y - array containing the current value of the main state vector
      yDot - 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 exceeded
      MathIllegalArgumentException - if arrays dimensions do not match equations settings
    • getParametersNames

      default List<String> getParametersNames()
      Get the names of the supported parameters.

      The default implementation has no parameters at all.

      Specified by:
      getParametersNames in interface Parameterizable
      Returns:
      parameters names
      See Also:
    • isSupported

      default boolean isSupported(String name)
      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 interface Parameterizable
      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 interface NamedParameterJacobianProvider
      Parameters:
      t - current value of the independent time variable
      y - array containing the current value of the main state vector
      yDot - array containing the current value of the time derivative of the main state vector
      paramName - 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