Documentation of 'hep.aida.ref.function.AbstractIFunction' Java class
AbstractIFunction
hep.aida.ref.function

Class AbstractIFunction

    • Field Detail

      • p

        public double[] p
      • gradient

        public double[] gradient
    • Constructor Detail

      • AbstractIFunction

        public AbstractIFunction()
        No-argument constructor to be used for cloning. Created function can not be used directly
      • AbstractIFunction

        public AbstractIFunction(java.lang.String title,
                                 int dimension,
                                 int numberOfParameters)
        Creates a new instance of AbstractIFunction with default variable names (x0, x1, ...) and default parameter names (p0, p1, ...)
      • AbstractIFunction

        public AbstractIFunction(java.lang.String[] variableNames,
                                 java.lang.String[] parameterNames)
        Creates a new instance of AbstractIFunction with specified variable and parameter names. This constructor must be implemented by all subclasses in order for codelet-based creation to work properly
      • AbstractIFunction

        public AbstractIFunction(java.lang.String title,
                                 java.lang.String[] variableNames,
                                 java.lang.String[] parameterNames)
    • Method Detail

      • clone

        public java.lang.Object clone()
        Overrides:
        clone in class java.lang.Object
      • setCodeletString

        public void setCodeletString(java.lang.String str)
      • value

        public abstract double value(double[] v)
        Provide value for your function here. Something like: return p[0]+p[1]*v[0]+p[2]*v[0]*v[0];
        Specified by:
        value in interface IFunction
      • providesGradient

        public boolean providesGradient()
        Description copied from interface: IFunction
        Determine whether function is able to compute gradient.
        Specified by:
        providesGradient in interface IFunction
      • gradient

        public double[] gradient(double[] values)
        Description copied from interface: IFunction
        Gradient of the function. The result is valid only if providesGradient()==true. Otherwise the result is some default (empty) vector.
        Specified by:
        gradient in interface IFunction
      • codeletString

        public java.lang.String codeletString()
        Description copied from interface: IFunction
        String describing the metatype and implementation of the function. Generic format of the string: codelet:TYPE:LOCATION TYPE part contains only a 'typename' string which is a metatype identifier (used in plugins and catalogues) LOCATION may be: 'file', 'verbatim', or 'catalogue' Detailed description: codelet:typename - no location specified (using 'catalogue') codelet:typename:file:/filename.cpp - a c++ source file codelet:typename:file:/filename.py - a python source file codelet:typename:file:/filename.so - a shared library codelet:typename:catalogue - entry in a catalogue repository codelet:typename:verbatim:cpp \n - c++ source file included verbatim after \n codelet:typename:verbatim:py \n - python source file included verbatim aftern \n Comments: file:/filename is a relative path to $AIDA_FUNCTION_DEFAULT_DIR file://filename is an absolute path Examples: codelet:G:catalogue codelet:userSinus:verbatim:cpp \n { return sin(x); }
        Specified by:
        codeletString in interface IFunction
      • dimension

        public int dimension()
        Description copied from interface: IFunction
        Dimensionality of the domain space.
        Specified by:
        dimension in interface IFunction
      • indexOfParameter

        public int indexOfParameter(java.lang.String str)
        Description copied from interface: IFunction
        Return -1 if parameter not found (name undefined). Leave it because there are use cases - some users prefer to use numbers.
        Specified by:
        indexOfParameter in interface IFunction
      • numberOfParameters

        public int numberOfParameters()
        Description copied from interface: IFunction
        Number of parameters.
        Specified by:
        numberOfParameters in interface IFunction
      • parameter

        public double parameter(java.lang.String str)
        Specified by:
        parameter in interface IFunction
      • parameterNames

        public java.lang.String[] parameterNames()
        Description copied from interface: IFunction
        Names of paramaters. Names should be unique. Case-insensitive for comparison. Case-sensitive for storage and output. All or several names may be left blank "" if the implementation does not want to provide them.
        Specified by:
        parameterNames in interface IFunction
      • parameters

        public double[] parameters()
        Description copied from interface: IFunction
        Retrieve current vector of parameters.
        Specified by:
        parameters in interface IFunction
      • setParameter

        public void setParameter(java.lang.String str,
                                 double param)
                          throws java.lang.IllegalArgumentException
        Description copied from interface: IFunction
        Set parameter's value by name.
        Specified by:
        setParameter in interface IFunction
        Parameters:
        str - The name of the parameter.
        param - The new value of the parameter.
        Throws:
        java.lang.IllegalArgumentException - If name does not correspond to a parameter.
      • setParameters

        public void setParameters(double[] pars)
                           throws java.lang.IllegalArgumentException
        Description copied from interface: IFunction
        Set new vector of parameters.
        Specified by:
        setParameters in interface IFunction
        Throws:
        java.lang.IllegalArgumentException
      • setTitle

        public void setTitle(java.lang.String title)
                      throws java.lang.IllegalArgumentException
        Description copied from interface: IFunction
        Set the histogram title.
        Specified by:
        setTitle in interface IFunction
        Parameters:
        title - The title.
        Throws:
        java.lang.IllegalArgumentException
      • title

        public java.lang.String title()
        Description copied from interface: IFunction
        Get the Function's title.
        Specified by:
        title in interface IFunction
        Returns:
        The Function's title.
      • variableName

        public java.lang.String variableName(int index)
        Description copied from interface: IFunction
        Get the symbolic name of i-th variable.
        Specified by:
        variableName in interface IFunction
      • variableNames

        public java.lang.String[] variableNames()
        Description copied from interface: IFunction
        Get all the names in a vector.
        Specified by:
        variableNames in interface IFunction
      • isNormalized

        public boolean isNormalized()
        Description copied from interface: IModelFunction
        Return true if normalization is currently switched on.
        Specified by:
        isNormalized in interface IModelFunction
      • normalizationRange

        public IRangeSet normalizationRange(int iAxis)
        Description copied from interface: IModelFunction
        Set the normalization range from -inf to +inf in the i-th axis (dimension). Full range is the default if not set otherwise. It is still possible to evaluate function outside of the normalization range. PENDING: no methods to retrieve current range!
        Specified by:
        normalizationRange in interface IModelFunction
      • normalize

        public void normalize(boolean param)
        Description copied from interface: IModelFunction
        Normalize by internally adjusting some of the parameters. When normalization is on then integral of the function in the normalization range equals to 1.
        Specified by:
        normalize in interface IModelFunction
      • parameterGradient

        public double[] parameterGradient(double[] values)
        Description copied from interface: IModelFunction
        Compute gradient with respect to parameters.
        Specified by:
        parameterGradient in interface IModelFunction
      • normalizationParameter

        public java.lang.String normalizationParameter()
        Description copied from interface: IFunction
        Returns the name of the normalization parameter if the function has one.
        Specified by:
        normalizationParameter in interface IFunction
        Returns:
        The name of the normalization parameter.null if no such parameter is available
      • isEqual

        public boolean isEqual(IFunction iFunction)
        Description copied from interface: IFunction
        Compare if functions are the same. PENDING: define exactly what it means ;)
        Specified by:
        isEqual in interface IFunction

DMelt 3.0 © DataMelt by jWork.ORG

You see the box below because you did not login.