Trait ndarray_stats::DeviationExt

source ·
pub trait DeviationExt<A, S, D>
where S: Data<Elem = A>, D: Dimension,
{ // Required methods fn count_eq<T>( &self, other: &ArrayBase<T, D>, ) -> Result<usize, MultiInputError> where A: PartialEq, T: Data<Elem = A>; fn count_neq<T>( &self, other: &ArrayBase<T, D>, ) -> Result<usize, MultiInputError> where A: PartialEq, T: Data<Elem = A>; fn sq_l2_dist<T>( &self, other: &ArrayBase<T, D>, ) -> Result<A, MultiInputError> where A: AddAssign + Clone + Signed, T: Data<Elem = A>; fn l2_dist<T>( &self, other: &ArrayBase<T, D>, ) -> Result<f64, MultiInputError> where A: AddAssign + Clone + Signed + ToPrimitive, T: Data<Elem = A>; fn l1_dist<T>(&self, other: &ArrayBase<T, D>) -> Result<A, MultiInputError> where A: AddAssign + Clone + Signed, T: Data<Elem = A>; fn linf_dist<T>( &self, other: &ArrayBase<T, D>, ) -> Result<A, MultiInputError> where A: Clone + PartialOrd + Signed, T: Data<Elem = A>; fn mean_abs_err<T>( &self, other: &ArrayBase<T, D>, ) -> Result<f64, MultiInputError> where A: AddAssign + Clone + Signed + ToPrimitive, T: Data<Elem = A>; fn mean_sq_err<T>( &self, other: &ArrayBase<T, D>, ) -> Result<f64, MultiInputError> where A: AddAssign + Clone + Signed + ToPrimitive, T: Data<Elem = A>; fn root_mean_sq_err<T>( &self, other: &ArrayBase<T, D>, ) -> Result<f64, MultiInputError> where A: AddAssign + Clone + Signed + ToPrimitive, T: Data<Elem = A>; fn peak_signal_to_noise_ratio<T>( &self, other: &ArrayBase<T, D>, maxv: A, ) -> Result<f64, MultiInputError> where A: AddAssign + Clone + Signed + ToPrimitive, T: Data<Elem = A>; fn __private__(&self, _: PrivateMarker); }
Expand description

An extension trait for ArrayBase providing functions to compute different deviation measures.

Required Methods§

source

fn count_eq<T>(&self, other: &ArrayBase<T, D>) -> Result<usize, MultiInputError>
where A: PartialEq, T: Data<Elem = A>,

Counts the number of indices at which the elements of the arrays self and other are equal.

The following errors may be returned:

  • MultiInputError::EmptyInput if self is empty
  • MultiInputError::ShapeMismatch if self and other don’t have the same shape
source

fn count_neq<T>( &self, other: &ArrayBase<T, D>, ) -> Result<usize, MultiInputError>
where A: PartialEq, T: Data<Elem = A>,

Counts the number of indices at which the elements of the arrays self and other are not equal.

The following errors may be returned:

  • MultiInputError::EmptyInput if self is empty
  • MultiInputError::ShapeMismatch if self and other don’t have the same shape
source

fn sq_l2_dist<T>(&self, other: &ArrayBase<T, D>) -> Result<A, MultiInputError>
where A: AddAssign + Clone + Signed, T: Data<Elem = A>,

Computes the squared L2 distance between self and other.

 n
 ∑  |aᵢ - bᵢ|²
i=1

where self is a and other is b.

The following errors may be returned:

  • MultiInputError::EmptyInput if self is empty
  • MultiInputError::ShapeMismatch if self and other don’t have the same shape
source

fn l2_dist<T>(&self, other: &ArrayBase<T, D>) -> Result<f64, MultiInputError>
where A: AddAssign + Clone + Signed + ToPrimitive, T: Data<Elem = A>,

Computes the L2 distance between self and other.

     n
√ (  ∑  |aᵢ - bᵢ|² )
    i=1

where self is a and other is b.

The following errors may be returned:

  • MultiInputError::EmptyInput if self is empty
  • MultiInputError::ShapeMismatch if self and other don’t have the same shape

Panics if the type cast from A to f64 fails.

source

fn l1_dist<T>(&self, other: &ArrayBase<T, D>) -> Result<A, MultiInputError>
where A: AddAssign + Clone + Signed, T: Data<Elem = A>,

Computes the L1 distance between self and other.

 n
 ∑  |aᵢ - bᵢ|
i=1

where self is a and other is b.

The following errors may be returned:

  • MultiInputError::EmptyInput if self is empty
  • MultiInputError::ShapeMismatch if self and other don’t have the same shape
source

fn linf_dist<T>(&self, other: &ArrayBase<T, D>) -> Result<A, MultiInputError>
where A: Clone + PartialOrd + Signed, T: Data<Elem = A>,

Computes the L∞ distance between self and other.

max(|aᵢ - bᵢ|)
 ᵢ

where self is a and other is b.

The following errors may be returned:

  • MultiInputError::EmptyInput if self is empty
  • MultiInputError::ShapeMismatch if self and other don’t have the same shape
source

fn mean_abs_err<T>( &self, other: &ArrayBase<T, D>, ) -> Result<f64, MultiInputError>
where A: AddAssign + Clone + Signed + ToPrimitive, T: Data<Elem = A>,

Computes the mean absolute error between self and other.

       n
1/n *  ∑  |aᵢ - bᵢ|
      i=1

where self is a and other is b.

The following errors may be returned:

  • MultiInputError::EmptyInput if self is empty
  • MultiInputError::ShapeMismatch if self and other don’t have the same shape

Panics if the type cast from A to f64 fails.

source

fn mean_sq_err<T>( &self, other: &ArrayBase<T, D>, ) -> Result<f64, MultiInputError>
where A: AddAssign + Clone + Signed + ToPrimitive, T: Data<Elem = A>,

Computes the mean squared error between self and other.

       n
1/n *  ∑  |aᵢ - bᵢ|²
      i=1

where self is a and other is b.

The following errors may be returned:

  • MultiInputError::EmptyInput if self is empty
  • MultiInputError::ShapeMismatch if self and other don’t have the same shape

Panics if the type cast from A to f64 fails.

source

fn root_mean_sq_err<T>( &self, other: &ArrayBase<T, D>, ) -> Result<f64, MultiInputError>
where A: AddAssign + Clone + Signed + ToPrimitive, T: Data<Elem = A>,

Computes the unnormalized root-mean-square error between self and other.

√ mse(a, b)

where self is a, other is b and mse is the mean-squared-error.

The following errors may be returned:

  • MultiInputError::EmptyInput if self is empty
  • MultiInputError::ShapeMismatch if self and other don’t have the same shape

Panics if the type cast from A to f64 fails.

source

fn peak_signal_to_noise_ratio<T>( &self, other: &ArrayBase<T, D>, maxv: A, ) -> Result<f64, MultiInputError>
where A: AddAssign + Clone + Signed + ToPrimitive, T: Data<Elem = A>,

Computes the peak signal-to-noise ratio between self and other.

10 * log10(maxv^2 / mse(a, b))

where self is a, other is b, mse is the mean-squared-error and maxv is the maximum possible value either array can take.

The following errors may be returned:

  • MultiInputError::EmptyInput if self is empty
  • MultiInputError::ShapeMismatch if self and other don’t have the same shape

Panics if the type cast from A to f64 fails.

source

fn __private__(&self, _: PrivateMarker)

This method makes this trait impossible to implement outside of ndarray-stats so that we can freely add new methods, etc., to this trait without breaking changes.

We don’t anticipate any other crates needing to implement this trait, but if you do have such a use-case, please let us know.

Warning This method is not considered part of the public API, and client code should not rely on it being present. It may be removed in a non-breaking release.

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl<A, S, D> DeviationExt<A, S, D> for ArrayBase<S, D>
where S: Data<Elem = A>, D: Dimension,

source§

fn count_eq<T>(&self, other: &ArrayBase<T, D>) -> Result<usize, MultiInputError>
where A: PartialEq, T: Data<Elem = A>,

source§

fn count_neq<T>( &self, other: &ArrayBase<T, D>, ) -> Result<usize, MultiInputError>
where A: PartialEq, T: Data<Elem = A>,

source§

fn sq_l2_dist<T>(&self, other: &ArrayBase<T, D>) -> Result<A, MultiInputError>
where A: AddAssign + Clone + Signed, T: Data<Elem = A>,

source§

fn l2_dist<T>(&self, other: &ArrayBase<T, D>) -> Result<f64, MultiInputError>
where A: AddAssign + Clone + Signed + ToPrimitive, T: Data<Elem = A>,

source§

fn l1_dist<T>(&self, other: &ArrayBase<T, D>) -> Result<A, MultiInputError>
where A: AddAssign + Clone + Signed, T: Data<Elem = A>,

source§

fn linf_dist<T>(&self, other: &ArrayBase<T, D>) -> Result<A, MultiInputError>
where A: Clone + PartialOrd + Signed, T: Data<Elem = A>,

source§

fn mean_abs_err<T>( &self, other: &ArrayBase<T, D>, ) -> Result<f64, MultiInputError>
where A: AddAssign + Clone + Signed + ToPrimitive, T: Data<Elem = A>,

source§

fn mean_sq_err<T>( &self, other: &ArrayBase<T, D>, ) -> Result<f64, MultiInputError>
where A: AddAssign + Clone + Signed + ToPrimitive, T: Data<Elem = A>,

source§

fn root_mean_sq_err<T>( &self, other: &ArrayBase<T, D>, ) -> Result<f64, MultiInputError>
where A: AddAssign + Clone + Signed + ToPrimitive, T: Data<Elem = A>,

source§

fn peak_signal_to_noise_ratio<T>( &self, other: &ArrayBase<T, D>, maxv: A, ) -> Result<f64, MultiInputError>
where A: AddAssign + Clone + Signed + ToPrimitive, T: Data<Elem = A>,

source§

fn __private__(&self, _: PrivateMarker)

Implementors§