Class ParameterizedCurve


  • public abstract class ParameterizedCurve
    extends ParameterizedFunction<Double,​DoubleArray,​Double>
    A parameterised curve that gives the both the curve (the function y=f(x) where x and y are scalars) and the curve sensitivity (dy/dp where p is one of the parameters) for given parameters.
    • Constructor Detail

      • ParameterizedCurve

        public ParameterizedCurve()
    • Method Detail

      • getYParameterSensitivity

        public Function<Double,​DoubleArray> getYParameterSensitivity​(DoubleArray params)
        For a scalar function (curve) that can be written as $y=f(x;\boldsymbol{\theta})$ where x & y are scalars and $\boldsymbol{\theta})$ is a vector of parameters (i.e. $x,y \in \mathbb{R}$ and $\boldsymbol{\theta} \in \mathbb{R}^n$) this returns the function $g : \mathbb{R} \to \mathbb{R}^n; x \mapsto g(x)$, which is the function's (curve's) sensitivity to its parameters, i.e. $g(x) = \frac{\partial f(x;\boldsymbol{\theta})}{\partial \boldsymbol{\theta}}$

        The default calculation is performed using finite difference (via ScalarFieldFirstOrderDifferentiator) but it is expected that this will be overridden by concrete subclasses.

        Parameters:
        params - the value of the parameters ($\boldsymbol{\theta}$) at which the sensitivity is calculated
        Returns:
        the sensitivity as a function with a Double (x) as its single argument and a vector as its return value