Table of Contents

Class ParameterDefinition

Namespace
SignalSharp.Optimization
Assembly
SignalSharp.dll

Defines a parameter to be optimized, including its bounds and an optional initial guess. This structure is intended to be general for various optimization algorithms.

public record ParameterDefinition : IEquatable<ParameterDefinition>
Inheritance
ParameterDefinition
Implements
Inherited Members

Remarks

Instances are validated on construction: the name must be non-empty and the bounds must be finite with MinValue not greater than MaxValue.

Constructors

ParameterDefinition(string, double, double, double?)

Defines a parameter to be optimized, including its bounds and an optional initial guess.

public ParameterDefinition(string Name, double MinValue, double MaxValue, double? InitialGuess = null)

Parameters

Name string

The unique name of the parameter (e.g., "Alpha", "Beta").

MinValue double

The minimum allowed value for the parameter (lower bound).

MaxValue double

The maximum allowed value for the parameter (upper bound).

InitialGuess double?

An optional initial guess for the parameter, typically within the bounds. Crucial for iterative optimizers; values outside the bounds are clamped by the optimizers.

Exceptions

ArgumentNullException

Thrown when Name is null.

ArgumentException

Thrown when Name is empty or whitespace.

ArgumentOutOfRangeException

Thrown when the bounds are not finite, when MinValue is greater than MaxValue, or when InitialGuess is not finite.

Properties

InitialGuess

An optional initial guess for the parameter, typically within the bounds. Crucial for iterative optimizers.

public double? InitialGuess { get; init; }

Property Value

double?

MaxValue

The maximum allowed value for the parameter (upper bound).

public double MaxValue { get; init; }

Property Value

double

MinValue

The minimum allowed value for the parameter (lower bound).

public double MinValue { get; init; }

Property Value

double

Name

The unique name of the parameter (e.g., "Alpha", "Beta").

public string Name { get; init; }

Property Value

string