algebra-simple
Safe HaskellNone
LanguageHaskell2010

Numeric.Algebra.Space.Hemimodule

Description

Provides the Hemimodule typeclass.

Since: 0.1

Synopsis

Documentation

class (AMonoid m, Quartamodule m r, Hemiring r) => Hemimodule m r | m -> r Source #

Defines a Hemimodule over a Hemiring.

Examples:

Expand
  • \( \text{Let } S = \mathbb{N} \setminus \{1\} \text{ in } S \times S \), two-dimensional naturals without 1.
>>> :{
  -- Addition
  f1 :: (Hemimodule m r) => m -> m
  f1 m = m .+. m
:}
>>> f1 (8,4)
(16,8)
>>> :{
  -- Zero
  f2 :: (Hemimodule m r) => m -> m
  f2 m = m .+. zero
:}
>>> f2 (8,4)
(8,4)
>>> :{
  -- Scalar multiplication
  f3 :: (Hemimodule m r, Num r) => m -> m
  f3 m = m .* 6
:}
>>> f3 (8,4)
(48,24)

Since: 0.1

Instances

Instances details
Hemiring r => Hemimodule (r, r) r Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Space.Hemimodule

Hemiring r => Hemimodule (r, r, r) r Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Space.Hemimodule

Hemiring r => Hemimodule (r, r, r, r) r Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Space.Hemimodule

Hemiring r => Hemimodule (r, r, r, r, r) r Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Space.Hemimodule

Hemiring r => Hemimodule (r, r, r, r, r, r) r Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Space.Hemimodule

Hemiring r => Hemimodule (r, r, r, r, r, r, r) r Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Space.Hemimodule

Hemiring r => Hemimodule (r, r, r, r, r, r, r, r) r Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Space.Hemimodule

Hemiring r => Hemimodule (r, r, r, r, r, r, r, r, r) r Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Space.Hemimodule