pub struct GraphSignalSmoother {
pub alpha: f64,
}Expand description
Graph signal smoother via Tikhonov (graph Laplacian) regularization.
Solves the regularized least-squares problem:
minimize ‖x − y‖² + α xᵀ L x
where y is the observed (potentially noisy) signal, L is the graph
Laplacian, and α > 0 is the regularization strength.
The closed-form solution is:
x* = (I + α L)⁻¹ y = U (I + α Λ)⁻¹ Uᵀ y
which can be computed efficiently using the GFT as a spectral filter with
frequency response h(λ) = 1 / (1 + α λ).
Fields§
§alpha: f64Regularization strength α > 0.
Implementations§
Source§impl GraphSignalSmoother
impl GraphSignalSmoother
Sourcepub fn smooth(
&self,
gft: &GraphFourierTransform,
signal: &Array1<f64>,
) -> Result<Array1<f64>>
pub fn smooth( &self, gft: &GraphFourierTransform, signal: &Array1<f64>, ) -> Result<Array1<f64>>
Smooth the observed signal y using the GFT basis.
Returns x* = U (I + α Λ)⁻¹ Uᵀ y.
Sourcepub fn frequency_response(&self, gft: &GraphFourierTransform) -> Array1<f64>
pub fn frequency_response(&self, gft: &GraphFourierTransform) -> Array1<f64>
Return the frequency response function h(λ) = 1/(1 + α λ) evaluated at each graph frequency.
Trait Implementations§
Source§impl Clone for GraphSignalSmoother
impl Clone for GraphSignalSmoother
Source§fn clone(&self) -> GraphSignalSmoother
fn clone(&self) -> GraphSignalSmoother
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for GraphSignalSmoother
impl RefUnwindSafe for GraphSignalSmoother
impl Send for GraphSignalSmoother
impl Sync for GraphSignalSmoother
impl Unpin for GraphSignalSmoother
impl UnsafeUnpin for GraphSignalSmoother
impl UnwindSafe for GraphSignalSmoother
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more