FSolveBump
Description
FSolveBump is the entry point the random-error functions use to get Fleishman coefficients for a requested skewness and kurtosis. It calls FSolveLadder, and if no valid solution exists at the exact kurtosis (which happens just above the minimum possible kurtosis) it retries with a slightly larger kurtosis, up to 15 times.
Used by: MCM(_V), MCM_CI(_V), MCM_error(_V), rerror, rerrorV
Calls: FSolveLadder
Source Code
FSolveBump = LAMBDA(
skew, // requested skewness
kurt, // starting kurtosis guess, already >= the empirical minimum
[bump], [attempt], // for recursion
LET(
attempt0, IF(ISOMITTED(attempt), 0, attempt),
bump0, IF(ISOMITTED(bump), MAX(0.02, 0.05 * kurt), bump),
coeffs, FSolveLadder(skew, kurt),
valid, INDEX(coeffs, 1, 6),
IF(
OR(valid = 1, attempt0 >= 15),
coeffs,
FSolveBump(skew, kurt + bump0, bump0 * 2, attempt0 + 1)
)
)
);