Uniform prior
[3]:
# Parameters
func_name = "Uniform_prior"
positive_prior = False
Description
[5]:
func.display()
- description: A function which is constant on the interval lower_bound - upper_bound and 0 outside the interval. The extremes of the interval are counted as part of the interval.
- formula: $ f(x)=\begin{cases}0 & x < \text{lower_bound} \\\text{value} & \text{lower_bound} \le x \le \text{upper_bound} \\ 0 & x > \text{upper_bound} \end{cases}$
- parameters:
- lower_bound:
- value: 0.0
- desc: Lower bound for the interval
- min_value: -inf
- max_value: inf
- unit:
- is_normalization: False
- delta: 0.1
- free: True
- upper_bound:
- value: 1.0
- desc: Upper bound for the interval
- min_value: -inf
- max_value: inf
- unit:
- is_normalization: False
- delta: 0.1
- free: True
- value:
- value: 1.0
- desc: Value in the interval
- min_value: None
- max_value: None
- unit:
- is_normalization: False
- delta: 0.1
- free: True
- lower_bound:
Shape
The shape of the function.
If this is not a photon model but a prior or linear function then ignore the units as these docs are auto-generated
[6]:
fig, ax = plt.subplots()
ax.plot(energy_grid, func(energy_grid), color=blue, lw=3)
ax.set_xlabel("x")
ax.set_ylabel("probability")
[6]:
Text(0, 0.5, 'probability')
Random Number Generation
This is how we can generate random numbers from the prior.
[7]:
u = np.random.uniform(0,1, size=5000)
draws = [func.from_unit_cube(x) for x in u]
fig, ax = plt.subplots()
ax.hist(draws, color=green, bins=50)
ax.set_xlabel("value")
ax.set_ylabel("N")
[7]:
Text(0, 0.5, 'N')