Trait un_algebra::group::mul_group::NumMulGroup [−][src]
pub trait NumMulGroup: NumMulMonoid { fn invert(&self) -> Self; fn is_invertible(&self) -> bool; fn div(&self, other: &Self) -> Self { ... } fn axiom_left_invert(&self, eps: &Self::Error) -> bool { ... } fn axiom_right_invert(&self, eps: &Self::Error) -> bool { ... } }
A "numeric" algebraic multiplicative group.
NumAddGroup
trait is for types that only form multiplicative
groups when "numeric" comparisons are used, e.g. floating point
types.
Required Methods
fn invert(&self) -> Self
The unique multiplicative inverse of a group element. Inversion is only defined for invertible group elements.
fn is_invertible(&self) -> bool
Test for an invertible group element.
Provided Methods
fn div(&self, other: &Self) -> Self
The multiplicative "division" of two group elements.
fn axiom_left_invert(&self, eps: &Self::Error) -> bool
Numerically test the left axiom of inversion.
fn axiom_right_invert(&self, eps: &Self::Error) -> bool
Numerically test the right axiom of inversion.
Implementations on Foreign Types
impl NumMulGroup for f32
[src]
impl NumMulGroup for f32
fn invert(&self) -> Self
[src]
fn invert(&self) -> Self
Inversion is just floating point inversion.
fn is_invertible(&self) -> bool
[src]
fn is_invertible(&self) -> bool
Non-zero elements are invertible.
fn div(&self, other: &Self) -> Self
[src]
fn div(&self, other: &Self) -> Self
fn axiom_left_invert(&self, eps: &Self::Error) -> bool
[src]
fn axiom_left_invert(&self, eps: &Self::Error) -> bool
fn axiom_right_invert(&self, eps: &Self::Error) -> bool
[src]
fn axiom_right_invert(&self, eps: &Self::Error) -> bool
impl NumMulGroup for f64
[src]
impl NumMulGroup for f64
fn invert(&self) -> Self
[src]
fn invert(&self) -> Self
Inversion is just floating point inversion.
fn is_invertible(&self) -> bool
[src]
fn is_invertible(&self) -> bool
Non-zero elements are invertible.
fn div(&self, other: &Self) -> Self
[src]
fn div(&self, other: &Self) -> Self
fn axiom_left_invert(&self, eps: &Self::Error) -> bool
[src]
fn axiom_left_invert(&self, eps: &Self::Error) -> bool
fn axiom_right_invert(&self, eps: &Self::Error) -> bool
[src]
fn axiom_right_invert(&self, eps: &Self::Error) -> bool
impl<A: NumMulGroup> NumMulGroup for (A,)
[src]
impl<A: NumMulGroup> NumMulGroup for (A,)
1-tuples form a numeric multiplicative group if their corresponding items form numeric multiplicative groups.
impl<A: NumMulGroup> NumMulGroup for (A, A)
[src]
impl<A: NumMulGroup> NumMulGroup for (A, A)
Homogeneous 2-tuples form a numeric multiplicative group if their corresponding items form numeric multiplicative groups. We can only implement homogeneous tuples since numeric comparisons require a single numeric error type.
impl<A: NumMulGroup> NumMulGroup for (A, A, A)
[src]
impl<A: NumMulGroup> NumMulGroup for (A, A, A)
Homogeneous 3-tuples form a numeric multiplicative group if their corresponding items form numeric multiplicative groups. We can only implement homogeneous tuples since numeric comparisons require a single numeric error type.
impl<T: Real> NumMulGroup for Complex<T>
[src]
impl<T: Real> NumMulGroup for Complex<T>
Non-zero complex numbers (with real components) form a numeric multiplicative group.
fn invert(&self) -> Self
[src]
fn invert(&self) -> Self
Inversion is just complex inversion.
fn is_invertible(&self) -> bool
[src]
fn is_invertible(&self) -> bool
Non-zero complex numbers are invertible.
fn div(&self, other: &Self) -> Self
[src]
fn div(&self, other: &Self) -> Self
fn axiom_left_invert(&self, eps: &Self::Error) -> bool
[src]
fn axiom_left_invert(&self, eps: &Self::Error) -> bool
fn axiom_right_invert(&self, eps: &Self::Error) -> bool
[src]
fn axiom_right_invert(&self, eps: &Self::Error) -> bool