Attempts to reduce expression distributions to closed-form distributions when mathematical identities apply. Supported rules include:
# S3 method for class 'edist'
simplify(x, ...)The simplified distribution, or unchanged edist if no rule applies
Single-variable:
c * Normal(mu, v) -> Normal(cmu, c^2v)
c * Gamma(a, r) -> Gamma(a, r/c) for c > 0
c * Exponential(r) -> Gamma(1, r/c) for c > 0
c * Uniform(a, b) -> Uniform(min(ca,cb), max(ca,cb)) for c != 0
c * Weibull(k, lam) -> Weibull(k, c*lam) for c > 0
c * ChiSq(df) -> Gamma(df/2, 1/(2c)) for c > 0
c * LogNormal(ml, sl) -> LogNormal(ml + log(c), sl) for c > 0
Normal(mu, v) + c -> Normal(mu + c, v)
Normal(mu, v) - c -> Normal(mu - c, v)
Uniform(a, b) + c -> Uniform(a + c, b + c)
Uniform(a, b) - c -> Uniform(a - c, b - c)
Normal(0, 1) ^ 2 -> ChiSquared(1)
exp(Normal(mu, v)) -> LogNormal(mu, sqrt(v))
log(LogNormal(ml, sl)) -> Normal(ml, sl^2)
Two-variable:
Normal + Normal -> Normal
Normal - Normal -> Normal
Gamma + Gamma (same rate) -> Gamma
Exponential + Exponential (same rate) -> Gamma(2, rate)
Gamma + Exponential (same rate) -> Gamma(a+1, rate)
ChiSquared + ChiSquared -> ChiSquared
Poisson + Poisson -> Poisson
LogNormal * LogNormal -> LogNormal