pint.templates.lceprimitives.LCELorentzian2
- class pint.templates.lceprimitives.LCELorentzian2(**kwargs)[source]
Bases:
LCEWrappedFunction
,LCLorentzian2
Represent a (wrapped) two-sided Lorentzian peak. Parameters Width1 : the HWHM of the distribution (left) Width2 : the HWHM of the distribution (right) Location : the mode of the distribution
Generally, class-specific setup work is performed in init. Here, init is called and certain guaranteed default members are established.
Methods
approx_derivative
(phases[, log10_ens, ...])approx_gradient
(phases[, log10_ens, eps])approx_hessian
(phases[, log10_ens, eps])base_derivative
(phases[, log10_ens, index, ...])base_func
(phases[, log10_ens, index])base_grad
(phases[, log10_ens, index])base_grad_deriv
(phases[, log10_ens, index])base_hess
(phases[, log10_ens, index])base_int
(x1, x2, log10_ens[, index])cdf
(x[, log10_ens])center_gauss_prior
([enable])[Convenience] Set gauss mode to current params.
check_bounds
([p])check_gradient
([atol, rtol, quiet])closest_to_peak
(phases)Return the minimum distance between a member of the array of phases and the position of the mode of the primitive.
copy
()derivative
(phases[, log10_ens, order])Return the phase gradient (dprim/dphi) at a vector of phases.
Return a string to express the object as a dictionary that can be easily instantiated using its keys.
enable_gauss_prior
([enable])[Convenience] Turn on gaussian prior.
Return a string that can be evaluated to instantiate a nearly- identical object.
fwhm
()Return the full-width at half-maximum of the light curve model.
get_bounds
([free])get_errors
([free])get_fixed_energy_version
([log10_en])Return the version of this primitive with parameters appropriate for the given energy.
Return a mask with True if parameters are free, else False.
get_gauss_prior_parameters
()get_location
([error])get_norm
([error])get_parameter_names
([free])get_parameters
([free])get_width
([error, hwhm, right])Return the width of the distribution.
gradient
(phases[, log10_ens, free])Return the gradient of the primitives wrt the parameters.
gradient_derivative
(phases[, log10_ens, free])Return the gradient evaluated at a vector of phases.
hessian
(phases[, log10_ens, free])Return the hessian.
hwhm
([right])Return the half-width at half-maximum of the light curve model.
init
()integrate
(x1, x2[, log10_ens])Base implemention with scipy quad.
is_energy_dependent
()True if primitive is asymmetric.
num_parameters
([free])parse_kwargs
(kwargs)random
(log10_ens)Use multinomial technique to return random photons from both components.
sanity_checks
([eps])A few checks on normalization, integration, etc.
set_errors
(errs)set_location
(loc)set_parameters
(p[, free])- __call__(phases, log10_ens=3)
Return wrapped template + DC component corresponding to truncation.
- center_gauss_prior(enable=False)
[Convenience] Set gauss mode to current params.
- closest_to_peak(phases)
Return the minimum distance between a member of the array of phases and the position of the mode of the primitive.
- derivative(phases, log10_ens=3, order=1)
Return the phase gradient (dprim/dphi) at a vector of phases.
order: order of derivative (1=1st derivative, etc.)
output : a len(phases) ndarray, dprim/dphi
NB this will generally be opposite in sign to the gradient of the location parameter.
- dict_string()
Return a string to express the object as a dictionary that can be easily instantiated using its keys.
- enable_gauss_prior(enable=True)
[Convenience] Turn on gaussian prior.
- eval_string()
Return a string that can be evaluated to instantiate a nearly- identical object.
- fwhm()
Return the full-width at half-maximum of the light curve model.
- get_fixed_energy_version(log10_en=3)
Return the version of this primitive with parameters appropriate for the given energy. I think this will be unnecessary once everything is signature compatible.
- get_free_mask()
Return a mask with True if parameters are free, else False.
- get_width(error=False, hwhm=False, right=False)
Return the width of the distribution.
- gradient(phases, log10_ens=3, free=False)
Return the gradient of the primitives wrt the parameters.
- gradient_derivative(phases, log10_ens=3, free=False)
Return the gradient evaluated at a vector of phases.
- outputa num_parameter x len(phases) ndarray,
the num_parameter-dim gradient at each phase
- hessian(phases, log10_ens=3, free=False)
Return the hessian.
For the linear model, this is a block matrix where the upper-left corner is the original hessian, the upper-right/lower-left corners are hessians weighted by the energy, and the lower-right by e^2.
- hwhm(right=False)
Return the half-width at half-maximum of the light curve model.
- integrate(x1, x2, log10_ens=3)
Base implemention with scipy quad.
- is_two_sided()
True if primitive is asymmetric. Default is False, two-sided child classes should override.
- sanity_checks(eps=1e-06)
A few checks on normalization, integration, etc.