Class TaylorMap


  • public class TaylorMap
    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

      • TaylorMap

        public TaylorMap​(double[] point,
                         DerivativeStructure[] 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)
      • TaylorMap

        public TaylorMap​(int parameters,
                         int order,
                         int nbFunctions)
        Constructor for identity map.

        The identity is considered to be evaluated at origin.

        Parameters:
        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 double[] getPoint()
        Get the point at which map is evaluated.
        Returns:
        point at which map is evaluated
      • getFunction

        public DerivativeStructure 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 double[] 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)
      • compose

        public TaylorMap compose​(TaylorMap 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 TaylorMap invert​(MatrixDecomposer 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