## Class LutherFieldIntegrator<T extends RealFieldElement<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
EulerFieldIntegrator, ClassicalRungeKuttaFieldIntegrator, GillFieldIntegrator, MidpointFieldIntegrator, ThreeEighthesFieldIntegrator
• ### Constructor Summary

Constructors
Constructor Description
LutherFieldIntegrator​(Field<T> field, T step)
Simple constructor.
• ### Method Summary

All Methods
Modifier and Type Method Description
protected org.apache.commons.math4.legacy.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.math4.legacy.ode.nonstiff.RungeKuttaFieldIntegrator

fraction, integrate, singleStep
• ### Methods inherited from class org.apache.commons.math4.legacy.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.math4.legacy.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