Unit

Scientific.Analysis

Declared in Scientific.Analysis.pas

Provides numerical methods and elementary statistical transforms. The routines illustrate documentation ranging from short inline symbols such as $\mu$ and $\sigma$ to complete display equations.

Interface dependencies

1

Types

2
type-alias

Scientific.Analysis.TDoubleArray

Visibility publicSource Scientific.Analysis.pas:16:15


TDoubleArray = Array of Double

Owns a finite sequence $(x_1,\ldots,x_n)$ of real values.

class

Scientific.Analysis.TGaussianFunction

Visibility publicSource Scientific.Analysis.pas:25:20

Relationships:

TGaussianFunction = class(TRealFunction)
end

Represents a Gaussian density with mean $\mu$ and deviation $\sigma$.

$$ \mathcal{N}(x\mid\mu,\sigma^2)= \frac{1}{\sigma\sqrt{2\pi}} \exp\!\left[-\frac{(x-\mu)^2}{2\sigma^2}\right]. $$

Routines

8
routine

Scientific.Analysis.ArithmeticMean

Visibility publicSource Scientific.Analysis.pas:113:24


function ArithmeticMean(const Values: Array of Double): Double

Computes the arithmetic mean of $n$ observations.

$$ \bar{x}=\frac{1}{n}\sum_{i=1}^{n}x_i. $$

Parameters

NameDescription
ValuesObservations $(x_1,\ldots,x_n)$.

Returns

Their arithmetic mean $\bar{x}$.

Raises

ExceptionCondition
ExceptionWhen the sequence is empty.
routine

Scientific.Analysis.Entropy

Visibility publicSource Scientific.Analysis.pas:151:17


function Entropy(const Probabilities: Array of Double): Double

Computes Shannon entropy in bits.

$$ H(P)=-\sum_{i=1}^{n}p_i\log_2 p_i, \qquad 0\log_2 0:=0. $$

Parameters

NameDescription
ProbabilitiesValues $p_i\in[0,1]$.

Returns

The information entropy $H(P)$ in bits.

Raises

ExceptionCondition
ExceptionWhen a probability lies outside $[0,1]$.
routine

Scientific.Analysis.Logistic

Visibility publicSource Scientific.Analysis.pas:58:18


function Logistic(const X: Double): Double

Evaluates the logistic sigmoid.

$$ \operatorname{sigmoid}(x)=\frac{1}{1+e^{-x}}. $$

Parameters

NameDescription
XReal argument $x$.

Returns

A value strictly between zero and one.

routine

Scientific.Analysis.NewtonStep

Visibility publicSource Scientific.Analysis.pas:85:20


function NewtonStep(
  const F: IRealFunction;
  const Derivative: IRealFunction;
  const X: Double
): Double

Performs one Newton-Raphson root update.

$$ x_{k+1}=x_k-\frac{f(x_k)}{f'(x_k)}. $$

Parameters

NameDescription
FFunction $f$ whose root is sought.
DerivativeDerivative function $f'$.
XCurrent approximation $x_k$.

Returns

The next approximation $x_{k+1}$.

Raises

ExceptionCondition
ExceptionWhen $f'(x_k)$ is numerically zero.
routine

Scientific.Analysis.NormalPDF

Visibility publicSource Scientific.Analysis.pas:72:19


function NormalPDF(
  const X: Double;
  const Mean: Double;
  const StandardDeviation: Double
): Double

Evaluates a normal probability density without constructing an object.

$$ p(x)=\frac{e^{-z^2/2}}{\sigma\sqrt{2\pi}}, \qquad z=\frac{x-\mu}{\sigma}. $$

Parameters

NameDescription
XObservation $x$.
MeanDistribution mean $\mu$.
StandardDeviationPositive standard deviation $\sigma$.

Returns

The normal density $p(x)$.

Raises

ExceptionCondition
ExceptionWhen $\sigma\leq 0$.
routine

Scientific.Analysis.PopulationVariance

Visibility publicSource Scientific.Analysis.pas:124:28


function PopulationVariance(const Values: Array of Double): Double

Computes population variance around the arithmetic mean.

$$ \sigma^2=\frac{1}{n}\sum_{i=1}^{n}(x_i-\bar{x})^2. $$

Parameters

NameDescription
ValuesObservations $(x_1,\ldots,x_n)$.

Returns

Their population variance $\sigma^2$.

Raises

ExceptionCondition
ExceptionWhen the sequence is empty.
routine

Scientific.Analysis.SimpsonEstimate

Visibility publicSource Scientific.Analysis.pas:101:25


function SimpsonEstimate(
  const F: IRealFunction;
  const A: Double;
  const B: Double
): Double

Estimates an integral with one Simpson panel.

$$ \int_a^b f(x)\,dx \approx \frac{b-a}{6}\left[ f(a)+4f\!\left(\frac{a+b}{2}\right)+f(b) \right]. $$

Parameters

NameDescription
FIntegrand $f$.
ALower bound $a$.
BUpper bound $b$.

Returns

The Simpson estimate of the definite integral.

routine

Scientific.Analysis.Softmax

Visibility publicSource Scientific.Analysis.pas:139:17


function Softmax(const Values: Array of Double): TDoubleArray

Converts arbitrary scores into a categorical probability distribution.

$$ \operatorname{softmax}(z_i)= \frac{e^{z_i-m}}{\sum_{j=1}^{n}e^{z_j-m}}, \qquad m=\max_j z_j. $$

Subtracting $m$ leaves the result unchanged while improving numerical stability.

Parameters

NameDescription
ValuesScores $(z_1,\ldots,z_n)$.

Returns

Probabilities whose sum is one, or an empty sequence.

Members

4
constructor

Scientific.Analysis.TGaussianFunction.Create

Visibility publicSource Scientific.Analysis.pas:35:23


constructor Create(const AMean: Double; const AStandardDeviation: Double)

Creates $\mathcal{N}(\mu,\sigma^2)$ for a positive $\sigma$.

Parameters

NameDescription
AMeanDistribution mean $\mu$.
AStandardDeviationStandard deviation $\sigma>0$.

Raises

ExceptionCondition
ExceptionWhen $\sigma\leq 0$.
method

Scientific.Analysis.TGaussianFunction.Evaluate

Visibility publicSource Scientific.Analysis.pas:41:22


function Evaluate(const X: Double): Double; override

Evaluates the Gaussian probability density at $x$.

Parameters

NameDescription
XObservation $x$.

Returns

The density $\mathcal{N}(x\mid\mu,\sigma^2)$.