generateCauchyScaled(x0, gamma, desiredMin, desiredMax, LQpercent, UQpercent, lowerQuantile, upperQuantile)

Overview

The function generates a scaled random number based on a Cauchy distribution with a specified location parameter ( x_0 ) and scale parameter ( \gamma ) within the desired range.

Parameters

Parameter Type Description
x0 Number The location parameter of the Cauchy distribution.
gamma Number The scale parameter of the Cauchy distribution.
desiredMin Number The minimum desired value of the scaled random number.
desiredMax Number The maximum desired value of the scaled random number.
LQpercent Number Lower quantile percentage. Default is 0.001.
UQpercent Number Upper quantile percentage. Default is 0.999.
lowerQuantile Number Lower quantile value. Calculated by default if not provided.
upperQuantile Number Upper quantile value. Calculated by default if not provided.

Returns

Return Type Description
random Number A scaled random number in the range [desiredMin, desiredMax].

Example

local random = StatBook.generateCauchyScaled(0, 1, -10, 10)
print(random)  -- Output will vary

Mathematical Background

The function generates a random number x that follows a Cauchy distribution and then scales it to the desired range. The formula used for scaling is:

\text{random} = \text{scaleToDesiredRange}(x, \text{lowerQuantile}, \text{upperQuantile}, \text{desiredMin}, \text{desiredMax})

Where scaleToDesiredRange is a function that takes the random number x , lower and upper quantile values, and desired minimum and maximum values as arguments, and returns a scaled value that falls within [desiredMin, desiredMax].