org.apache.commons.math3.ode.nonstiff

## Class LutherFieldIntegrator<T extends RealFieldElement<T>>

- java.lang.Object
- - org.apache.commons.math3.ode.AbstractFieldIntegrator<T>
  - - org.apache.commons.math3.ode.nonstiff.RungeKuttaFieldIntegrator<T>
    - - org.apache.commons.math3.ode.nonstiff.LutherFieldIntegrator<T>

- Type Parameters:
    `T` - the type of the field elements
  All Implemented Interfaces:
    FirstOrderFieldIntegrator<T>, FieldButcherArrayProvider<T>

      public class LutherFieldIntegrator<T extends RealFieldElement<T>>
      extends RungeKuttaFieldIntegrator<T>

  This class implements the Luther sixth order Runge-Kutta integrator for Ordinary Differential Equations.

  This method is described in H. A. Luther 1968 paper An explicit Sixth-Order Runge-Kutta Formula.

  This method is an explicit Runge-Kutta method, its Butcher-array is the following one :

              0   |               0                     0                     0                     0                     0                     0
              1   |               1                     0                     0                     0                     0                     0
             1/2  |              3/8                   1/8                    0                     0                     0                     0
             2/3  |              8/27                  2/27                  8/27                   0                     0                     0
         (7-q)/14 | (  -21 +   9q)/392    (  -56 +   8q)/392    (  336 -  48q)/392    (  -63 +   3q)/392                  0                     0
         (7+q)/14 | (-1155 - 255q)/1960   ( -280 -  40q)/1960   (    0 - 320q)/1960   (   63 + 363q)/1960   ( 2352 + 392q)/1960                 0
              1   | (  330 + 105q)/180    (  120 +   0q)/180    ( -200 + 280q)/180    (  126 - 189q)/180    ( -686 - 126q)/180     ( 490 -  70q)/180
                  |--------------------------------------------------------------------------------------------------------------------------------------------------
                  |              1/20                   0                   16/45                  0                   49/180                 49/180         1/20

  where q = √21
  Since:
    3.6
  See Also:
    `EulerFieldIntegrator`, `ClassicalRungeKuttaFieldIntegrator`, `GillFieldIntegrator`, `MidpointFieldIntegrator`, `ThreeEighthesFieldIntegrator`

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `LutherFieldIntegrator(Field<T> field, T step)` Simple constructor.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected org.apache.commons.math3.ode.nonstiff.LutherFieldStepInterpolator<T>` | `createInterpolator(boolean forward, T[][] yDotK, FieldODEStateAndDerivative<T> globalPreviousState, FieldODEStateAndDerivative<T> globalCurrentState, FieldEquationsMapper<T> mapper)` Create an interpolator.
    `T[][]` | `getA()` Get the internal weights from Butcher array (without the first empty row).
    `T[]` | `getB()` Get the external weights for the high order method from Butcher array.
    `T[]` | `getC()` Get the time steps from Butcher array (without the first zero).

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

      `fraction, integrate, singleStep`

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

      `acceptStep, addEventHandler, addEventHandler, addStepHandler, clearEventHandlers, clearStepHandlers, computeDerivatives, getCurrentSignedStepsize, getCurrentStepStart, getEquations, getEvaluations, getEvaluationsCounter, getEventHandlers, getField, getMaxEvaluations, getName, getStepHandlers, getStepSize, getStepStart, initIntegration, isLastStep, resetOccurred, sanityChecks, setIsLastStep, setMaxEvaluations, setStateInitialized, setStepSize, setStepStart`

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

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

- - ### Constructor Detail

    - #### LutherFieldIntegrator

          public LutherFieldIntegrator(Field<T> field,
                               T step)

      Simple constructor. Build a fourth-order Luther integrator with the given step.
      Parameters:
        `field` - field to which the time and state vector elements belong
        `step` - integration step

  - ### Method Detail

    - #### getC

          public T[] getC()

      Get the time steps from Butcher array (without the first zero).
      Returns:
        time steps from Butcher array (without the first zero

    - #### getA

          public T[][] getA()

      Get the internal weights from Butcher array (without the first empty row).
      Returns:
        internal weights from Butcher array (without the first empty row)

    - #### getB

          public T[] getB()

      Get the external weights for the high order method from Butcher array.
      Returns:
        external weights for the high order method from Butcher array

    - #### createInterpolator

          protected org.apache.commons.math3.ode.nonstiff.LutherFieldStepInterpolator<T> createInterpolator(boolean forward,
                                                                                                T[][] yDotK,
                                                                                                FieldODEStateAndDerivative<T> globalPreviousState,
                                                                                                FieldODEStateAndDerivative<T> globalCurrentState,
                                                                                                FieldEquationsMapper<T> mapper)

      Create an interpolator.
      Specified by:
        `createInterpolator` in class `RungeKuttaFieldIntegrator<T extends RealFieldElement<T>>`
      Parameters:
        `forward` - integration direction indicator
        `yDotK` - slopes at the intermediate points
        `globalPreviousState` - start of the global step
        `globalCurrentState` - end of the global step
        `mapper` - equations mapper for the all equations
      Returns:
        external weights for the high order method from Butcher array

Copyright © 2003–2016 The Apache Software Foundation. All rights reserved.