Trait alga::linear::NormedSpace
source · pub trait NormedSpace: VectorSpace<Field = Self::ComplexField> {
type RealField: RealField;
type ComplexField: ComplexField<RealField = Self::RealField>;
// Required methods
fn norm_squared(&self) -> Self::RealField;
fn norm(&self) -> Self::RealField;
fn normalize(&self) -> Self;
fn normalize_mut(&mut self) -> Self::RealField;
fn try_normalize(&self, eps: Self::RealField) -> Option<Self>;
fn try_normalize_mut(
&mut self,
eps: Self::RealField
) -> Option<Self::RealField>;
}
Expand description
A normed vector space.
Required Associated Types§
sourcetype RealField: RealField
type RealField: RealField
The result of the norm (not necessarily the same same as the field used by this vector space).
sourcetype ComplexField: ComplexField<RealField = Self::RealField>
type ComplexField: ComplexField<RealField = Self::RealField>
The field of this space must be this complex number.
Required Methods§
sourcefn norm_squared(&self) -> Self::RealField
fn norm_squared(&self) -> Self::RealField
The squared norm of this vector.
sourcefn normalize_mut(&mut self) -> Self::RealField
fn normalize_mut(&mut self) -> Self::RealField
Normalizes this vector in-place and returns its norm.
sourcefn try_normalize(&self, eps: Self::RealField) -> Option<Self>
fn try_normalize(&self, eps: Self::RealField) -> Option<Self>
Returns a normalized version of this vector unless its norm as smaller or equal to eps
.
sourcefn try_normalize_mut(&mut self, eps: Self::RealField) -> Option<Self::RealField>
fn try_normalize_mut(&mut self, eps: Self::RealField) -> Option<Self::RealField>
Normalizes this vector in-place or does nothing if its norm is smaller or equal to eps
.
If the normalization succeeded, returns the old normal of this vector.
Object Safety§
This trait is not object safe.