pub trait Rotor: Copy + Mul<Output = Self> {
type Bivector: Bivector<Rotor = Self>;
type Vector: Copy;
// Required methods
fn identity() -> Self;
fn inverse(self) -> Self;
fn apply(&self, v: Self::Vector) -> Self::Vector;
fn log(self) -> Self::Bivector;
}Expand description
Rotor operations require unit elements of Spin(N); public fields do not enforce this.
Required Associated Types§
Required Methods§
fn identity() -> Self
fn inverse(self) -> Self
fn apply(&self, v: Self::Vector) -> Self::Vector
Sourcefn log(self) -> Self::Bivector
fn log(self) -> Self::Bivector
Inverse of Bivector::exp; Rotor4 takes the shorter rotation, so its result may generate −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.