org.apache.commons.math3.ode.nonstiff

## Class HighamHall54StepInterpolator

- java.lang.Object
- - org.apache.commons.math3.ode.sampling.AbstractStepInterpolator
  - - org.apache.commons.math3.ode.nonstiff.RungeKuttaStepInterpolator
    - - org.apache.commons.math3.ode.nonstiff.HighamHall54StepInterpolator

- All Implemented Interfaces:
    java.io.Externalizable, java.io.Serializable, StepInterpolator

       class HighamHall54StepInterpolator
      extends RungeKuttaStepInterpolator

  This class represents an interpolator over the last step during an ODE integration for the 5(4) Higham and Hall integrator.
  Since:
    1.2
  Version:
    $Id: HighamHall54StepInterpolator.java 1416643 2012-12-03 19:37:14Z tn $
  See Also:
    `HighamHall54Integrator`

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `private static long` | `serialVersionUID` Serializable version identifier

    - ### Fields inherited from class org.apache.commons.math3.ode.nonstiff.RungeKuttaStepInterpolator

      `integrator, previousState, yDotK`

    - ### Fields inherited from class org.apache.commons.math3.ode.sampling.AbstractStepInterpolator

      `currentState, h, interpolatedDerivatives, interpolatedPrimaryDerivatives, interpolatedPrimaryState, interpolatedSecondaryDerivatives, interpolatedSecondaryState, interpolatedState, interpolatedTime`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `HighamHall54StepInterpolator()` Simple constructor.
    `HighamHall54StepInterpolator(HighamHall54StepInterpolator interpolator)` Copy constructor.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | `computeInterpolatedStateAndDerivatives(double theta, double oneMinusThetaH)` Compute the state and derivatives at the interpolated time.
    `protected StepInterpolator` | `doCopy()` Really copy the finalized instance.

    - ### Methods inherited from class org.apache.commons.math3.ode.nonstiff.RungeKuttaStepInterpolator

      `readExternal, reinitialize, shift, writeExternal`

    - ### Methods inherited from class org.apache.commons.math3.ode.sampling.AbstractStepInterpolator

      `copy, doFinalize, finalizeStep, getCurrentTime, getGlobalCurrentTime, getGlobalPreviousTime, getInterpolatedDerivatives, getInterpolatedSecondaryDerivatives, getInterpolatedSecondaryState, getInterpolatedState, getInterpolatedTime, getPreviousTime, isForward, readBaseExternal, reinitialize, setInterpolatedTime, setSoftCurrentTime, setSoftPreviousTime, storeTime, writeBaseExternal`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### serialVersionUID

          private static final long serialVersionUID

      Serializable version identifier
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### HighamHall54StepInterpolator

          public HighamHall54StepInterpolator()

      Simple constructor. This constructor builds an instance that is not usable yet, the `AbstractStepInterpolator.reinitialize(double[], boolean, org.apache.commons.math3.ode.EquationsMapper, org.apache.commons.math3.ode.EquationsMapper[])` method should be called before using the instance in order to initialize the internal arrays. This constructor is used only in order to delay the initialization in some cases. The `EmbeddedRungeKuttaIntegrator` uses the prototyping design pattern to create the step interpolators by cloning an uninitialized model and later initializing the copy.

    - #### HighamHall54StepInterpolator

          public HighamHall54StepInterpolator(HighamHall54StepInterpolator interpolator)

      Copy constructor.
      Parameters:
        `interpolator` - interpolator to copy from. The copy is a deep copy: its arrays are separated from the original arrays of the instance

  - ### Method Detail

    - #### doCopy

          protected StepInterpolator doCopy()

      Really copy the finalized instance.

      This method is called by `AbstractStepInterpolator.copy()` after the step has been finalized. It must perform a deep copy to have an new instance completely independent for the original instance.

      Specified by:
        `doCopy` in class `AbstractStepInterpolator`
      Returns:
        a copy of the finalized instance

    - #### computeInterpolatedStateAndDerivatives

          protected void computeInterpolatedStateAndDerivatives(double theta,
                                                    double oneMinusThetaH)

      Compute the state and derivatives at the interpolated time. This is the main processing method that should be implemented by the derived classes to perform the interpolation.
      Specified by:
        `computeInterpolatedStateAndDerivatives` in class `AbstractStepInterpolator`
      Parameters:
        `theta` - normalized interpolation abscissa within the step (theta is zero at the previous time step and one at the current time step)
        `oneMinusThetaH` - time gap between the interpolated time and the current time

Copyright (c) 2003-2013 Apache Software Foundation