group-theory-0.2.1.0: The theory of groups
Copyright (c) 2020-2021 Emily Pillmore BSD-style Emily Pillmore , Reed Mullanix stable non-portable Safe Haskell2010

Data.Group.Multiplicative

Description

This module contains definitions for MultiplicativeGroup and MultiplicativeAbelianGroup, along with the relevant combinators.

Synopsis

# Multiplicative Groups

class Group g => MultiplicativeGroup g Source #

An multiplicative group is a Group whose operation can be thought of as multiplication in some sense.

For example, the multiplicative group of rationals $$(ℚ, 1, *)$$.

#### Instances

Instances details
 Source # Instance detailsDefined in Data.Group.Multiplicative Source # Instance detailsDefined in Data.Group.Multiplicative Source # Instance detailsDefined in Data.Group.Multiplicative Source # Instance detailsDefined in Data.Group.Multiplicative MultiplicativeGroup b => MultiplicativeGroup (a -> b) Source # Instance detailsDefined in Data.Group.Multiplicative Source # Instance detailsDefined in Data.Group.Multiplicative Source # Instance detailsDefined in Data.Group.Multiplicative (MultiplicativeGroup a, MultiplicativeGroup b, MultiplicativeGroup c) => MultiplicativeGroup (a, b, c) Source # Instance detailsDefined in Data.Group.Multiplicative Source # Instance detailsDefined in Data.Group.Multiplicative (MultiplicativeGroup a, MultiplicativeGroup b, MultiplicativeGroup c, MultiplicativeGroup d) => MultiplicativeGroup (a, b, c, d) Source # Instance detailsDefined in Data.Group.Multiplicative (MultiplicativeGroup a, MultiplicativeGroup b, MultiplicativeGroup c, MultiplicativeGroup d, MultiplicativeGroup e) => MultiplicativeGroup (a, b, c, d, e) Source # Instance detailsDefined in Data.Group.Multiplicative

## combinators

(/) :: MultiplicativeGroup a => a -> a -> a infixl 7 Source #

Infix alias for multiplicative inverse.

### Examples:

>>> let x = Product (4 :: Rational)
>>> x / 2
Product {getProduct = 2 % 1}


(*) :: MultiplicativeGroup g => g -> g -> g infixl 7 Source #

Infix alias for multiplicative (<>).

### Examples:

>>> Product (2 :: Rational) * Product (3 :: Rational)
Product {getProduct = 6 % 1}


(^) :: (Integral n, MultiplicativeGroup a) => a -> n -> a infixr 8 Source #

Infix alias for power.

### Examples:

>>> let x = Product (3 :: Rational)
>>> x ^ 3
Product {getProduct = 27 % 1}


power :: (Integral n, MultiplicativeGroup g) => g -> n -> g Source #

Multiply an element of a multiplicative group by itself n-many times.

This represents ℕ-indexed powers of an element g of a multiplicative group, i.e. iterated products of group elements. This is representable by the universal property $$C(x, ∏_n g) ≅ C(x, g)^n$$.

### Examples:

>>> power (Product (3 :: Rational)) 3
Product {getProduct = 27 % 1}


# Multiplicative abelian groups

A multiplicative abelian group is a Group whose operation can be thought of as commutative multiplication in some sense. Almost all multiplicative groups are abelian.

#### Instances

Instances details
 Source # Instance detailsDefined in Data.Group.Multiplicative Source # Instance detailsDefined in Data.Group.Multiplicative Source # Instance detailsDefined in Data.Group.Multiplicative Source # Instance detailsDefined in Data.Group.Multiplicative Source # Instance detailsDefined in Data.Group.Multiplicative Source # Instance detailsDefined in Data.Group.Multiplicative Source # Instance detailsDefined in Data.Group.Multiplicative Source # Instance detailsDefined in Data.Group.Multiplicative Source # Instance detailsDefined in Data.Group.Multiplicative Source # Instance detailsDefined in Data.Group.Multiplicative Source # Instance detailsDefined in Data.Group.Multiplicative