class ParameterJacobianWrapper extends java.lang.Object implements ParameterJacobianProvider
Modifier and Type | Field and Description |
---|---|
private FirstOrderDifferentialEquations |
fode
Main ODE set.
|
private java.util.Map<java.lang.String,java.lang.Double> |
hParam
Steps for finite difference computation of the Jacobian df/dp w.r.t.
|
private ParameterizedODE |
pode
Raw ODE without Jacobian computation skill to be wrapped into a ParameterJacobianProvider.
|
Constructor and Description |
---|
ParameterJacobianWrapper(FirstOrderDifferentialEquations fode,
ParameterizedODE pode,
ParameterConfiguration[] paramsAndSteps)
Wrap a
ParameterizedODE into a ParameterJacobianProvider . |
Modifier and Type | Method and Description |
---|---|
void |
computeParameterJacobian(double t,
double[] y,
double[] yDot,
java.lang.String paramName,
double[] dFdP)
Compute the Jacobian matrix of ODE with respect to one parameter.
|
java.util.Collection<java.lang.String> |
getParametersNames()
Get the names of the supported parameters.
|
boolean |
isSupported(java.lang.String name)
Check if a parameter is supported.
|
private final FirstOrderDifferentialEquations fode
private final ParameterizedODE pode
private final java.util.Map<java.lang.String,java.lang.Double> hParam
public ParameterJacobianWrapper(FirstOrderDifferentialEquations fode, ParameterizedODE pode, ParameterConfiguration[] paramsAndSteps)
ParameterizedODE
into a ParameterJacobianProvider
.fode
- main first order differential equations setpode
- secondary problem, without parameter Jacobian computation skillparamsAndSteps
- parameters and steps to compute the Jacobians df/dpJacobianMatrices.setParameterStep(String, double)
public java.util.Collection<java.lang.String> getParametersNames()
getParametersNames
in interface Parameterizable
Parameterizable.isSupported(String)
public boolean isSupported(java.lang.String name)
Supported parameters are those listed by Parameterizable.getParametersNames()
.
isSupported
in interface Parameterizable
name
- parameter name to checkParameterizable.getParametersNames()
public void computeParameterJacobian(double t, double[] y, double[] yDot, java.lang.String paramName, double[] dFdP) throws DimensionMismatchException, MaxCountExceededException
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.
computeParameterJacobian
in interface ParameterJacobianProvider
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 considerdFdP
- placeholder array where to put the Jacobian matrix of the
ODE with respect to the parameterDimensionMismatchException
- if arrays dimensions do not match equations settingsMaxCountExceededException
- if the number of functions evaluations is exceededCopyright (c) 2003-2016 Apache Software Foundation