Package org.apache.commons.math3.ode

# Class FieldEquationsMapper<T extends RealFieldElement<T>>

java.lang.Object
org.apache.commons.math3.ode.FieldEquationsMapper<T>

Type Parameters:
  `T` - the type of the field elements

All Implemented Interfaces:
  `Serializable`

public class FieldEquationsMapper<T extends RealFieldElement<T>> extends Object implements Serializable
Class mapping the part of a complete state or derivative that pertains to a set of differential equations.

Instances of this class are guaranteed to be immutable.

Since:
  3.6
See Also:
  - `FieldExpandableODE`
  - Serialized Form

## Method Summary

Modifier and Type
Method
Description
`T[]`
`extractEquationData(int index, T[] complete)`
Extract equation data from a complete state or derivative array.
`int`
`getNumberOfEquations()`
Get the number of equations mapped.
`int`
`getTotalDimension()`
Return the dimension of the complete set of equations.
`void`
`insertEquationData(int index, T[] equationData, T[] complete)`
Insert equation data into a complete state or derivative array.
`T[]`
`mapDerivative(FieldODEStateAndDerivative<T> state)`
Map a state derivative to a complete flat array.
`T[]`
`mapState(FieldODEState<T> state)`
Map a state to a complete flat array.
`FieldODEStateAndDerivative<T>`
`mapStateAndDerivative(T t, T[] y, T[] yDot)`
Map flat arrays to a state and derivative.

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

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

## Method Details

### getNumberOfEquations

public int getNumberOfEquations()
Get the number of equations mapped.

Returns:
  number of equations mapped

### getTotalDimension

public int getTotalDimension()
Return the dimension of the complete set of equations.

The complete set of equations correspond to the primary set plus all secondary sets.

Returns:
  dimension of the complete set of equations

### mapState

public T[] mapState(FieldODEState<T> state)
Map a state to a complete flat array.

Parameters:
  `state` - state to map
Returns:
  flat array containing the mapped state, including primary and secondary components

### mapDerivative

public T[] mapDerivative(FieldODEStateAndDerivative<T> state)
Map a state derivative to a complete flat array.

Parameters:
  `state` - state to map
Returns:
  flat array containing the mapped state derivative, including primary and secondary components

### mapStateAndDerivative

public FieldODEStateAndDerivative<T> mapStateAndDerivative(T t, T[] y, T[] yDot) throws DimensionMismatchException
Map flat arrays to a state and derivative.

Parameters:
  `t` - time
  `y` - state array to map, including primary and secondary components
  `yDot` - state derivative array to map, including primary and secondary components
Returns:
  mapped state
Throws:
  `DimensionMismatchException` - if an array does not match total dimension

### extractEquationData

public T[] extractEquationData(int index, T[] complete) throws MathIllegalArgumentException, DimensionMismatchException
Extract equation data from a complete state or derivative array.

Parameters:
  `index` - index of the equation, must be between 0 included and `getNumberOfEquations()` (excluded)
  `complete` - complete state or derivative array from which equation data should be retrieved
Returns:
  equation data
Throws:
  `MathIllegalArgumentException` - if index is out of range
  `DimensionMismatchException` - if complete state has not enough elements

### insertEquationData

public void insertEquationData(int index, T[] equationData, T[] complete) throws DimensionMismatchException
Insert equation data into a complete state or derivative array.

Parameters:
  `index` - index of the equation, must be between 0 included and `getNumberOfEquations()` (excluded)
  `equationData` - equation data to be inserted into the complete array
  `complete` - placeholder where to put equation data (only the part corresponding to the equation will be overwritten)
Throws:
  `DimensionMismatchException` - if either array has not enough elements