IGLib  1.7.2
The IGLib base library EXTENDED - with other lilbraries and applications.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events Macros
Meta.Numerics.Analysis.Extremum Class Reference

Represents a maximum or minimum of a function of one variable. More...

Static Public Member Functions

static implicit operator SpaceExtremum (Extremum m)
 Converts a line extremum to a one-dimensional space extremum. More...
 

Properties

double Location [get]
 Gets the location (x-value) of the extremum. More...
 
double Value [get]
 Gets the function value (y-value) at the extremum. More...
 
double Curvature [get]
 Gets the curvature at the extremum. More...
 
int EvaluationCount [get]
 Gets the number of evaluations of the function that were required to isolate the extremum. More...
 

Private Attributes

readonly double x
 
readonly double f
 
readonly double f2
 
readonly int count
 

Detailed Description

Represents a maximum or minimum of a function of one variable.

Member Function Documentation

static implicit Meta.Numerics.Analysis.Extremum.operator SpaceExtremum ( Extremum  m)
inlinestatic

Converts a line extremum to a one-dimensional space extremum.

Parameters
mThe line extremum.
Returns
The corresponding one-dimensional space extremum.

References Meta.Numerics.Analysis.Extremum.f, Meta.Numerics.Analysis.Extremum.f2, and Meta.Numerics.Analysis.Extremum.x.

Member Data Documentation

readonly double Meta.Numerics.Analysis.Extremum.x
private
readonly double Meta.Numerics.Analysis.Extremum.f
private
readonly double Meta.Numerics.Analysis.Extremum.f2
private
readonly int Meta.Numerics.Analysis.Extremum.count
private

Property Documentation

double Meta.Numerics.Analysis.Extremum.Location
get

Gets the location (x-value) of the extremum.

Note that numerical methods for finding typical a maximum or minimum cannot usually determine its location to full floating-point precision. Near a quadratic extremum, a change in x of ~ε will change f(x) by ~ε2. Thus the smallest detectable change in f(x) will typically correspond to a change in x of order of the square root of full precision. Full System.Double precision being ~16 digits, you should expect the location to be accurate only to ~8 digits.

Referenced by Test.ExtremaTest.FindMaximaFromInterval(), Test.ExtremaTest.FindMaximaFromPoint(), Test.ExtremaTest.FindMinimaFromInterval(), Test.ExtremaTest.FindMinimaFromPoint(), and Meta.Numerics.Analysis.FunctionMath.FindMinimum().

double Meta.Numerics.Analysis.Extremum.Curvature
get

Gets the curvature at the extremum.

The curvature is the second derivative of the function at the extremum.

At a typical extremum, where the function has vanishing first derivative, the second derivative will be a number whose magnitude characterizes the "steepness" with which the function increases as one moves away from the extremum.

At an atypical extremum, for example at an interval boundary or of a non-smooth function, this value may be meaningless.

Even in the case of a typical extremum, the value of the curvature property will typically be accurate only to a handfull of digits. If you require a highly accurate determination of the curvature, you should compute the second derivative of the minimzed function explicitly.

Referenced by Meta.Numerics.Analysis.FunctionMath.FindMinimum().

int Meta.Numerics.Analysis.Extremum.EvaluationCount
get

Gets the number of evaluations of the function that were required to isolate the extremum.


The documentation for this class was generated from the following file: