[go: up one dir, main page]

Trait FiniteDimInnerSpace

Source
pub trait FiniteDimInnerSpace: InnerSpace + FiniteDimVectorSpace<Field = <Self as NormedSpace>::ComplexField> {
    // Required methods
    fn orthonormalize(vs: &mut [Self]) -> usize;
    fn orthonormal_subspace_basis<F: FnMut(&Self) -> bool>(vs: &[Self], f: F);
}
Expand description

A finite-dimensional vector space equipped with an inner product that must coincide with the dot product.

Required Methods§

Source

fn orthonormalize(vs: &mut [Self]) -> usize

Orthonormalizes the given family of vectors. The largest free family of vectors is moved at the beginning of the array and its size is returned. Vectors at an indices larger or equal to this length can be modified to an arbitrary value.

Source

fn orthonormal_subspace_basis<F: FnMut(&Self) -> bool>(vs: &[Self], f: F)

Applies the given closure to each element of the orthonormal basis of the subspace orthogonal to free family of vectors vs. If vs is not a free family, the result is unspecified.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§