Struct light_curve_dmdt::DmDt
source · Expand description
dm–dt map plotter
Fields§
§dt_grid: Grid<T>
§dm_grid: Grid<T>
Implementations§
source§impl<T> DmDt<T>where
T: Float,
impl<T> DmDt<T>where
T: Float,
sourcepub fn from_grids<Gdt, Gdm>(dt_grid: Gdt, dm_grid: Gdm) -> Selfwhere
Gdt: Into<Grid<T>>,
Gdm: Into<Grid<T>>,
pub fn from_grids<Gdt, Gdm>(dt_grid: Gdt, dm_grid: Gdm) -> Selfwhere
Gdt: Into<Grid<T>>,
Gdm: Into<Grid<T>>,
Create new DmDt
sourcepub fn from_lgdt_dm_limits(
min_lgdt: T,
max_lgdt: T,
lgdt_size: usize,
max_abs_dm: T,
dm_size: usize
) -> Self
pub fn from_lgdt_dm_limits(
min_lgdt: T,
max_lgdt: T,
lgdt_size: usize,
max_abs_dm: T,
dm_size: usize
) -> Self
Create new DmDt with logarithmic dt grid and linear dm grid
dt grid will have borders [10^min_lgdt, 10^max_lgdt)
, dm grid will have borders
[-max_abs_dm, max_abs_dm)
sourcepub fn points(&self, t: &[T], m: &[T]) -> Array2<u64>
pub fn points(&self, t: &[T], m: &[T]) -> Array2<u64>
Represents each pair of (t, m) points as a unity value in dm-dt map
t
must be an ascending slice
sourcepub fn gausses<Erf>(&self, t: &[T], m: &[T], err2: &[T]) -> Array2<T>where
T: ErfFloat,
Erf: ErrorFunction<T>,
pub fn gausses<Erf>(&self, t: &[T], m: &[T], err2: &[T]) -> Array2<T>where
T: ErfFloat,
Erf: ErrorFunction<T>,
Represents each pair of (t, m, err2) points as a Gaussian distribution in dm-dt map
t
must be an ascending slice.
Each observation is assumed to happen at time moment t_i
and have Gaussian distribution of
its magnitude N(m_i, err2_i)
. Each pair of observations
(t_1, m_1, err2_1), (t_2, m_2, err2_2)
is represented by 1-D Gaussian in the dm-dt space
having constant dt
and dm ~ N(m2-m1, err2_1 + err2_2)
. This distribution is integrated
over each cell using Erf
struct implementing ErrorFunction.
sourcepub fn cond_prob<Erf>(&self, t: &[T], m: &[T], err2: &[T]) -> Array2<T>where
T: ErfFloat,
Erf: ErrorFunction<T>,
pub fn cond_prob<Erf>(&self, t: &[T], m: &[T], err2: &[T]) -> Array2<T>where
T: ErfFloat,
Erf: ErrorFunction<T>,
Conditional probability p(m2-m1|t2-t1)
Technically it is optimized version of DmDt::gausses() normalized by DmDt::dt_points but
with better performance. Mathematically it represents the distribution of conditional
probability p(m2-m1|t2-t1)
, see
Soraisam et al. 2020 for details.