# 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

## 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')