algebra-simple
Safe HaskellNone
LanguageHaskell2010

Numeric.Algebra.Space.Semimodule

Description

Provides the Semimodule typeclass.

Since: 0.1

Synopsis

Documentation

class (Demimodule m r, Hemimodule m r, Semiring r) => Semimodule m r | m -> r Source #

Defines a Semimodule over a Semiring.

Examples:

Expand
  • \( \mathbb{Z}^{+} \times \mathbb{Z}^{+} \), the two-dimensional non-negative integers.
>>> :{
  -- Addition
  f1 :: (Semimodule m r) => m -> m
  f1 m = m .+. m
:}
>>> f1 (8,4)
(16,8)
>>> :{
  -- Zero
  f2 :: (Semimodule m r) => m -> m
  f2 m = m .+. zero
:}
>>> f2 (8,4)
(8,4)
>>> :{
  -- Scalar multiplication
  f3 :: (Semimodule m r, Num r) => m -> m
  f3 m = m .* 6
:}
>>> f3 (8,4)
(48,24)

Since: 0.1

Instances

Instances details
Semiring r => Semimodule (r, r) r Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Space.Semimodule

Semiring r => Semimodule (r, r, r) r Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Space.Semimodule

Semiring r => Semimodule (r, r, r, r) r Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Space.Semimodule

Semiring r => Semimodule (r, r, r, r, r) r Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Space.Semimodule

Semiring r => Semimodule (r, r, r, r, r, r) r Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Space.Semimodule

Semiring r => Semimodule (r, r, r, r, r, r, r) r Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Space.Semimodule

Semiring r => Semimodule (r, r, r, r, r, r, r, r) r Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Space.Semimodule

Semiring r => Semimodule (r, r, r, r, r, r, r, r, r) r Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Space.Semimodule