Trait LinearMap

Source
pub trait LinearMap<S, V, W>: Mul<V, Output = W> + Copy
where S: Ring, V: Module<S>, W: Module<S>,
{ // Required methods fn determinant(self) -> S; fn transpose(self) -> Self; }
Expand description

Module homomorphism

Required Methods§

Source

fn determinant(self) -> S

Source

fn transpose(self) -> Self

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.

Implementations on Foreign Types§

Source§

impl LinearMap<f32, f32, f32> for f32

Source§

fn determinant(self) -> Self

Source§

fn transpose(self) -> Self

Source§

impl LinearMap<f64, f64, f64> for f64

Source§

fn determinant(self) -> Self

Source§

fn transpose(self) -> Self

Source§

impl<U> LinearMap<FixedI8<U>, FixedI8<U>, FixedI8<U>> for FixedI8<U>
where U: Unsigned + IsLessOrEqual<U6, Output = True> + IsLessOrEqual<U5, Output = True> + LtU8,

Source§

fn determinant(self) -> Self

Source§

fn transpose(self) -> Self

Source§

impl<U> LinearMap<FixedI16<U>, FixedI16<U>, FixedI16<U>> for FixedI16<U>
where U: Unsigned + IsLessOrEqual<U14, Output = True> + IsLessOrEqual<U13, Output = True> + LtU16,

Source§

fn determinant(self) -> Self

Source§

fn transpose(self) -> Self

Source§

impl<U> LinearMap<FixedI32<U>, FixedI32<U>, FixedI32<U>> for FixedI32<U>
where U: Unsigned + IsLessOrEqual<U30, Output = True> + IsLessOrEqual<U29, Output = True> + LtU32,

Source§

fn determinant(self) -> Self

Source§

fn transpose(self) -> Self

Source§

impl<U> LinearMap<FixedI64<U>, FixedI64<U>, FixedI64<U>> for FixedI64<U>
where U: Unsigned + IsLessOrEqual<U62, Output = True> + IsLessOrEqual<U61, Output = True> + LtU64,

Source§

fn determinant(self) -> Self

Source§

fn transpose(self) -> Self

Implementors§

Source§

impl<S, U, V> LinearMap<S, Displacement2<S, U>, Displacement2<S, V>> for Transform2<S, U, V>
where S: Ring,

Source§

impl<S, U, V> LinearMap<S, Displacement3<S, U>, Displacement3<S, V>> for Transform3<S, U, V>
where S: Ring,

Source§

impl<S, U, V> LinearMap<S, Displacement4<S, U>, Displacement4<S, V>> for Transform4<S, U, V>
where S: Ring,

Source§

impl<S: Ring> LinearMap<S, Vec2<S>, Vec2<S>> for Matrix2<S>

Source§

impl<S: Ring> LinearMap<S, Vec3<S>, Vec3<S>> for Matrix3<S>

Source§

impl<S: Ring> LinearMap<S, Vec4<S>, Vec4<S>> for Matrix4<S>