Skip to content

Commit f4bd7d4

Browse files
committed
Scale used in exponential and logp, logcdf checks not required.
1 parent b9337e6 commit f4bd7d4

File tree

2 files changed

+4
-16
lines changed

2 files changed

+4
-16
lines changed

pymc/distributions/continuous.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1359,12 +1359,12 @@ def dist(cls, lam=None, scale=None, *args, **kwargs):
13591359
elif lam is None and scale is None:
13601360
raise ValueError("Incompatible parametrization. Must specify either lam or scale.")
13611361

1362-
if scale is not None:
1363-
lam = pt.reciprocal(scale)
1362+
if scale is None:
1363+
scale = pt.reciprocal(lam)
13641364

1365-
lam = pt.as_tensor_variable(floatX(lam))
1365+
scale = pt.as_tensor_variable(floatX(scale))
13661366
# PyTensor exponential op is parametrized in terms of mu (1/lam)
1367-
return super().dist([pt.reciprocal(lam)], **kwargs)
1367+
return super().dist([scale], **kwargs)
13681368

13691369
def moment(rv, size, mu):
13701370
if not rv_size_is_none(size):

tests/distributions/test_continuous.py

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -432,24 +432,12 @@ def test_exponential(self):
432432
{"lam": Rplus},
433433
lambda value, lam: st.expon.logpdf(value, 0, 1 / lam),
434434
)
435-
check_logp(
436-
pm.Exponential,
437-
Rplus,
438-
{"scale": Rplus},
439-
lambda value, scale: st.expon.logpdf(value, 0, scale),
440-
)
441435
check_logcdf(
442436
pm.Exponential,
443437
Rplus,
444438
{"lam": Rplus},
445439
lambda value, lam: st.expon.logcdf(value, 0, 1 / lam),
446440
)
447-
check_logcdf(
448-
pm.Exponential,
449-
Rplus,
450-
{"scale": Rplus},
451-
lambda value, scale: st.expon.logcdf(value, 0, scale),
452-
)
453441
check_icdf(
454442
pm.Exponential,
455443
{"lam": Rplus},

0 commit comments

Comments
 (0)