|
AIDA API Version 3.3 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
The IModelFunction interface extends a basic IFunction with methods needed to obtain high performance fitting. By providing analytical values for the parameter's gradient and the function's normalization, such quantities will not be evaluated numerically. A user implementing a function should impmenent an IModelFunction when higher performance fitting is required. OPEN QUESTIONS: How to treat normalization at user level? Two possibilities: - we have "Gauss" and "NormalizedGauss", the first one user cannot use for ML fit - we have only one "Gauss" function, but it's smart and when normalized, gets rid of one of its parameters Normalization range might be set directly on the function by the user? Now we set it in the data pipe, Victor thinks that it is not very clear and should be on the function ;)
Method Summary | |
void |
excludeNormalizationAll()
Set empty range in all axes. |
void |
includeNormalizationAll()
Set full range in all axes. |
boolean |
isNormalized()
Return true if normalization is currently switched on. |
IRangeSet |
normalizationRange(int iAxis)
Set the normalization range from -inf to +inf in the i-th axis (dimension). |
void |
normalize(boolean on)
Normalize by internally adjusting some of the parameters. |
double[] |
parameterGradient(double[] x)
Compute gradient with respect to parameters. |
boolean |
providesNormalization()
|
boolean |
providesParameterGradient()
Return true if provides parameter gradient. |
Methods inherited from interface hep.aida.IFunction |
annotation, codeletString, dimension, gradient, indexOfParameter, isEqual, normalizationParameter, numberOfParameters, parameter, parameterNames, parameters, providesGradient, setParameter, setParameters, setTitle, title, value, variableName, variableNames |
Method Detail |
public boolean providesNormalization()
public void normalize(boolean on)
public boolean isNormalized()
public double[] parameterGradient(double[] x)
public boolean providesParameterGradient()
public IRangeSet normalizationRange(int iAxis)
public void includeNormalizationAll()
public void excludeNormalizationAll()
|
AIDA API Version 3.3 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |