Class FieldTaylorMap<T extends CalculusFieldElement<T>>

  • Type Parameters:
    T - the type of the function parameters and value

    public class FieldTaylorMap<T extends CalculusFieldElement<T>>
    extends Object
    Container for a Taylor map.

    A Taylor map is a set of n DerivativeStructure (f1,f2,,fn) depending on m parameters (p1,p2,,pm), with positive n and m.

    Since:
    2.2
    • Constructor Detail

      • FieldTaylorMap

        public FieldTaylorMap​(T[] point,
                              FieldDerivativeStructure<T>[] functions)
        Simple constructor.

        The number of number of parameters and derivation orders of all functions must match.

        Parameters:
        point - point at which map is evaluated
        functions - functions composing the map (must contain at least one element)
      • FieldTaylorMap

        public FieldTaylorMap​(Field<T> valueField,
                              int parameters,
                              int order,
                              int nbFunctions)
        Constructor for identity map.

        The identity is considered to be evaluated at origin.

        Parameters:
        valueField - field for the function parameters and value
        parameters - number of free parameters
        order - derivation order
        nbFunctions - number of functions
    • Method Detail

      • getNbParameters

        public int getNbParameters()
        Get the number of parameters of the map.
        Returns:
        number of parameters of the map
      • getNbFunctions

        public int getNbFunctions()
        Get the number of functions of the map.
        Returns:
        number of functions of the map
      • getPoint

        public T[] getPoint()
        Get the point at which map is evaluated.
        Returns:
        point at which map is evaluated
      • getFunction

        public FieldDerivativeStructure<T> getFunction​(int i)
        Get a function from the map.
        Parameters:
        i - index of the function (must be between 0 included and getNbFunctions() excluded
        Returns:
        function at index i
      • value

        public T[] value​(double... deltaP)
        Evaluate Taylor expansion of the map at some offset.
        Parameters:
        deltaP - parameters offsets (Δp1,Δp2,,Δpn)
        Returns:
        value of the Taylor expansion at (p1+Δp1,p2+Δp2,,pn+Δpn)
      • value

        public T[] value​(T... deltaP)
        Evaluate Taylor expansion of the map at some offset.
        Parameters:
        deltaP - parameters offsets (Δp1,Δp2,,Δpn)
        Returns:
        value of the Taylor expansion at (p1+Δp1,p2+Δp2,,pn+Δpn)
      • compose

        public FieldTaylorMap<T> compose​(FieldTaylorMap<T> other)
        Compose the instance with another Taylor map as thisother.
        Parameters:
        other - map with which instance must be composed
        Returns:
        composed map thisother
      • invert

        public FieldTaylorMap<T> invert​(FieldMatrixDecomposer<T> decomposer)
        Invert the instance.

        Consider Taylor expansion of the map with small parameters offsets (Δp1,Δp2,,Δpn) which leads to evaluation offsets (f1+df1,f2+df2,,fn+dfn). The map inversion defines a Taylor map that computes (Δp1,Δp2,,Δpn) from (df1,df2,,dfn).

        The map must be square to be invertible (i.e. the number of functions and the number of parameters in the functions must match)

        Parameters:
        decomposer - matrix decomposer to user for inverting the linear part
        Returns:
        inverted map
        See Also:
        chapter 2 of Advances in Imaging and Electron Physics, vol 108 by Martin Berz