Skip to main content

InnerProductSpace

Trait InnerProductSpace 

Source
pub trait InnerProductSpace<S: Field>: VectorSpace<S> + Dot<S> {
    // Required methods
    fn outer_product(self, other: Self) -> Self::LinearEndo;
    fn orthogonal(self) -> Self
       where S: AbsDiffEq<Epsilon = S>;

    // Provided method
    fn inner_product(self, other: Self) -> S { ... }
}
Expand description

Bilinear form on a VectorSpace

Required Methods§

Source

fn outer_product(self, other: Self) -> Self::LinearEndo

Source

fn orthogonal(self) -> Self
where S: AbsDiffEq<Epsilon = S>,

Provided Methods§

Source

fn inner_product(self, other: Self) -> S

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§

Source§

impl<S> InnerProductSpace<S> for Vector2<S>
where S: Field,

Source§

impl<S> InnerProductSpace<S> for Vector3<S>
where S: Field,

Source§

impl<S> InnerProductSpace<S> for Vector4<S>
where S: Field,

Source§

impl<S, U> InnerProductSpace<S> for Displacement2<S, U>
where S: Field, U: Debug,

Source§

impl<S, U> InnerProductSpace<S> for Displacement3<S, U>
where S: Field, U: Debug,

Source§

impl<S, U> InnerProductSpace<S> for Displacement4<S, U>
where S: Field, U: Debug,