org.apache.commons.math3.ode

## Interface SecondaryEquations

All Known Implementing Classes:
  JacobianMatrices.JacobiansSecondaryEquations

    public interface SecondaryEquations

This interface allows users to add secondary differential equations to a primary set of differential equations.

In some cases users may need to integrate some problem-specific equations along with a primary set of differential equations. One example is optimal control where adjoined parameters linked to the minimized hamiltonian must be integrated.

This interface allows users to add such equations to a primary set of `first order differential equations` thanks to the `ExpandableStatefulODE.addSecondaryEquations(SecondaryEquations)` method.

Since:
  3.0
Version:
  $Id: SecondaryEquations.java 1416643 2012-12-03 19:37:14Z tn $
See Also:
  `ExpandableStatefulODE`

### Method Summary

Methods
`void` `computeDerivatives(double t, double[] primary, double[] primaryDot, double[] secondary, double[] secondaryDot)` Compute the derivatives related to the secondary state parameters.
`int` `getDimension()` Get the dimension of the secondary state parameters.

### Method Detail

#### getDimension

    int getDimension()

Get the dimension of the secondary state parameters.

Returns:
  dimension of the secondary state parameters

#### computeDerivatives

    void computeDerivatives(double t,
                          double[] primary,
                          double[] primaryDot,
                          double[] secondary,
                          double[] secondaryDot)
                            throws MaxCountExceededException,
                                   DimensionMismatchException

Compute the derivatives related to the secondary state parameters.

Parameters:
  `t` - current value of the independent time variable
  `primary` - array containing the current value of the primary state vector
  `primaryDot` - array containing the derivative of the primary state vector
  `secondary` - array containing the current value of the secondary state vector
  `secondaryDot` - placeholder array where to put the derivative of the secondary state vector
Throws:
  `MaxCountExceededException` - if the number of functions evaluations is exceeded
  `DimensionMismatchException` - if arrays dimensions do not match equations settings