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
    Modifier and Type | Method and Description
    --- | ---
    `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

Copyright (c) 2003-2013 Apache Software Foundation