Powerlaw Prior
[3]:
# Parameters
func_name = "Powerlaw_Prior"
positive_prior = True
Description
[5]:
func.display()
- description: An power law distribution function between a-b
- formula: $ f(x, \alpha) = \alpha x^{\alpha-1)$
- parameters:
- alpha:
- value: 1.0
- desc: slope parameter
- min_value: 0.0
- max_value: None
- unit:
- is_normalization: False
- delta: 0.1
- free: True
- a:
- value: 0.0
- desc: lower bound of distribution
- min_value: 0.0
- max_value: None
- unit:
- is_normalization: False
- delta: 0.1
- free: True
- b:
- value: 1.0
- desc: upper bound of distribution
- min_value: 0.0
- max_value: None
- unit:
- is_normalization: False
- delta: 0.1
- free: True
- alpha:
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')