Click or drag to resize

NonlinearObjectiveFunctionNonAllocatingBase Class

Base implementation for a nonlinear objective model that supports allocation-free evaluation for Levenberg-Marquardt-style algorithms.
Inheritance Hierarchy
SystemObject
  Altaxo.Calc.Optimization.ObjectiveFunctionsNonlinearObjectiveFunctionNonAllocatingBase
    Altaxo.Calc.Optimization.ObjectiveFunctionsNonlinearObjectiveFunctionNonAllocating
    Altaxo.Calc.Regression.NonlinearNonlinearModelOfFitEnsemble

Namespace: Altaxo.Calc.Optimization.ObjectiveFunctions
Assembly: AltaxoCore (in AltaxoCore.dll) Version: 4.8.3448.0 (4.8.3448.0)
Syntax
C#
public abstract class NonlinearObjectiveFunctionNonAllocatingBase : IObjectiveModel, 
	IObjectiveModelEvaluation, IObjectiveModelNonAllocating

The NonlinearObjectiveFunctionNonAllocatingBase type exposes the following members.

Constructors
 NameDescription
Public methodNonlinearObjectiveFunctionNonAllocatingBase Initializes a new instance of the NonlinearObjectiveFunctionNonAllocatingBase class.
Top
Properties
 NameDescription
Public propertyDegreeOfFreedom Gets the degrees of freedom.
Public propertyFunctionEvaluations Gets or sets the number of calls to the objective function.
Public propertyGradient Gets the gradient vector. G = J'(y - f(x; p)).
Public propertyHessian Gets the approximated Hessian matrix. H = J'J.
Public propertyIsFixedByUser Gets whether parameters are fixed or free (by the user).
Public propertyIsFixedByUserOrBoundary Gets or sets an array of the same length as the parameter array. If an element in this vector is , that parameter is either fixed by the user or fixed because the corresponding parameter has reached a boundary. This array is updated only at the end of the minimization process.
Public propertyIsGradientSupported Gets a value indicating whether the gradient can be provided by the model.
Public propertyIsHessianSupported Gets a value indicating whether the Hessian can be provided by the model.
Public propertyJacobianEvaluations Gets or sets the number of calls to the Jacobian.
Public propertyModelValues Gets the y-values of the fitted model that correspond to the independent values.
Public propertyNegativeGradient Gets the negative gradient vector. -G = -J'(y - f(x; p)).
Public propertyNumberOfObservations Gets the number of observations.
Public propertyNumberOfParameters Gets the number of unknown parameters.
Public propertyObservedY Gets the y-values of the observations.
Public propertyPoint Gets the values of the parameters.
Public propertySigmaSquare Gets Chi²/(N-F+1).
Public propertyValue Gets the residual sum of squares.
Public propertyWeights Gets or sets the values of the weights for the observations.
Top
Methods
 NameDescription
Public methodCreateNew Creates a new instance of the objective model with identical configuration but independent state.
Public methodEqualsDetermines whether the specified object is equal to the current object.
(Inherited from Object)
Public methodEvaluateAt(IReadOnlyListDouble) Evaluates the model at the given parameter vector and invalidates cached dependent values.
Public methodEvaluateAt(VectorDouble) Evaluates the model at the given parameter vector, updating dependent values.
Protected methodEvaluateFunction Evaluates the objective function value and updates cached values.
Protected methodEvaluateJacobian Evaluates the Jacobian and updates cached Jacobian-derived values (gradient and Hessian).
Protected methodFinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object)
Public methodFork Creates a forked copy of the model with independent mutable state.
Public methodGetHashCodeServes as the default hash function.
(Inherited from Object)
Public methodGetTypeGets the Type of the current instance.
(Inherited from Object)
Protected methodMemberwiseCloneCreates a shallow copy of the current Object.
(Inherited from Object)
Protected methodNumericalJacobian Numerically approximates the Jacobian at the specified parameter vector.
Public methodSetParameters(IReadOnlyListDouble, IReadOnlyListBoolean) Sets model parameters and optional fixed flags for individual parameters.
Public methodSetParameters(VectorDouble, ListBoolean) Sets the model parameters and optional fixed flags for individual parameters.
Public methodToObjectiveFunction Converts this model to an objective function suitable for minimizers.
Public methodToStringReturns a string that represents the current object.
(Inherited from Object)
Top
Fields
Remarks
This class provides cached values for the function value, Jacobian-derived quantities, and auxiliary vectors/matrices to minimize allocations during repeated evaluations.
See Also