Struct light_curve_feature::PeriodogramPowerFft
source · [−]pub struct PeriodogramPowerFft<T> where
T: Float, { /* private fields */ }
Expand description
“Fast” (FFT-based) periodogram executor
This algorithm spreads observer time series into uniform time grid using linear interpolation
and then uses FFT to obtain periodogram sums. This implementation returns estimation of
Lomb-Scargle periodogram that derives to the exact values while max_freq_factor
grows.
Asymptotic time is $O(N \log N)$, it is faster then
PeriodogramPowerDirect even for $N \gtrsim 10$.
Note that current implementation uses two-powered time grids and requires to estimate the best
FFT algorithm for each pair of grid size and working thread that can take several seconds,
especially for large grids.
The implementation is inspired by Numerical Recipes, Press et al., 1997, Section 13.8
Implementations
sourceimpl<T> PeriodogramPowerFft<T> where
T: Float,
impl<T> PeriodogramPowerFft<T> where
T: Float,
Trait Implementations
sourceimpl<T: Clone> Clone for PeriodogramPowerFft<T> where
T: Float,
impl<T: Clone> Clone for PeriodogramPowerFft<T> where
T: Float,
sourcefn clone(&self) -> PeriodogramPowerFft<T>
fn clone(&self) -> PeriodogramPowerFft<T>
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl<T> Debug for PeriodogramPowerFft<T> where
T: Float,
impl<T> Debug for PeriodogramPowerFft<T> where
T: Float,
sourceimpl<T> Default for PeriodogramPowerFft<T> where
T: Float,
impl<T> Default for PeriodogramPowerFft<T> where
T: Float,
sourceimpl<'de, T> Deserialize<'de> for PeriodogramPowerFft<T> where
T: Float,
T: Float,
impl<'de, T> Deserialize<'de> for PeriodogramPowerFft<T> where
T: Float,
T: Float,
sourcefn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
sourceimpl<T> From<PeriodogramPowerFft<T>> for PeriodogramPower<T> where
T: Float,
impl<T> From<PeriodogramPowerFft<T>> for PeriodogramPower<T> where
T: Float,
sourcefn from(v: PeriodogramPowerFft<T>) -> PeriodogramPower<T>
fn from(v: PeriodogramPowerFft<T>) -> PeriodogramPower<T>
Converts to this type from the input type.
sourceimpl<T> JsonSchema for PeriodogramPowerFft<T> where
T: Float,
impl<T> JsonSchema for PeriodogramPowerFft<T> where
T: Float,
sourcefn is_referenceable() -> bool
fn is_referenceable() -> bool
Whether JSON Schemas generated for this type should be re-used where possible using the $ref
keyword. Read more
sourcefn schema_name() -> String
fn schema_name() -> String
The name of the generated JSON Schema. Read more
sourcefn json_schema(gen: &mut SchemaGenerator) -> Schema
fn json_schema(gen: &mut SchemaGenerator) -> Schema
Generates a JSON Schema for this type. Read more
sourceimpl<T> Serialize for PeriodogramPowerFft<T> where
T: Float,
T: Float,
impl<T> Serialize for PeriodogramPowerFft<T> where
T: Float,
T: Float,
sourceimpl<T> TryInto<PeriodogramPowerFft<T>> for PeriodogramPower<T> where
T: Float,
impl<T> TryInto<PeriodogramPowerFft<T>> for PeriodogramPower<T> where
T: Float,
sourcefn try_into(
self
) -> Result<PeriodogramPowerFft<T>, <Self as TryInto<PeriodogramPowerFft<T>>>::Error>
fn try_into(
self
) -> Result<PeriodogramPowerFft<T>, <Self as TryInto<PeriodogramPowerFft<T>>>::Error>
Performs the conversion.
Auto Trait Implementations
impl<T> RefUnwindSafe for PeriodogramPowerFft<T>
impl<T> Send for PeriodogramPowerFft<T>
impl<T> Sync for PeriodogramPowerFft<T>
impl<T> Unpin for PeriodogramPowerFft<T>
impl<T> UnwindSafe for PeriodogramPowerFft<T>
Blanket Implementations
sourceimpl<Src, Scheme> ApproxFrom<Src, Scheme> for Src where
Scheme: ApproxScheme,
impl<Src, Scheme> ApproxFrom<Src, Scheme> for Src where
Scheme: ApproxScheme,
sourcefn approx_from(src: Src) -> Result<Src, <Src as ApproxFrom<Src, Scheme>>::Err>
fn approx_from(src: Src) -> Result<Src, <Src as ApproxFrom<Src, Scheme>>::Err>
Convert the given value into an approximately equivalent representation.
sourceimpl<Dst, Src, Scheme> ApproxInto<Dst, Scheme> for Src where
Dst: ApproxFrom<Src, Scheme>,
Scheme: ApproxScheme,
impl<Dst, Src, Scheme> ApproxInto<Dst, Scheme> for Src where
Dst: ApproxFrom<Src, Scheme>,
Scheme: ApproxScheme,
type Err = <Dst as ApproxFrom<Src, Scheme>>::Err
type Err = <Dst as ApproxFrom<Src, Scheme>>::Err
The error type produced by a failed conversion.
sourcefn approx_into(self) -> Result<Dst, <Src as ApproxInto<Dst, Scheme>>::Err>
fn approx_into(self) -> Result<Dst, <Src as ApproxInto<Dst, Scheme>>::Err>
Convert the subject into an approximately equivalent representation.
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T, Dst> ConvAsUtil<Dst> for T
impl<T, Dst> ConvAsUtil<Dst> for T
sourcefn approx(self) -> Result<Dst, Self::Err> where
Self: ApproxInto<Dst, DefaultApprox>,
fn approx(self) -> Result<Dst, Self::Err> where
Self: ApproxInto<Dst, DefaultApprox>,
Approximate the subject with the default scheme.
sourcefn approx_by<Scheme>(self) -> Result<Dst, Self::Err> where
Self: ApproxInto<Dst, Scheme>,
Scheme: ApproxScheme,
fn approx_by<Scheme>(self) -> Result<Dst, Self::Err> where
Self: ApproxInto<Dst, Scheme>,
Scheme: ApproxScheme,
Approximate the subject with a specific scheme.
sourceimpl<T> ConvUtil for T
impl<T> ConvUtil for T
sourcefn approx_as<Dst>(self) -> Result<Dst, Self::Err> where
Self: ApproxInto<Dst, DefaultApprox>,
fn approx_as<Dst>(self) -> Result<Dst, Self::Err> where
Self: ApproxInto<Dst, DefaultApprox>,
Approximate the subject to a given type with the default scheme.
sourcefn approx_as_by<Dst, Scheme>(self) -> Result<Dst, Self::Err> where
Self: ApproxInto<Dst, Scheme>,
Scheme: ApproxScheme,
fn approx_as_by<Dst, Scheme>(self) -> Result<Dst, Self::Err> where
Self: ApproxInto<Dst, Scheme>,
Scheme: ApproxScheme,
Approximate the subject to a given type with a specific scheme.