The public interface should have only a few high-level for selected (sub-)classes: rmo (arbitrary MO distribution), rexmo (exchangeable MO distribution), rextmo (extendible MO distributions), and rpextmo (parametrized families of extendible MO distributions).
Proposal
The signatures should be as follows:
rmo(n, d, intensities, method = c("AM", "ESM", ...)) , where n is the number of samples, d is the dimension, intensities are the shock-arrival intensities.
rexmo(n, d, ex_intensities, method = c("MDCM", "AM", "ESM")), where ex_intensities are the scaled, exchangeable shock-arrival intensities, i.e., the exchangeable shock-size arrival intensities.
rextmo(n, d, psi, a = 0, b = 0, scale = 1, cscale = 1, method = c("MDCM", "AM", "ESM")), where psi is a Bernstein function, a and b are coefficients for a (quasi) affine-linear add-on, scale is a the scale for the Bernstein function, and cscale is the composite-scaling of the Bernstein function.
rpextmo(n, d, family, eta,...) is a drop-in replacement for rextmo(n, d, new(family, nu), a, b, scale, cscale, method); only if method == "LFM", the method will work differently.
All methods should check input parameters extensively, e.g., that new(family, nu) returns a valid Bernstein function or that the "LFM" method is applicable.
Summary
The public interface should have only a few high-level for selected (sub-)classes:
rmo
(arbitrary MO distribution),rexmo
(exchangeable MO distribution),rextmo
(extendible MO distributions), andrpextmo
(parametrized families of extendible MO distributions).Proposal
The signatures should be as follows:
rmo(n, d, intensities, method = c("AM", "ESM", ...))
, wheren
is the number of samples,d
is the dimension,intensities
are the shock-arrival intensities.rexmo(n, d, ex_intensities, method = c("MDCM", "AM", "ESM"))
, whereex_intensities
are the scaled, exchangeable shock-arrival intensities, i.e., the exchangeable shock-size arrival intensities.rextmo(n, d, psi, a = 0, b = 0, scale = 1, cscale = 1, method = c("MDCM", "AM", "ESM"))
, wherepsi
is a Bernstein function,a
andb
are coefficients for a (quasi) affine-linear add-on,scale
is a the scale for the Bernstein function, andcscale
is the composite-scaling of the Bernstein function.rpextmo(n, d, family, eta,...)
is a drop-in replacement forrextmo(n, d, new(family, nu), a, b, scale, cscale, method)
; only ifmethod == "LFM"
, the method will work differently.All methods should check input parameters extensively, e.g., that
new(family, nu)
returns a valid Bernstein function or that the "LFM" method is applicable.Checklist
rmo
.rexmo
.rextmo
.rpextmo
.