private static class JacobianMatrices.MainStateJacobianWrapper extends java.lang.Object implements MainStateJacobianProvider
Modifier and Type | Field and Description |
---|---|
private double[] |
hY
Steps for finite difference computation of the jacobian df/dy w.r.t.
|
private FirstOrderDifferentialEquations |
ode
Raw ODE without jacobians computation skill to be wrapped into a MainStateJacobianProvider.
|
Constructor and Description |
---|
JacobianMatrices.MainStateJacobianWrapper(FirstOrderDifferentialEquations ode,
double[] hY)
Wrap a
FirstOrderDifferentialEquations into a MainStateJacobianProvider . |
Modifier and Type | Method and Description |
---|---|
void |
computeDerivatives(double t,
double[] y,
double[] yDot)
Get the current time derivative of the state vector.
|
void |
computeMainStateJacobian(double t,
double[] y,
double[] yDot,
double[][] dFdY)
Compute the jacobian matrix of ODE with respect to main state.
|
int |
getDimension()
Get the dimension of the problem.
|
private final FirstOrderDifferentialEquations ode
private final double[] hY
public JacobianMatrices.MainStateJacobianWrapper(FirstOrderDifferentialEquations ode, double[] hY) throws DimensionMismatchException
FirstOrderDifferentialEquations
into a MainStateJacobianProvider
.ode
- original ODE problem, without jacobians computation skillhY
- step sizes to compute the jacobian df/dyDimensionMismatchException
- if there is a dimension mismatch between
the steps array hY
and the equation dimensionpublic int getDimension()
getDimension
in interface FirstOrderDifferentialEquations
public void computeDerivatives(double t, double[] y, double[] yDot) throws MaxCountExceededException, DimensionMismatchException
computeDerivatives
in interface FirstOrderDifferentialEquations
t
- current value of the independent time variabley
- array containing the current value of the state vectoryDot
- placeholder array where to put the time derivative of the state vectorMaxCountExceededException
- if the number of functions evaluations is exceededDimensionMismatchException
- if arrays dimensions do not match equations settingspublic void computeMainStateJacobian(double t, double[] y, double[] yDot, double[][] dFdY) throws MaxCountExceededException, DimensionMismatchException
computeMainStateJacobian
in interface MainStateJacobianProvider
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 vectordFdY
- placeholder array where to put the jacobian matrix of the ODE w.r.t. the main state vectorMaxCountExceededException
- if the number of functions evaluations is exceededDimensionMismatchException
- if arrays dimensions do not match equations settingsCopyright (c) 2003-2014 Apache Software Foundation