I am new to PyMC. I have been going through some examples and getting started with a few simple problems. I am trying to implement a model with a bounded/truncated exponential distribution.

The data which I have is { 1.5, 2, 3, 4, 5, 12 }

and I would like to model this using the bounded exponential distribution

P(x|\lambda) \propto \begin{cases} e^{-x/\lambda} \qquad &1< x < 20 \\ 0 &\text{otherwise} \end{cases}

I choose a flat/uniform prior for \lambda

P(\lambda) = \begin{cases} 1/(20-1) \qquad &1< x < 20 \\ 0 &\text{otherwise} \end{cases}

This is based on modelling particle decays; see MacKay’s textbook, Sec 3.1.

```
import numpy as np
import pymc as pm
decay_data = np.array([1.5, 2, 3, 4, 5, 12])
with pm.Model() as model:
# specify priors
λ = pm.Uniform("λ", lower=1.0, upper=20.0, initval = 1/5)
# our model is a bounded exponential distribution from [1,20]
trunc_exp = pm.Bound('trunc_exp', pm.Exponential.dist(lam=1/λ),
lower=1, upper=20)
# feed observations to the model
obs = trunc_exp("obs", λ, observed=decay_data)
# inference
trace = pm.sample(1000)
```

Is the above implementation correct? I am getting the error: `TypeError: 'TensorVariable' object is not callable`

and the error points to the line where `obs`

is defined.

Any help would be greatly appreciated.