Skip to main content

MulGroup

Trait MulGroup 

Source
pub trait MulGroup:
    MulMonoid
    + InvMonoid
    + Div<Output = Self>
    + DivAssign { }
Expand description

Represents a Multiplicative Group.

A multiplicative group is a Group where the binary operation is multiplication (*).

§Mathematical Definition

A set G is a group under multiplication if it satisfies:

  1. Closure: a * b is in G. (Implicit in Rust).
  2. Associativity: (a * b) * c = a * (b * c). (Implied by MulMonoid).
  3. Identity Element: There is an element 1 such that a * 1 = a. (Provided by the MulMonoid -> One trait).
  4. Inverse Element: For each a, there is an inverse a⁻¹ such that a * a⁻¹ = 1. (Provided by the InvMonoid trait).

In a Field, the set of all non-zero elements forms a multiplicative group.

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<T> MulGroup for T
where T: MulMonoid + InvMonoid + Div<Output = Self> + DivAssign,