pub trait AssociativeDivisionAlgebra<R: Field>: DivisionAlgebra<R> + AssociativeAlgebra<R> { }Expand description
A marker trait for an Associative Division Algebra.
This trait identifies a DivisionAlgebra where the multiplication operation
is also associative. It combines the properties of both traits.
§Mathematical Definition
An associative division algebra is a set that is simultaneously an
AssociativeAlgebra and a DivisionAlgebra. This means it supports
associative multiplication and that every non-zero element has a
multiplicative inverse.
§Examples
- Real numbers (
f32,f64) - Complex numbers (
Complex<T>) - Quaternions (
Quaternion<T>)
A notable counter-example is the Octonions, which form a DivisionAlgebra
but are not associative.
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.