algebra-4.3.1: Constructive abstract algebra

Safe HaskellSafe
LanguageHaskell98

Numeric.Algebra

Contents

Synopsis

Additive

additive semigroups

class Additive r where #

(a + b) + c = a + (b + c)
sinnum 1 a = a
sinnum (2 * n) a = sinnum n a + sinnum n a
sinnum (2 * n + 1) a = sinnum n a + sinnum n a + a

Minimal complete definition

(+)

Methods

(+) :: r -> r -> r infixl 6 #

sinnum1p :: Natural -> r -> r #

sinnum1p n r = sinnum (1 + n) r

sumWith1 :: Foldable1 f => (a -> r) -> f a -> r #

Instances
Additive Bool # 
Instance details

Defined in Numeric.Additive.Class

Methods

(+) :: Bool -> Bool -> Bool #

sinnum1p :: Natural -> Bool -> Bool #

sumWith1 :: Foldable1 f => (a -> Bool) -> f a -> Bool #

Additive Int # 
Instance details

Defined in Numeric.Additive.Class

Methods

(+) :: Int -> Int -> Int #

sinnum1p :: Natural -> Int -> Int #

sumWith1 :: Foldable1 f => (a -> Int) -> f a -> Int #

Additive Int8 # 
Instance details

Defined in Numeric.Additive.Class

Methods

(+) :: Int8 -> Int8 -> Int8 #

sinnum1p :: Natural -> Int8 -> Int8 #

sumWith1 :: Foldable1 f => (a -> Int8) -> f a -> Int8 #

Additive Int16 # 
Instance details

Defined in Numeric.Additive.Class

Methods

(+) :: Int16 -> Int16 -> Int16 #

sinnum1p :: Natural -> Int16 -> Int16 #

sumWith1 :: Foldable1 f => (a -> Int16) -> f a -> Int16 #

Additive Int32 # 
Instance details

Defined in Numeric.Additive.Class

Methods

(+) :: Int32 -> Int32 -> Int32 #

sinnum1p :: Natural -> Int32 -> Int32 #

sumWith1 :: Foldable1 f => (a -> Int32) -> f a -> Int32 #

Additive Int64 # 
Instance details

Defined in Numeric.Additive.Class

Methods

(+) :: Int64 -> Int64 -> Int64 #

sinnum1p :: Natural -> Int64 -> Int64 #

sumWith1 :: Foldable1 f => (a -> Int64) -> f a -> Int64 #

Additive Integer # 
Instance details

Defined in Numeric.Additive.Class

Methods

(+) :: Integer -> Integer -> Integer #

sinnum1p :: Natural -> Integer -> Integer #

sumWith1 :: Foldable1 f => (a -> Integer) -> f a -> Integer #

Additive Natural # 
Instance details

Defined in Numeric.Additive.Class

Methods

(+) :: Natural -> Natural -> Natural #

sinnum1p :: Natural -> Natural -> Natural #

sumWith1 :: Foldable1 f => (a -> Natural) -> f a -> Natural #

Additive Word # 
Instance details

Defined in Numeric.Additive.Class

Methods

(+) :: Word -> Word -> Word #

sinnum1p :: Natural -> Word -> Word #

sumWith1 :: Foldable1 f => (a -> Word) -> f a -> Word #

Additive Word8 # 
Instance details

Defined in Numeric.Additive.Class

Methods

(+) :: Word8 -> Word8 -> Word8 #

sinnum1p :: Natural -> Word8 -> Word8 #

sumWith1 :: Foldable1 f => (a -> Word8) -> f a -> Word8 #

Additive Word16 # 
Instance details

Defined in Numeric.Additive.Class

Methods

(+) :: Word16 -> Word16 -> Word16 #

sinnum1p :: Natural -> Word16 -> Word16 #

sumWith1 :: Foldable1 f => (a -> Word16) -> f a -> Word16 #

Additive Word32 # 
Instance details

Defined in Numeric.Additive.Class

Methods

(+) :: Word32 -> Word32 -> Word32 #

sinnum1p :: Natural -> Word32 -> Word32 #

sumWith1 :: Foldable1 f => (a -> Word32) -> f a -> Word32 #

Additive Word64 # 
Instance details

Defined in Numeric.Additive.Class

Methods

(+) :: Word64 -> Word64 -> Word64 #

sinnum1p :: Natural -> Word64 -> Word64 #

sumWith1 :: Foldable1 f => (a -> Word64) -> f a -> Word64 #

Additive () # 
Instance details

Defined in Numeric.Additive.Class

Methods

(+) :: () -> () -> () #

sinnum1p :: Natural -> () -> () #

sumWith1 :: Foldable1 f => (a -> ()) -> f a -> () #

Additive Euclidean # 
Instance details

Defined in Numeric.Coalgebra.Geometric

Additive r => Additive (ZeroRng r) # 
Instance details

Defined in Numeric.Rng.Zero

Methods

(+) :: ZeroRng r -> ZeroRng r -> ZeroRng r #

sinnum1p :: Natural -> ZeroRng r -> ZeroRng r #

sumWith1 :: Foldable1 f => (a -> ZeroRng r) -> f a -> ZeroRng r #

Abelian r => Additive (RngRing r) # 
Instance details

Defined in Numeric.Ring.Rng

Methods

(+) :: RngRing r -> RngRing r -> RngRing r #

sinnum1p :: Natural -> RngRing r -> RngRing r #

sumWith1 :: Foldable1 f => (a -> RngRing r) -> f a -> RngRing r #

Additive r => Additive (Opposite r) # 
Instance details

Defined in Numeric.Ring.Opposite

Methods

(+) :: Opposite r -> Opposite r -> Opposite r #

sinnum1p :: Natural -> Opposite r -> Opposite r #

sumWith1 :: Foldable1 f => (a -> Opposite r) -> f a -> Opposite r #

Additive r => Additive (End r) # 
Instance details

Defined in Numeric.Ring.Endomorphism

Methods

(+) :: End r -> End r -> End r #

sinnum1p :: Natural -> End r -> End r #

sumWith1 :: Foldable1 f => (a -> End r) -> f a -> End r #

Multiplicative r => Additive (Log r) # 
Instance details

Defined in Numeric.Log

Methods

(+) :: Log r -> Log r -> Log r #

sinnum1p :: Natural -> Log r -> Log r #

sumWith1 :: Foldable1 f => (a -> Log r) -> f a -> Log r #

Additive r => Additive (Trig r) # 
Instance details

Defined in Numeric.Coalgebra.Trigonometric

Methods

(+) :: Trig r -> Trig r -> Trig r #

sinnum1p :: Natural -> Trig r -> Trig r #

sumWith1 :: Foldable1 f => (a -> Trig r) -> f a -> Trig r #

Additive r => Additive (Quaternion' r) # 
Instance details

Defined in Numeric.Coalgebra.Quaternion

Additive r => Additive (Hyper r) # 
Instance details

Defined in Numeric.Coalgebra.Hyperbolic

Methods

(+) :: Hyper r -> Hyper r -> Hyper r #

sinnum1p :: Natural -> Hyper r -> Hyper r #

sumWith1 :: Foldable1 f => (a -> Hyper r) -> f a -> Hyper r #

Additive (BasisCoblade m) # 
Instance details

Defined in Numeric.Coalgebra.Geometric

Additive r => Additive (Dual' r) # 
Instance details

Defined in Numeric.Coalgebra.Dual

Methods

(+) :: Dual' r -> Dual' r -> Dual' r #

sinnum1p :: Natural -> Dual' r -> Dual' r #

sumWith1 :: Foldable1 f => (a -> Dual' r) -> f a -> Dual' r #

Additive r => Additive (Quaternion r) # 
Instance details

Defined in Numeric.Algebra.Quaternion

Methods

(+) :: Quaternion r -> Quaternion r -> Quaternion r #

sinnum1p :: Natural -> Quaternion r -> Quaternion r #

sumWith1 :: Foldable1 f => (a -> Quaternion r) -> f a -> Quaternion r #

Additive r => Additive (Hyper' r) # 
Instance details

Defined in Numeric.Algebra.Hyperbolic

Methods

(+) :: Hyper' r -> Hyper' r -> Hyper' r #

sinnum1p :: Natural -> Hyper' r -> Hyper' r #

sumWith1 :: Foldable1 f => (a -> Hyper' r) -> f a -> Hyper' r #

Additive r => Additive (Dual r) # 
Instance details

Defined in Numeric.Algebra.Dual

Methods

(+) :: Dual r -> Dual r -> Dual r #

sinnum1p :: Natural -> Dual r -> Dual r #

sumWith1 :: Foldable1 f => (a -> Dual r) -> f a -> Dual r #

Additive r => Additive (Complex r) # 
Instance details

Defined in Numeric.Algebra.Complex

Methods

(+) :: Complex r -> Complex r -> Complex r #

sinnum1p :: Natural -> Complex r -> Complex r #

sumWith1 :: Foldable1 f => (a -> Complex r) -> f a -> Complex r #

GCDDomain d => Additive (Fraction d) # 
Instance details

Defined in Numeric.Field.Fraction

Methods

(+) :: Fraction d -> Fraction d -> Fraction d #

sinnum1p :: Natural -> Fraction d -> Fraction d #

sumWith1 :: Foldable1 f => (a -> Fraction d) -> f a -> Fraction d #

Additive r => Additive (b -> r) # 
Instance details

Defined in Numeric.Additive.Class

Methods

(+) :: (b -> r) -> (b -> r) -> b -> r #

sinnum1p :: Natural -> (b -> r) -> b -> r #

sumWith1 :: Foldable1 f => (a -> b -> r) -> f a -> b -> r #

(Additive a, Additive b) => Additive (a, b) # 
Instance details

Defined in Numeric.Additive.Class

Methods

(+) :: (a, b) -> (a, b) -> (a, b) #

sinnum1p :: Natural -> (a, b) -> (a, b) #

sumWith1 :: Foldable1 f => (a0 -> (a, b)) -> f a0 -> (a, b) #

Additive r => Additive (Covector r a) # 
Instance details

Defined in Numeric.Covector

Methods

(+) :: Covector r a -> Covector r a -> Covector r a #

sinnum1p :: Natural -> Covector r a -> Covector r a #

sumWith1 :: Foldable1 f => (a0 -> Covector r a) -> f a0 -> Covector r a #

(Additive a, Additive b, Additive c) => Additive (a, b, c) # 
Instance details

Defined in Numeric.Additive.Class

Methods

(+) :: (a, b, c) -> (a, b, c) -> (a, b, c) #

sinnum1p :: Natural -> (a, b, c) -> (a, b, c) #

sumWith1 :: Foldable1 f => (a0 -> (a, b, c)) -> f a0 -> (a, b, c) #

Additive r => Additive (Map r b a) # 
Instance details

Defined in Numeric.Map

Methods

(+) :: Map r b a -> Map r b a -> Map r b a #

sinnum1p :: Natural -> Map r b a -> Map r b a #

sumWith1 :: Foldable1 f => (a0 -> Map r b a) -> f a0 -> Map r b a #

(Additive a, Additive b, Additive c, Additive d) => Additive (a, b, c, d) # 
Instance details

Defined in Numeric.Additive.Class

Methods

(+) :: (a, b, c, d) -> (a, b, c, d) -> (a, b, c, d) #

sinnum1p :: Natural -> (a, b, c, d) -> (a, b, c, d) #

sumWith1 :: Foldable1 f => (a0 -> (a, b, c, d)) -> f a0 -> (a, b, c, d) #

(Additive a, Additive b, Additive c, Additive d, Additive e) => Additive (a, b, c, d, e) # 
Instance details

Defined in Numeric.Additive.Class

Methods

(+) :: (a, b, c, d, e) -> (a, b, c, d, e) -> (a, b, c, d, e) #

sinnum1p :: Natural -> (a, b, c, d, e) -> (a, b, c, d, e) #

sumWith1 :: Foldable1 f => (a0 -> (a, b, c, d, e)) -> f a0 -> (a, b, c, d, e) #

sum1 :: (Foldable1 f, Additive r) => f r -> r #

additive Abelian semigroups

class Additive r => Abelian r #

an additive abelian semigroup

a + b = b + a

Instances
Abelian Bool # 
Instance details

Defined in Numeric.Additive.Class

Abelian Int # 
Instance details

Defined in Numeric.Additive.Class

Abelian Int8 # 
Instance details

Defined in Numeric.Additive.Class

Abelian Int16 # 
Instance details

Defined in Numeric.Additive.Class

Abelian Int32 # 
Instance details

Defined in Numeric.Additive.Class

Abelian Int64 # 
Instance details

Defined in Numeric.Additive.Class

Abelian Integer # 
Instance details

Defined in Numeric.Additive.Class

Abelian Natural # 
Instance details

Defined in Numeric.Additive.Class

Abelian Word # 
Instance details

Defined in Numeric.Additive.Class

Abelian Word8 # 
Instance details

Defined in Numeric.Additive.Class

Abelian Word16 # 
Instance details

Defined in Numeric.Additive.Class

Abelian Word32 # 
Instance details

Defined in Numeric.Additive.Class

Abelian Word64 # 
Instance details

Defined in Numeric.Additive.Class

Abelian () # 
Instance details

Defined in Numeric.Additive.Class

Abelian Euclidean # 
Instance details

Defined in Numeric.Coalgebra.Geometric

Abelian r => Abelian (ZeroRng r) # 
Instance details

Defined in Numeric.Rng.Zero

Abelian r => Abelian (RngRing r) # 
Instance details

Defined in Numeric.Ring.Rng

Abelian r => Abelian (Opposite r) # 
Instance details

Defined in Numeric.Ring.Opposite

Abelian r => Abelian (End r) # 
Instance details

Defined in Numeric.Ring.Endomorphism

Commutative r => Abelian (Log r) # 
Instance details

Defined in Numeric.Log

Abelian r => Abelian (Trig r) # 
Instance details

Defined in Numeric.Coalgebra.Trigonometric

Abelian r => Abelian (Quaternion' r) # 
Instance details

Defined in Numeric.Coalgebra.Quaternion

Abelian r => Abelian (Hyper r) # 
Instance details

Defined in Numeric.Coalgebra.Hyperbolic

Abelian (BasisCoblade m) # 
Instance details

Defined in Numeric.Coalgebra.Geometric

Abelian r => Abelian (Dual' r) # 
Instance details

Defined in Numeric.Coalgebra.Dual

Abelian r => Abelian (Quaternion r) # 
Instance details

Defined in Numeric.Algebra.Quaternion

Abelian r => Abelian (Hyper' r) # 
Instance details

Defined in Numeric.Algebra.Hyperbolic

Abelian r => Abelian (Dual r) # 
Instance details

Defined in Numeric.Algebra.Dual

Abelian r => Abelian (Complex r) # 
Instance details

Defined in Numeric.Algebra.Complex

GCDDomain d => Abelian (Fraction d) # 
Instance details

Defined in Numeric.Field.Fraction

Abelian r => Abelian (e -> r) # 
Instance details

Defined in Numeric.Additive.Class

(Abelian a, Abelian b) => Abelian (a, b) # 
Instance details

Defined in Numeric.Additive.Class

Abelian s => Abelian (Covector s a) # 
Instance details

Defined in Numeric.Covector

(Abelian a, Abelian b, Abelian c) => Abelian (a, b, c) # 
Instance details

Defined in Numeric.Additive.Class

Abelian s => Abelian (Map s b a) # 
Instance details

Defined in Numeric.Map

(Abelian a, Abelian b, Abelian c, Abelian d) => Abelian (a, b, c, d) # 
Instance details

Defined in Numeric.Additive.Class

(Abelian a, Abelian b, Abelian c, Abelian d, Abelian e) => Abelian (a, b, c, d, e) # 
Instance details

Defined in Numeric.Additive.Class

additive idempotent semigroups

class Additive r => Idempotent r #

An additive semigroup with idempotent addition.

a + a = a
Instances
Idempotent Bool # 
Instance details

Defined in Numeric.Additive.Class

Idempotent () # 
Instance details

Defined in Numeric.Additive.Class

Idempotent r => Idempotent (ZeroRng r) # 
Instance details

Defined in Numeric.Rng.Zero

Idempotent r => Idempotent (Opposite r) # 
Instance details

Defined in Numeric.Ring.Opposite

Band r => Idempotent (Log r) # 
Instance details

Defined in Numeric.Log

Idempotent r => Idempotent (Trig r) # 
Instance details

Defined in Numeric.Coalgebra.Trigonometric

Idempotent r => Idempotent (Quaternion' r) # 
Instance details

Defined in Numeric.Coalgebra.Quaternion

Idempotent r => Idempotent (Hyper r) # 
Instance details

Defined in Numeric.Coalgebra.Hyperbolic

Idempotent r => Idempotent (Dual' r) # 
Instance details

Defined in Numeric.Coalgebra.Dual

Idempotent r => Idempotent (Quaternion r) # 
Instance details

Defined in Numeric.Algebra.Quaternion

Idempotent r => Idempotent (Hyper' r) # 
Instance details

Defined in Numeric.Algebra.Hyperbolic

Idempotent r => Idempotent (Dual r) # 
Instance details

Defined in Numeric.Algebra.Dual

Idempotent r => Idempotent (Complex r) # 
Instance details

Defined in Numeric.Algebra.Complex

Idempotent r => Idempotent (e -> r) # 
Instance details

Defined in Numeric.Additive.Class

(Idempotent a, Idempotent b) => Idempotent (a, b) # 
Instance details

Defined in Numeric.Additive.Class

Idempotent r => Idempotent (Covector r a) # 
Instance details

Defined in Numeric.Covector

(Idempotent a, Idempotent b, Idempotent c) => Idempotent (a, b, c) # 
Instance details

Defined in Numeric.Additive.Class

(Idempotent a, Idempotent b, Idempotent c, Idempotent d) => Idempotent (a, b, c, d) # 
Instance details

Defined in Numeric.Additive.Class

(Idempotent a, Idempotent b, Idempotent c, Idempotent d, Idempotent e) => Idempotent (a, b, c, d, e) # 
Instance details

Defined in Numeric.Additive.Class

sinnumIdempotent :: (Integral n, Idempotent r, Monoidal r) => n -> r -> r #

partitionable additive semigroups

class Additive m => Partitionable m where #

Minimal complete definition

partitionWith

Methods

partitionWith :: (m -> m -> r) -> m -> NonEmpty r #

partitionWith f c returns a list containing f a b for each a b such that a + b = c,

Instances
Partitionable Bool # 
Instance details

Defined in Numeric.Additive.Class

Methods

partitionWith :: (Bool -> Bool -> r) -> Bool -> NonEmpty r #

Partitionable Natural # 
Instance details

Defined in Numeric.Additive.Class

Methods

partitionWith :: (Natural -> Natural -> r) -> Natural -> NonEmpty r #

Partitionable () # 
Instance details

Defined in Numeric.Additive.Class

Methods

partitionWith :: (() -> () -> r) -> () -> NonEmpty r #

Factorable r => Partitionable (Log r) # 
Instance details

Defined in Numeric.Log

Methods

partitionWith :: (Log r -> Log r -> r0) -> Log r -> NonEmpty r0 #

Partitionable r => Partitionable (Trig r) # 
Instance details

Defined in Numeric.Coalgebra.Trigonometric

Methods

partitionWith :: (Trig r -> Trig r -> r0) -> Trig r -> NonEmpty r0 #

Partitionable r => Partitionable (Quaternion' r) # 
Instance details

Defined in Numeric.Coalgebra.Quaternion

Methods

partitionWith :: (Quaternion' r -> Quaternion' r -> r0) -> Quaternion' r -> NonEmpty r0 #

Partitionable r => Partitionable (Hyper r) # 
Instance details

Defined in Numeric.Coalgebra.Hyperbolic

Methods

partitionWith :: (Hyper r -> Hyper r -> r0) -> Hyper r -> NonEmpty r0 #

Partitionable r => Partitionable (Dual' r) # 
Instance details

Defined in Numeric.Coalgebra.Dual

Methods

partitionWith :: (Dual' r -> Dual' r -> r0) -> Dual' r -> NonEmpty r0 #

Partitionable r => Partitionable (Quaternion r) # 
Instance details

Defined in Numeric.Algebra.Quaternion

Methods

partitionWith :: (Quaternion r -> Quaternion r -> r0) -> Quaternion r -> NonEmpty r0 #

Partitionable r => Partitionable (Hyper' r) # 
Instance details

Defined in Numeric.Algebra.Hyperbolic

Methods

partitionWith :: (Hyper' r -> Hyper' r -> r0) -> Hyper' r -> NonEmpty r0 #

Partitionable r => Partitionable (Dual r) # 
Instance details

Defined in Numeric.Algebra.Dual

Methods

partitionWith :: (Dual r -> Dual r -> r0) -> Dual r -> NonEmpty r0 #

Partitionable r => Partitionable (Complex r) # 
Instance details

Defined in Numeric.Algebra.Complex

Methods

partitionWith :: (Complex r -> Complex r -> r0) -> Complex r -> NonEmpty r0 #

(Partitionable a, Partitionable b) => Partitionable (a, b) # 
Instance details

Defined in Numeric.Additive.Class

Methods

partitionWith :: ((a, b) -> (a, b) -> r) -> (a, b) -> NonEmpty r #

(Partitionable a, Partitionable b, Partitionable c) => Partitionable (a, b, c) # 
Instance details

Defined in Numeric.Additive.Class

Methods

partitionWith :: ((a, b, c) -> (a, b, c) -> r) -> (a, b, c) -> NonEmpty r #

(Partitionable a, Partitionable b, Partitionable c, Partitionable d) => Partitionable (a, b, c, d) # 
Instance details

Defined in Numeric.Additive.Class

Methods

partitionWith :: ((a, b, c, d) -> (a, b, c, d) -> r) -> (a, b, c, d) -> NonEmpty r #

(Partitionable a, Partitionable b, Partitionable c, Partitionable d, Partitionable e) => Partitionable (a, b, c, d, e) # 
Instance details

Defined in Numeric.Additive.Class

Methods

partitionWith :: ((a, b, c, d, e) -> (a, b, c, d, e) -> r) -> (a, b, c, d, e) -> NonEmpty r #

additive monoids

class (LeftModule Natural m, RightModule Natural m) => Monoidal m where #

An additive monoid

zero + a = a = a + zero

Minimal complete definition

zero

Methods

zero :: m #

sinnum :: Natural -> m -> m #

sumWith :: Foldable f => (a -> m) -> f a -> m #

Instances
Monoidal Bool # 
Instance details

Defined in Numeric.Algebra.Class

Methods

zero :: Bool #

sinnum :: Natural -> Bool -> Bool #

sumWith :: Foldable f => (a -> Bool) -> f a -> Bool #

Monoidal Int # 
Instance details

Defined in Numeric.Algebra.Class

Methods

zero :: Int #

sinnum :: Natural -> Int -> Int #

sumWith :: Foldable f => (a -> Int) -> f a -> Int #

Monoidal Int8 # 
Instance details

Defined in Numeric.Algebra.Class

Methods

zero :: Int8 #

sinnum :: Natural -> Int8 -> Int8 #

sumWith :: Foldable f => (a -> Int8) -> f a -> Int8 #

Monoidal Int16 # 
Instance details

Defined in Numeric.Algebra.Class

Methods

zero :: Int16 #

sinnum :: Natural -> Int16 -> Int16 #

sumWith :: Foldable f => (a -> Int16) -> f a -> Int16 #

Monoidal Int32 # 
Instance details

Defined in Numeric.Algebra.Class

Methods

zero :: Int32 #

sinnum :: Natural -> Int32 -> Int32 #

sumWith :: Foldable f => (a -> Int32) -> f a -> Int32 #

Monoidal Int64 # 
Instance details

Defined in Numeric.Algebra.Class

Methods

zero :: Int64 #

sinnum :: Natural -> Int64 -> Int64 #

sumWith :: Foldable f => (a -> Int64) -> f a -> Int64 #

Monoidal Integer # 
Instance details

Defined in Numeric.Algebra.Class

Methods

zero :: Integer #

sinnum :: Natural -> Integer -> Integer #

sumWith :: Foldable f => (a -> Integer) -> f a -> Integer #

Monoidal Natural # 
Instance details

Defined in Numeric.Algebra.Class

Methods

zero :: Natural #

sinnum :: Natural -> Natural -> Natural #

sumWith :: Foldable f => (a -> Natural) -> f a -> Natural #

Monoidal Word # 
Instance details

Defined in Numeric.Algebra.Class

Methods

zero :: Word #

sinnum :: Natural -> Word -> Word #

sumWith :: Foldable f => (a -> Word) -> f a -> Word #

Monoidal Word8 # 
Instance details

Defined in Numeric.Algebra.Class

Methods

zero :: Word8 #

sinnum :: Natural -> Word8 -> Word8 #

sumWith :: Foldable f => (a -> Word8) -> f a -> Word8 #

Monoidal Word16 # 
Instance details

Defined in Numeric.Algebra.Class

Methods

zero :: Word16 #

sinnum :: Natural -> Word16 -> Word16 #

sumWith :: Foldable f => (a -> Word16) -> f a -> Word16 #

Monoidal Word32 # 
Instance details

Defined in Numeric.Algebra.Class

Methods

zero :: Word32 #

sinnum :: Natural -> Word32 -> Word32 #

sumWith :: Foldable f => (a -> Word32) -> f a -> Word32 #

Monoidal Word64 # 
Instance details

Defined in Numeric.Algebra.Class

Methods

zero :: Word64 #

sinnum :: Natural -> Word64 -> Word64 #

sumWith :: Foldable f => (a -> Word64) -> f a -> Word64 #

Monoidal () # 
Instance details

Defined in Numeric.Algebra.Class

Methods

zero :: () #

sinnum :: Natural -> () -> () #

sumWith :: Foldable f => (a -> ()) -> f a -> () #

Monoidal Euclidean # 
Instance details

Defined in Numeric.Coalgebra.Geometric

Methods

zero :: Euclidean #

sinnum :: Natural -> Euclidean -> Euclidean #

sumWith :: Foldable f => (a -> Euclidean) -> f a -> Euclidean #

Monoidal r => Monoidal (ZeroRng r) # 
Instance details

Defined in Numeric.Rng.Zero

Methods

zero :: ZeroRng r #

sinnum :: Natural -> ZeroRng r -> ZeroRng r #

sumWith :: Foldable f => (a -> ZeroRng r) -> f a -> ZeroRng r #

(Abelian r, Monoidal r) => Monoidal (RngRing r) # 
Instance details

Defined in Numeric.Ring.Rng

Methods

zero :: RngRing r #

sinnum :: Natural -> RngRing r -> RngRing r #

sumWith :: Foldable f => (a -> RngRing r) -> f a -> RngRing r #

Monoidal r => Monoidal (Opposite r) # 
Instance details

Defined in Numeric.Ring.Opposite

Methods

zero :: Opposite r #

sinnum :: Natural -> Opposite r -> Opposite r #

sumWith :: Foldable f => (a -> Opposite r) -> f a -> Opposite r #

Monoidal r => Monoidal (End r) # 
Instance details

Defined in Numeric.Ring.Endomorphism

Methods

zero :: End r #

sinnum :: Natural -> End r -> End r #

sumWith :: Foldable f => (a -> End r) -> f a -> End r #

Unital r => Monoidal (Log r) # 
Instance details

Defined in Numeric.Log

Methods

zero :: Log r #

sinnum :: Natural -> Log r -> Log r #

sumWith :: Foldable f => (a -> Log r) -> f a -> Log r #

Monoidal r => Monoidal (Trig r) # 
Instance details

Defined in Numeric.Coalgebra.Trigonometric

Methods

zero :: Trig r #

sinnum :: Natural -> Trig r -> Trig r #

sumWith :: Foldable f => (a -> Trig r) -> f a -> Trig r #

Monoidal r => Monoidal (Quaternion' r) # 
Instance details

Defined in Numeric.Coalgebra.Quaternion

Methods

zero :: Quaternion' r #

sinnum :: Natural -> Quaternion' r -> Quaternion' r #

sumWith :: Foldable f => (a -> Quaternion' r) -> f a -> Quaternion' r #

Monoidal r => Monoidal (Hyper r) # 
Instance details

Defined in Numeric.Coalgebra.Hyperbolic

Methods

zero :: Hyper r #

sinnum :: Natural -> Hyper r -> Hyper r #

sumWith :: Foldable f => (a -> Hyper r) -> f a -> Hyper r #

Monoidal (BasisCoblade m) # 
Instance details

Defined in Numeric.Coalgebra.Geometric

Methods

zero :: BasisCoblade m #

sinnum :: Natural -> BasisCoblade m -> BasisCoblade m #

sumWith :: Foldable f => (a -> BasisCoblade m) -> f a -> BasisCoblade m #

Monoidal r => Monoidal (Dual' r) # 
Instance details

Defined in Numeric.Coalgebra.Dual

Methods

zero :: Dual' r #

sinnum :: Natural -> Dual' r -> Dual' r #

sumWith :: Foldable f => (a -> Dual' r) -> f a -> Dual' r #

Monoidal r => Monoidal (Quaternion r) # 
Instance details

Defined in Numeric.Algebra.Quaternion

Methods

zero :: Quaternion r #

sinnum :: Natural -> Quaternion r -> Quaternion r #

sumWith :: Foldable f => (a -> Quaternion r) -> f a -> Quaternion r #

Monoidal r => Monoidal (Hyper' r) # 
Instance details

Defined in Numeric.Algebra.Hyperbolic

Methods

zero :: Hyper' r #

sinnum :: Natural -> Hyper' r -> Hyper' r #

sumWith :: Foldable f => (a -> Hyper' r) -> f a -> Hyper' r #

Monoidal r => Monoidal (Dual r) # 
Instance details

Defined in Numeric.Algebra.Dual

Methods

zero :: Dual r #

sinnum :: Natural -> Dual r -> Dual r #

sumWith :: Foldable f => (a -> Dual r) -> f a -> Dual r #

Monoidal r => Monoidal (Complex r) # 
Instance details

Defined in Numeric.Algebra.Complex

Methods

zero :: Complex r #

sinnum :: Natural -> Complex r -> Complex r #

sumWith :: Foldable f => (a -> Complex r) -> f a -> Complex r #

GCDDomain d => Monoidal (Fraction d) # 
Instance details

Defined in Numeric.Field.Fraction

Methods

zero :: Fraction d #

sinnum :: Natural -> Fraction d -> Fraction d #

sumWith :: Foldable f => (a -> Fraction d) -> f a -> Fraction d #

Monoidal r => Monoidal (e -> r) # 
Instance details

Defined in Numeric.Algebra.Class

Methods

zero :: e -> r #

sinnum :: Natural -> (e -> r) -> e -> r #

sumWith :: Foldable f => (a -> e -> r) -> f a -> e -> r #

(Monoidal a, Monoidal b) => Monoidal (a, b) # 
Instance details

Defined in Numeric.Algebra.Class

Methods

zero :: (a, b) #

sinnum :: Natural -> (a, b) -> (a, b) #

sumWith :: Foldable f => (a0 -> (a, b)) -> f a0 -> (a, b) #

Monoidal s => Monoidal (Covector s a) # 
Instance details

Defined in Numeric.Covector

Methods

zero :: Covector s a #

sinnum :: Natural -> Covector s a -> Covector s a #

sumWith :: Foldable f => (a0 -> Covector s a) -> f a0 -> Covector s a #

(Monoidal a, Monoidal b, Monoidal c) => Monoidal (a, b, c) # 
Instance details

Defined in Numeric.Algebra.Class

Methods

zero :: (a, b, c) #

sinnum :: Natural -> (a, b, c) -> (a, b, c) #

sumWith :: Foldable f => (a0 -> (a, b, c)) -> f a0 -> (a, b, c) #

Monoidal s => Monoidal (Map s b a) # 
Instance details

Defined in Numeric.Map

Methods

zero :: Map s b a #

sinnum :: Natural -> Map s b a -> Map s b a #

sumWith :: Foldable f => (a0 -> Map s b a) -> f a0 -> Map s b a #

(Monoidal a, Monoidal b, Monoidal c, Monoidal d) => Monoidal (a, b, c, d) # 
Instance details

Defined in Numeric.Algebra.Class

Methods

zero :: (a, b, c, d) #

sinnum :: Natural -> (a, b, c, d) -> (a, b, c, d) #

sumWith :: Foldable f => (a0 -> (a, b, c, d)) -> f a0 -> (a, b, c, d) #

(Monoidal a, Monoidal b, Monoidal c, Monoidal d, Monoidal e) => Monoidal (a, b, c, d, e) # 
Instance details

Defined in Numeric.Algebra.Class

Methods

zero :: (a, b, c, d, e) #

sinnum :: Natural -> (a, b, c, d, e) -> (a, b, c, d, e) #

sumWith :: Foldable f => (a0 -> (a, b, c, d, e)) -> f a0 -> (a, b, c, d, e) #

sum :: (Foldable f, Monoidal m) => f m -> m #

additive groups

class (LeftModule Integer r, RightModule Integer r, Monoidal r) => Group r where #

Methods

(-) :: r -> r -> r infixl 6 #

negate :: r -> r #

subtract :: r -> r -> r #

times :: Integral n => n -> r -> r infixl 7 #

Instances
Group Int # 
Instance details

Defined in Numeric.Additive.Group

Methods

(-) :: Int -> Int -> Int #

negate :: Int -> Int #

subtract :: Int -> Int -> Int #

times :: Integral n => n -> Int -> Int #

Group Int8 # 
Instance details

Defined in Numeric.Additive.Group

Methods

(-) :: Int8 -> Int8 -> Int8 #

negate :: Int8 -> Int8 #

subtract :: Int8 -> Int8 -> Int8 #

times :: Integral n => n -> Int8 -> Int8 #

Group Int16 # 
Instance details

Defined in Numeric.Additive.Group

Methods

(-) :: Int16 -> Int16 -> Int16 #

negate :: Int16 -> Int16 #

subtract :: Int16 -> Int16 -> Int16 #

times :: Integral n => n -> Int16 -> Int16 #

Group Int32 # 
Instance details

Defined in Numeric.Additive.Group

Methods

(-) :: Int32 -> Int32 -> Int32 #

negate :: Int32 -> Int32 #

subtract :: Int32 -> Int32 -> Int32 #

times :: Integral n => n -> Int32 -> Int32 #

Group Int64 # 
Instance details

Defined in Numeric.Additive.Group

Methods

(-) :: Int64 -> Int64 -> Int64 #

negate :: Int64 -> Int64 #

subtract :: Int64 -> Int64 -> Int64 #

times :: Integral n => n -> Int64 -> Int64 #

Group Integer # 
Instance details

Defined in Numeric.Additive.Group

Group Word # 
Instance details

Defined in Numeric.Additive.Group

Methods

(-) :: Word -> Word -> Word #

negate :: Word -> Word #

subtract :: Word -> Word -> Word #

times :: Integral n => n -> Word -> Word #

Group Word8 # 
Instance details

Defined in Numeric.Additive.Group

Methods

(-) :: Word8 -> Word8 -> Word8 #

negate :: Word8 -> Word8 #

subtract :: Word8 -> Word8 -> Word8 #

times :: Integral n => n -> Word8 -> Word8 #

Group Word16 # 
Instance details

Defined in Numeric.Additive.Group

Group Word32 # 
Instance details

Defined in Numeric.Additive.Group

Group Word64 # 
Instance details

Defined in Numeric.Additive.Group

Group () # 
Instance details

Defined in Numeric.Additive.Group

Methods

(-) :: () -> () -> () #

negate :: () -> () #

subtract :: () -> () -> () #

times :: Integral n => n -> () -> () #

Group Euclidean # 
Instance details

Defined in Numeric.Coalgebra.Geometric

Group r => Group (ZeroRng r) # 
Instance details

Defined in Numeric.Rng.Zero

Methods

(-) :: ZeroRng r -> ZeroRng r -> ZeroRng r #

negate :: ZeroRng r -> ZeroRng r #

subtract :: ZeroRng r -> ZeroRng r -> ZeroRng r #

times :: Integral n => n -> ZeroRng r -> ZeroRng r #

(Abelian r, Group r) => Group (RngRing r) # 
Instance details

Defined in Numeric.Ring.Rng

Methods

(-) :: RngRing r -> RngRing r -> RngRing r #

negate :: RngRing r -> RngRing r #

subtract :: RngRing r -> RngRing r -> RngRing r #

times :: Integral n => n -> RngRing r -> RngRing r #

Group r => Group (Opposite r) # 
Instance details

Defined in Numeric.Ring.Opposite

Methods

(-) :: Opposite r -> Opposite r -> Opposite r #

negate :: Opposite r -> Opposite r #

subtract :: Opposite r -> Opposite r -> Opposite r #

times :: Integral n => n -> Opposite r -> Opposite r #

Group r => Group (End r) # 
Instance details

Defined in Numeric.Ring.Endomorphism

Methods

(-) :: End r -> End r -> End r #

negate :: End r -> End r #

subtract :: End r -> End r -> End r #

times :: Integral n => n -> End r -> End r #

Division r => Group (Log r) # 
Instance details

Defined in Numeric.Log

Methods

(-) :: Log r -> Log r -> Log r #

negate :: Log r -> Log r #

subtract :: Log r -> Log r -> Log r #

times :: Integral n => n -> Log r -> Log r #

Group r => Group (Trig r) # 
Instance details

Defined in Numeric.Coalgebra.Trigonometric

Methods

(-) :: Trig r -> Trig r -> Trig r #

negate :: Trig r -> Trig r #

subtract :: Trig r -> Trig r -> Trig r #

times :: Integral n => n -> Trig r -> Trig r #

Group r => Group (Quaternion' r) # 
Instance details

Defined in Numeric.Coalgebra.Quaternion

Group r => Group (Hyper r) # 
Instance details

Defined in Numeric.Coalgebra.Hyperbolic

Methods

(-) :: Hyper r -> Hyper r -> Hyper r #

negate :: Hyper r -> Hyper r #

subtract :: Hyper r -> Hyper r -> Hyper r #

times :: Integral n => n -> Hyper r -> Hyper r #

Group r => Group (Dual' r) # 
Instance details

Defined in Numeric.Coalgebra.Dual

Methods

(-) :: Dual' r -> Dual' r -> Dual' r #

negate :: Dual' r -> Dual' r #

subtract :: Dual' r -> Dual' r -> Dual' r #

times :: Integral n => n -> Dual' r -> Dual' r #

Group r => Group (Quaternion r) # 
Instance details

Defined in Numeric.Algebra.Quaternion

Group r => Group (Hyper' r) # 
Instance details

Defined in Numeric.Algebra.Hyperbolic

Methods

(-) :: Hyper' r -> Hyper' r -> Hyper' r #

negate :: Hyper' r -> Hyper' r #

subtract :: Hyper' r -> Hyper' r -> Hyper' r #

times :: Integral n => n -> Hyper' r -> Hyper' r #

Group r => Group (Dual r) # 
Instance details

Defined in Numeric.Algebra.Dual

Methods

(-) :: Dual r -> Dual r -> Dual r #

negate :: Dual r -> Dual r #

subtract :: Dual r -> Dual r -> Dual r #

times :: Integral n => n -> Dual r -> Dual r #

Group r => Group (Complex r) # 
Instance details

Defined in Numeric.Algebra.Complex

Methods

(-) :: Complex r -> Complex r -> Complex r #

negate :: Complex r -> Complex r #

subtract :: Complex r -> Complex r -> Complex r #

times :: Integral n => n -> Complex r -> Complex r #

GCDDomain d => Group (Fraction d) # 
Instance details

Defined in Numeric.Field.Fraction

Methods

(-) :: Fraction d -> Fraction d -> Fraction d #

negate :: Fraction d -> Fraction d #

subtract :: Fraction d -> Fraction d -> Fraction d #

times :: Integral n => n -> Fraction d -> Fraction d #

Group r => Group (e -> r) # 
Instance details

Defined in Numeric.Additive.Group

Methods

(-) :: (e -> r) -> (e -> r) -> e -> r #

negate :: (e -> r) -> e -> r #

subtract :: (e -> r) -> (e -> r) -> e -> r #

times :: Integral n => n -> (e -> r) -> e -> r #

(Group a, Group b) => Group (a, b) # 
Instance details

Defined in Numeric.Additive.Group

Methods

(-) :: (a, b) -> (a, b) -> (a, b) #

negate :: (a, b) -> (a, b) #

subtract :: (a, b) -> (a, b) -> (a, b) #

times :: Integral n => n -> (a, b) -> (a, b) #

Group s => Group (Covector s a) # 
Instance details

Defined in Numeric.Covector

Methods

(-) :: Covector s a -> Covector s a -> Covector s a #

negate :: Covector s a -> Covector s a #

subtract :: Covector s a -> Covector s a -> Covector s a #

times :: Integral n => n -> Covector s a -> Covector s a #

(Group a, Group b, Group c) => Group (a, b, c) # 
Instance details

Defined in Numeric.Additive.Group

Methods

(-) :: (a, b, c) -> (a, b, c) -> (a, b, c) #

negate :: (a, b, c) -> (a, b, c) #

subtract :: (a, b, c) -> (a, b, c) -> (a, b, c) #

times :: Integral n => n -> (a, b, c) -> (a, b, c) #

Group s => Group (Map s b a) # 
Instance details

Defined in Numeric.Map

Methods

(-) :: Map s b a -> Map s b a -> Map s b a #

negate :: Map s b a -> Map s b a #

subtract :: Map s b a -> Map s b a -> Map s b a #

times :: Integral n => n -> Map s b a -> Map s b a #

(Group a, Group b, Group c, Group d) => Group (a, b, c, d) # 
Instance details

Defined in Numeric.Additive.Group

Methods

(-) :: (a, b, c, d) -> (a, b, c, d) -> (a, b, c, d) #

negate :: (a, b, c, d) -> (a, b, c, d) #

subtract :: (a, b, c, d) -> (a, b, c, d) -> (a, b, c, d) #

times :: Integral n => n -> (a, b, c, d) -> (a, b, c, d) #

(Group a, Group b, Group c, Group d, Group e) => Group (a, b, c, d, e) # 
Instance details

Defined in Numeric.Additive.Group

Methods

(-) :: (a, b, c, d, e) -> (a, b, c, d, e) -> (a, b, c, d, e) #

negate :: (a, b, c, d, e) -> (a, b, c, d, e) #

subtract :: (a, b, c, d, e) -> (a, b, c, d, e) -> (a, b, c, d, e) #

times :: Integral n => n -> (a, b, c, d, e) -> (a, b, c, d, e) #

Multiplicative

multiplicative semigroups

class Multiplicative r where #

A multiplicative semigroup

Minimal complete definition

(*)

Methods

(*) :: r -> r -> r infixl 7 #

pow1p :: r -> Natural -> r infixr 8 #

productWith1 :: Foldable1 f => (a -> r) -> f a -> r #

Instances
Multiplicative Bool # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(*) :: Bool -> Bool -> Bool #

pow1p :: Bool -> Natural -> Bool #

productWith1 :: Foldable1 f => (a -> Bool) -> f a -> Bool #

Multiplicative Int # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(*) :: Int -> Int -> Int #

pow1p :: Int -> Natural -> Int #

productWith1 :: Foldable1 f => (a -> Int) -> f a -> Int #

Multiplicative Int8 # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(*) :: Int8 -> Int8 -> Int8 #

pow1p :: Int8 -> Natural -> Int8 #

productWith1 :: Foldable1 f => (a -> Int8) -> f a -> Int8 #

Multiplicative Int16 # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(*) :: Int16 -> Int16 -> Int16 #

pow1p :: Int16 -> Natural -> Int16 #

productWith1 :: Foldable1 f => (a -> Int16) -> f a -> Int16 #

Multiplicative Int32 # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(*) :: Int32 -> Int32 -> Int32 #

pow1p :: Int32 -> Natural -> Int32 #

productWith1 :: Foldable1 f => (a -> Int32) -> f a -> Int32 #

Multiplicative Int64 # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(*) :: Int64 -> Int64 -> Int64 #

pow1p :: Int64 -> Natural -> Int64 #

productWith1 :: Foldable1 f => (a -> Int64) -> f a -> Int64 #

Multiplicative Integer # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(*) :: Integer -> Integer -> Integer #

pow1p :: Integer -> Natural -> Integer #

productWith1 :: Foldable1 f => (a -> Integer) -> f a -> Integer #

Multiplicative Natural # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(*) :: Natural -> Natural -> Natural #

pow1p :: Natural -> Natural -> Natural #

productWith1 :: Foldable1 f => (a -> Natural) -> f a -> Natural #

Multiplicative Word # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(*) :: Word -> Word -> Word #

pow1p :: Word -> Natural -> Word #

productWith1 :: Foldable1 f => (a -> Word) -> f a -> Word #

Multiplicative Word8 # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(*) :: Word8 -> Word8 -> Word8 #

pow1p :: Word8 -> Natural -> Word8 #

productWith1 :: Foldable1 f => (a -> Word8) -> f a -> Word8 #

Multiplicative Word16 # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(*) :: Word16 -> Word16 -> Word16 #

pow1p :: Word16 -> Natural -> Word16 #

productWith1 :: Foldable1 f => (a -> Word16) -> f a -> Word16 #

Multiplicative Word32 # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(*) :: Word32 -> Word32 -> Word32 #

pow1p :: Word32 -> Natural -> Word32 #

productWith1 :: Foldable1 f => (a -> Word32) -> f a -> Word32 #

Multiplicative Word64 # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(*) :: Word64 -> Word64 -> Word64 #

pow1p :: Word64 -> Natural -> Word64 #

productWith1 :: Foldable1 f => (a -> Word64) -> f a -> Word64 #

Multiplicative () # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(*) :: () -> () -> () #

pow1p :: () -> Natural -> () #

productWith1 :: Foldable1 f => (a -> ()) -> f a -> () #

Multiplicative Euclidean # 
Instance details

Defined in Numeric.Coalgebra.Geometric

Monoidal r => Multiplicative (ZeroRng r) # 
Instance details

Defined in Numeric.Rng.Zero

Methods

(*) :: ZeroRng r -> ZeroRng r -> ZeroRng r #

pow1p :: ZeroRng r -> Natural -> ZeroRng r #

productWith1 :: Foldable1 f => (a -> ZeroRng r) -> f a -> ZeroRng r #

Rng r => Multiplicative (RngRing r) # 
Instance details

Defined in Numeric.Ring.Rng

Methods

(*) :: RngRing r -> RngRing r -> RngRing r #

pow1p :: RngRing r -> Natural -> RngRing r #

productWith1 :: Foldable1 f => (a -> RngRing r) -> f a -> RngRing r #

Multiplicative r => Multiplicative (Opposite r) # 
Instance details

Defined in Numeric.Ring.Opposite

Methods

(*) :: Opposite r -> Opposite r -> Opposite r #

pow1p :: Opposite r -> Natural -> Opposite r #

productWith1 :: Foldable1 f => (a -> Opposite r) -> f a -> Opposite r #

Multiplicative (End r) # 
Instance details

Defined in Numeric.Ring.Endomorphism

Methods

(*) :: End r -> End r -> End r #

pow1p :: End r -> Natural -> End r #

productWith1 :: Foldable1 f => (a -> End r) -> f a -> End r #

Additive r => Multiplicative (Exp r) # 
Instance details

Defined in Numeric.Exp

Methods

(*) :: Exp r -> Exp r -> Exp r #

pow1p :: Exp r -> Natural -> Exp r #

productWith1 :: Foldable1 f => (a -> Exp r) -> f a -> Exp r #

(Commutative k, Rng k) => Multiplicative (Trig k) # 
Instance details

Defined in Numeric.Coalgebra.Trigonometric

Methods

(*) :: Trig k -> Trig k -> Trig k #

pow1p :: Trig k -> Natural -> Trig k #

productWith1 :: Foldable1 f => (a -> Trig k) -> f a -> Trig k #

(TriviallyInvolutive r, Semiring r) => Multiplicative (Quaternion' r) # 
Instance details

Defined in Numeric.Coalgebra.Quaternion

(Commutative k, Semiring k) => Multiplicative (Hyper k) # 
Instance details

Defined in Numeric.Coalgebra.Hyperbolic

Methods

(*) :: Hyper k -> Hyper k -> Hyper k #

pow1p :: Hyper k -> Natural -> Hyper k #

productWith1 :: Foldable1 f => (a -> Hyper k) -> f a -> Hyper k #

Multiplicative (BasisCoblade m) # 
Instance details

Defined in Numeric.Coalgebra.Geometric

(Commutative r, Rng r) => Multiplicative (Dual' r) # 
Instance details

Defined in Numeric.Coalgebra.Dual

Methods

(*) :: Dual' r -> Dual' r -> Dual' r #

pow1p :: Dual' r -> Natural -> Dual' r #

productWith1 :: Foldable1 f => (a -> Dual' r) -> f a -> Dual' r #

(TriviallyInvolutive r, Rng r) => Multiplicative (Quaternion r) # 
Instance details

Defined in Numeric.Algebra.Quaternion

Methods

(*) :: Quaternion r -> Quaternion r -> Quaternion r #

pow1p :: Quaternion r -> Natural -> Quaternion r #

productWith1 :: Foldable1 f => (a -> Quaternion r) -> f a -> Quaternion r #

(Commutative k, Semiring k) => Multiplicative (Hyper' k) # 
Instance details

Defined in Numeric.Algebra.Hyperbolic

Methods

(*) :: Hyper' k -> Hyper' k -> Hyper' k #

pow1p :: Hyper' k -> Natural -> Hyper' k #

productWith1 :: Foldable1 f => (a -> Hyper' k) -> f a -> Hyper' k #

(Commutative r, Rng r) => Multiplicative (Dual r) # 
Instance details

Defined in Numeric.Algebra.Dual

Methods

(*) :: Dual r -> Dual r -> Dual r #

pow1p :: Dual r -> Natural -> Dual r #

productWith1 :: Foldable1 f => (a -> Dual r) -> f a -> Dual r #

(Commutative r, Rng r) => Multiplicative (Complex r) # 
Instance details

Defined in Numeric.Algebra.Complex

Methods

(*) :: Complex r -> Complex r -> Complex r #

pow1p :: Complex r -> Natural -> Complex r #

productWith1 :: Foldable1 f => (a -> Complex r) -> f a -> Complex r #

GCDDomain d => Multiplicative (Fraction d) # 
Instance details

Defined in Numeric.Field.Fraction

Methods

(*) :: Fraction d -> Fraction d -> Fraction d #

pow1p :: Fraction d -> Natural -> Fraction d #

productWith1 :: Foldable1 f => (a -> Fraction d) -> f a -> Fraction d #

Algebra r a => Multiplicative (a -> r) # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(*) :: (a -> r) -> (a -> r) -> a -> r #

pow1p :: (a -> r) -> Natural -> a -> r #

productWith1 :: Foldable1 f => (a0 -> a -> r) -> f a0 -> a -> r #

(Multiplicative a, Multiplicative b) => Multiplicative (a, b) # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(*) :: (a, b) -> (a, b) -> (a, b) #

pow1p :: (a, b) -> Natural -> (a, b) #

productWith1 :: Foldable1 f => (a0 -> (a, b)) -> f a0 -> (a, b) #

Multiplicative (Rect i j) # 
Instance details

Defined in Numeric.Band.Rectangular

Methods

(*) :: Rect i j -> Rect i j -> Rect i j #

pow1p :: Rect i j -> Natural -> Rect i j #

productWith1 :: Foldable1 f => (a -> Rect i j) -> f a -> Rect i j #

Coalgebra r m => Multiplicative (Covector r m) # 
Instance details

Defined in Numeric.Covector

Methods

(*) :: Covector r m -> Covector r m -> Covector r m #

pow1p :: Covector r m -> Natural -> Covector r m #

productWith1 :: Foldable1 f => (a -> Covector r m) -> f a -> Covector r m #

(Multiplicative a, Multiplicative b, Multiplicative c) => Multiplicative (a, b, c) # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(*) :: (a, b, c) -> (a, b, c) -> (a, b, c) #

pow1p :: (a, b, c) -> Natural -> (a, b, c) #

productWith1 :: Foldable1 f => (a0 -> (a, b, c)) -> f a0 -> (a, b, c) #

Coalgebra r m => Multiplicative (Map r b m) # 
Instance details

Defined in Numeric.Map

Methods

(*) :: Map r b m -> Map r b m -> Map r b m #

pow1p :: Map r b m -> Natural -> Map r b m #

productWith1 :: Foldable1 f => (a -> Map r b m) -> f a -> Map r b m #

(Multiplicative a, Multiplicative b, Multiplicative c, Multiplicative d) => Multiplicative (a, b, c, d) # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(*) :: (a, b, c, d) -> (a, b, c, d) -> (a, b, c, d) #

pow1p :: (a, b, c, d) -> Natural -> (a, b, c, d) #

productWith1 :: Foldable1 f => (a0 -> (a, b, c, d)) -> f a0 -> (a, b, c, d) #

(Multiplicative a, Multiplicative b, Multiplicative c, Multiplicative d, Multiplicative e) => Multiplicative (a, b, c, d, e) # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(*) :: (a, b, c, d, e) -> (a, b, c, d, e) -> (a, b, c, d, e) #

pow1p :: (a, b, c, d, e) -> Natural -> (a, b, c, d, e) #

productWith1 :: Foldable1 f => (a0 -> (a, b, c, d, e)) -> f a0 -> (a, b, c, d, e) #

product1 :: (Foldable1 f, Multiplicative r) => f r -> r #

commutative multiplicative semigroups

class Multiplicative r => Commutative r #

A commutative multiplicative semigroup

Instances
Commutative Bool # 
Instance details

Defined in Numeric.Algebra.Commutative

Commutative Int # 
Instance details

Defined in Numeric.Algebra.Commutative

Commutative Int8 # 
Instance details

Defined in Numeric.Algebra.Commutative

Commutative Int16 # 
Instance details

Defined in Numeric.Algebra.Commutative

Commutative Int32 # 
Instance details

Defined in Numeric.Algebra.Commutative

Commutative Int64 # 
Instance details

Defined in Numeric.Algebra.Commutative

Commutative Integer # 
Instance details

Defined in Numeric.Algebra.Commutative

Commutative Natural # 
Instance details

Defined in Numeric.Algebra.Commutative

Commutative Word # 
Instance details

Defined in Numeric.Algebra.Commutative

Commutative Word8 # 
Instance details

Defined in Numeric.Algebra.Commutative

Commutative Word16 # 
Instance details

Defined in Numeric.Algebra.Commutative

Commutative Word32 # 
Instance details

Defined in Numeric.Algebra.Commutative

Commutative Word64 # 
Instance details

Defined in Numeric.Algebra.Commutative

Commutative () # 
Instance details

Defined in Numeric.Algebra.Commutative

Commutative Euclidean # 
Instance details

Defined in Numeric.Coalgebra.Geometric

Monoidal r => Commutative (ZeroRng r) # 
Instance details

Defined in Numeric.Rng.Zero

(Commutative r, Rng r) => Commutative (RngRing r) # 
Instance details

Defined in Numeric.Ring.Rng

Commutative r => Commutative (Opposite r) # 
Instance details

Defined in Numeric.Ring.Opposite

(Abelian r, Commutative r) => Commutative (End r) # 
Instance details

Defined in Numeric.Ring.Endomorphism

Abelian r => Commutative (Exp r) # 
Instance details

Defined in Numeric.Exp

(Commutative k, Rng k) => Commutative (Trig k) # 
Instance details

Defined in Numeric.Coalgebra.Trigonometric

(Commutative k, Semiring k) => Commutative (Hyper k) # 
Instance details

Defined in Numeric.Coalgebra.Hyperbolic

Commutative (BasisCoblade m) # 
Instance details

Defined in Numeric.Coalgebra.Geometric

(TriviallyInvolutive r, Rng r) => Commutative (Dual' r) # 
Instance details

Defined in Numeric.Coalgebra.Dual

(Commutative k, Semiring k) => Commutative (Hyper' k) # 
Instance details

Defined in Numeric.Algebra.Hyperbolic

(TriviallyInvolutive r, Rng r) => Commutative (Dual r) # 
Instance details

Defined in Numeric.Algebra.Dual

(TriviallyInvolutive r, Rng r) => Commutative (Complex r) # 
Instance details

Defined in Numeric.Algebra.Complex

GCDDomain d => Commutative (Fraction d) # 
Instance details

Defined in Numeric.Field.Fraction

CommutativeAlgebra r a => Commutative (a -> r) # 
Instance details

Defined in Numeric.Algebra.Commutative

(Commutative a, Commutative b) => Commutative (a, b) # 
Instance details

Defined in Numeric.Algebra.Commutative

(Commutative m, Coalgebra r m) => Commutative (Covector r m) # 
Instance details

Defined in Numeric.Covector

(Commutative a, Commutative b, Commutative c) => Commutative (a, b, c) # 
Instance details

Defined in Numeric.Algebra.Commutative

(Commutative m, Coalgebra r m) => Commutative (Map r b m) # 
Instance details

Defined in Numeric.Map

(Commutative a, Commutative b, Commutative c, Commutative d) => Commutative (a, b, c, d) # 
Instance details

Defined in Numeric.Algebra.Commutative

(Commutative a, Commutative b, Commutative c, Commutative d, Commutative e) => Commutative (a, b, c, d, e) # 
Instance details

Defined in Numeric.Algebra.Commutative

multiplicative monoids

class Multiplicative r => Unital r where #

Minimal complete definition

one

Methods

one :: r #

pow :: r -> Natural -> r infixr 8 #

productWith :: Foldable f => (a -> r) -> f a -> r #

Instances
Unital Bool # 
Instance details

Defined in Numeric.Algebra.Unital

Methods

one :: Bool #

pow :: Bool -> Natural -> Bool #

productWith :: Foldable f => (a -> Bool) -> f a -> Bool #

Unital Int # 
Instance details

Defined in Numeric.Algebra.Unital

Methods

one :: Int #

pow :: Int -> Natural -> Int #

productWith :: Foldable f => (a -> Int) -> f a -> Int #

Unital Int8 # 
Instance details

Defined in Numeric.Algebra.Unital

Methods

one :: Int8 #

pow :: Int8 -> Natural -> Int8 #

productWith :: Foldable f => (a -> Int8) -> f a -> Int8 #

Unital Int16 # 
Instance details

Defined in Numeric.Algebra.Unital

Methods

one :: Int16 #

pow :: Int16 -> Natural -> Int16 #

productWith :: Foldable f => (a -> Int16) -> f a -> Int16 #

Unital Int32 # 
Instance details

Defined in Numeric.Algebra.Unital

Methods

one :: Int32 #

pow :: Int32 -> Natural -> Int32 #

productWith :: Foldable f => (a -> Int32) -> f a -> Int32 #

Unital Int64 # 
Instance details

Defined in Numeric.Algebra.Unital

Methods

one :: Int64 #

pow :: Int64 -> Natural -> Int64 #

productWith :: Foldable f => (a -> Int64) -> f a -> Int64 #

Unital Integer # 
Instance details

Defined in Numeric.Algebra.Unital

Methods

one :: Integer #

pow :: Integer -> Natural -> Integer #

productWith :: Foldable f => (a -> Integer) -> f a -> Integer #

Unital Natural # 
Instance details

Defined in Numeric.Algebra.Unital

Methods

one :: Natural #

pow :: Natural -> Natural -> Natural #

productWith :: Foldable f => (a -> Natural) -> f a -> Natural #

Unital Word # 
Instance details

Defined in Numeric.Algebra.Unital

Methods

one :: Word #

pow :: Word -> Natural -> Word #

productWith :: Foldable f => (a -> Word) -> f a -> Word #

Unital Word8 # 
Instance details

Defined in Numeric.Algebra.Unital

Methods

one :: Word8 #

pow :: Word8 -> Natural -> Word8 #

productWith :: Foldable f => (a -> Word8) -> f a -> Word8 #

Unital Word16 # 
Instance details

Defined in Numeric.Algebra.Unital

Methods

one :: Word16 #

pow :: Word16 -> Natural -> Word16 #

productWith :: Foldable f => (a -> Word16) -> f a -> Word16 #

Unital Word32 # 
Instance details

Defined in Numeric.Algebra.Unital

Methods

one :: Word32 #

pow :: Word32 -> Natural -> Word32 #

productWith :: Foldable f => (a -> Word32) -> f a -> Word32 #

Unital Word64 # 
Instance details

Defined in Numeric.Algebra.Unital

Methods

one :: Word64 #

pow :: Word64 -> Natural -> Word64 #

productWith :: Foldable f => (a -> Word64) -> f a -> Word64 #

Unital () # 
Instance details

Defined in Numeric.Algebra.Unital

Methods

one :: () #

pow :: () -> Natural -> () #

productWith :: Foldable f => (a -> ()) -> f a -> () #

Unital Euclidean # 
Instance details

Defined in Numeric.Coalgebra.Geometric

Methods

one :: Euclidean #

pow :: Euclidean -> Natural -> Euclidean #

productWith :: Foldable f => (a -> Euclidean) -> f a -> Euclidean #

Rng r => Unital (RngRing r) # 
Instance details

Defined in Numeric.Ring.Rng

Methods

one :: RngRing r #

pow :: RngRing r -> Natural -> RngRing r #

productWith :: Foldable f => (a -> RngRing r) -> f a -> RngRing r #

Unital r => Unital (Opposite r) # 
Instance details

Defined in Numeric.Ring.Opposite

Methods

one :: Opposite r #

pow :: Opposite r -> Natural -> Opposite r #

productWith :: Foldable f => (a -> Opposite r) -> f a -> Opposite r #

Unital (End r) # 
Instance details

Defined in Numeric.Ring.Endomorphism

Methods

one :: End r #

pow :: End r -> Natural -> End r #

productWith :: Foldable f => (a -> End r) -> f a -> End r #

Monoidal r => Unital (Exp r) # 
Instance details

Defined in Numeric.Exp

Methods

one :: Exp r #

pow :: Exp r -> Natural -> Exp r #

productWith :: Foldable f => (a -> Exp r) -> f a -> Exp r #

(Commutative k, Ring k) => Unital (Trig k) # 
Instance details

Defined in Numeric.Coalgebra.Trigonometric

Methods

one :: Trig k #

pow :: Trig k -> Natural -> Trig k #

productWith :: Foldable f => (a -> Trig k) -> f a -> Trig k #

(TriviallyInvolutive r, Ring r) => Unital (Quaternion' r) # 
Instance details

Defined in Numeric.Coalgebra.Quaternion

Methods

one :: Quaternion' r #

pow :: Quaternion' r -> Natural -> Quaternion' r #

productWith :: Foldable f => (a -> Quaternion' r) -> f a -> Quaternion' r #

(Commutative k, Rig k) => Unital (Hyper k) # 
Instance details

Defined in Numeric.Coalgebra.Hyperbolic

Methods

one :: Hyper k #

pow :: Hyper k -> Natural -> Hyper k #

productWith :: Foldable f => (a -> Hyper k) -> f a -> Hyper k #

Unital (BasisCoblade m) # 
Instance details

Defined in Numeric.Coalgebra.Geometric

Methods

one :: BasisCoblade m #

pow :: BasisCoblade m -> Natural -> BasisCoblade m #

productWith :: Foldable f => (a -> BasisCoblade m) -> f a -> BasisCoblade m #

(Commutative r, Ring r) => Unital (Dual' r) # 
Instance details

Defined in Numeric.Coalgebra.Dual

Methods

one :: Dual' r #

pow :: Dual' r -> Natural -> Dual' r #

productWith :: Foldable f => (a -> Dual' r) -> f a -> Dual' r #

(TriviallyInvolutive r, Ring r) => Unital (Quaternion r) # 
Instance details

Defined in Numeric.Algebra.Quaternion

Methods

one :: Quaternion r #

pow :: Quaternion r -> Natural -> Quaternion r #

productWith :: Foldable f => (a -> Quaternion r) -> f a -> Quaternion r #

(Commutative k, Rig k) => Unital (Hyper' k) # 
Instance details

Defined in Numeric.Algebra.Hyperbolic

Methods

one :: Hyper' k #

pow :: Hyper' k -> Natural -> Hyper' k #

productWith :: Foldable f => (a -> Hyper' k) -> f a -> Hyper' k #

(Commutative r, Ring r) => Unital (Dual r) # 
Instance details

Defined in Numeric.Algebra.Dual

Methods

one :: Dual r #

pow :: Dual r -> Natural -> Dual r #

productWith :: Foldable f => (a -> Dual r) -> f a -> Dual r #

(Commutative r, Ring r) => Unital (Complex r) # 
Instance details

Defined in Numeric.Algebra.Complex

Methods

one :: Complex r #

pow :: Complex r -> Natural -> Complex r #

productWith :: Foldable f => (a -> Complex r) -> f a -> Complex r #

GCDDomain d => Unital (Fraction d) # 
Instance details

Defined in Numeric.Field.Fraction

Methods

one :: Fraction d #

pow :: Fraction d -> Natural -> Fraction d #

productWith :: Foldable f => (a -> Fraction d) -> f a -> Fraction d #

(Unital r, UnitalAlgebra r a) => Unital (a -> r) # 
Instance details

Defined in Numeric.Algebra.Unital

Methods

one :: a -> r #

pow :: (a -> r) -> Natural -> a -> r #

productWith :: Foldable f => (a0 -> a -> r) -> f a0 -> a -> r #

(Unital a, Unital b) => Unital (a, b) # 
Instance details

Defined in Numeric.Algebra.Unital

Methods

one :: (a, b) #

pow :: (a, b) -> Natural -> (a, b) #

productWith :: Foldable f => (a0 -> (a, b)) -> f a0 -> (a, b) #

CounitalCoalgebra r m => Unital (Covector r m) # 
Instance details

Defined in Numeric.Covector

Methods

one :: Covector r m #

pow :: Covector r m -> Natural -> Covector r m #

productWith :: Foldable f => (a -> Covector r m) -> f a -> Covector r m #

(Unital a, Unital b, Unital c) => Unital (a, b, c) # 
Instance details

Defined in Numeric.Algebra.Unital

Methods

one :: (a, b, c) #

pow :: (a, b, c) -> Natural -> (a, b, c) #

productWith :: Foldable f => (a0 -> (a, b, c)) -> f a0 -> (a, b, c) #

CounitalCoalgebra r m => Unital (Map r b m) # 
Instance details

Defined in Numeric.Map

Methods

one :: Map r b m #

pow :: Map r b m -> Natural -> Map r b m #

productWith :: Foldable f => (a -> Map r b m) -> f a -> Map r b m #

(Unital a, Unital b, Unital c, Unital d) => Unital (a, b, c, d) # 
Instance details

Defined in Numeric.Algebra.Unital

Methods

one :: (a, b, c, d) #

pow :: (a, b, c, d) -> Natural -> (a, b, c, d) #

productWith :: Foldable f => (a0 -> (a, b, c, d)) -> f a0 -> (a, b, c, d) #

(Unital a, Unital b, Unital c, Unital d, Unital e) => Unital (a, b, c, d, e) # 
Instance details

Defined in Numeric.Algebra.Unital

Methods

one :: (a, b, c, d, e) #

pow :: (a, b, c, d, e) -> Natural -> (a, b, c, d, e) #

productWith :: Foldable f => (a0 -> (a, b, c, d, e)) -> f a0 -> (a, b, c, d, e) #

product :: (Foldable f, Unital r) => f r -> r #

idempotent multiplicative semigroups

class Multiplicative r => Band r #

An multiplicative semigroup with idempotent multiplication.

a * a = a
Instances
Band Bool # 
Instance details

Defined in Numeric.Algebra.Idempotent

Band () # 
Instance details

Defined in Numeric.Algebra.Idempotent

Band r => Band (Opposite r) # 
Instance details

Defined in Numeric.Ring.Opposite

Idempotent r => Band (Exp r) # 
Instance details

Defined in Numeric.Exp

(Band a, Band b) => Band (a, b) # 
Instance details

Defined in Numeric.Algebra.Idempotent

Band (Rect i j) # 
Instance details

Defined in Numeric.Band.Rectangular

(Idempotent r, IdempotentCoalgebra r a) => Band (Covector r a) # 
Instance details

Defined in Numeric.Covector

(Band a, Band b, Band c) => Band (a, b, c) # 
Instance details

Defined in Numeric.Algebra.Idempotent

(Band a, Band b, Band c, Band d) => Band (a, b, c, d) # 
Instance details

Defined in Numeric.Algebra.Idempotent

(Band a, Band b, Band c, Band d, Band e) => Band (a, b, c, d, e) # 
Instance details

Defined in Numeric.Algebra.Idempotent

pow1pBand :: r -> Natural -> r #

powBand :: Unital r => r -> Natural -> r #

multiplicative groups

class Unital r => Division r where #

Methods

recip :: r -> r #

(/) :: r -> r -> r infixl 7 #

(\\) :: r -> r -> r infixl 7 #

(^) :: Integral n => r -> n -> r infixr 8 #

Instances
Division () # 
Instance details

Defined in Numeric.Algebra.Division

Methods

recip :: () -> () #

(/) :: () -> () -> () #

(\\) :: () -> () -> () #

(^) :: Integral n => () -> n -> () #

(Rng r, Division r) => Division (RngRing r) # 
Instance details

Defined in Numeric.Ring.Rng

Methods

recip :: RngRing r -> RngRing r #

(/) :: RngRing r -> RngRing r -> RngRing r #

(\\) :: RngRing r -> RngRing r -> RngRing r #

(^) :: Integral n => RngRing r -> n -> RngRing r #

Division r => Division (Opposite r) # 
Instance details

Defined in Numeric.Ring.Opposite

Methods

recip :: Opposite r -> Opposite r #

(/) :: Opposite r -> Opposite r -> Opposite r #

(\\) :: Opposite r -> Opposite r -> Opposite r #

(^) :: Integral n => Opposite r -> n -> Opposite r #

Group r => Division (Exp r) # 
Instance details

Defined in Numeric.Exp

Methods

recip :: Exp r -> Exp r #

(/) :: Exp r -> Exp r -> Exp r #

(\\) :: Exp r -> Exp r -> Exp r #

(^) :: Integral n => Exp r -> n -> Exp r #

(TriviallyInvolutive r, Ring r, Division r) => Division (Quaternion' r) # 
Instance details

Defined in Numeric.Coalgebra.Quaternion

(Commutative r, InvolutiveSemiring r, DivisionRing r) => Division (Dual' r) # 
Instance details

Defined in Numeric.Coalgebra.Dual

Methods

recip :: Dual' r -> Dual' r #

(/) :: Dual' r -> Dual' r -> Dual' r #

(\\) :: Dual' r -> Dual' r -> Dual' r #

(^) :: Integral n => Dual' r -> n -> Dual' r #

(TriviallyInvolutive r, Ring r, Division r) => Division (Quaternion r) # 
Instance details

Defined in Numeric.Algebra.Quaternion

(Commutative r, InvolutiveSemiring r, DivisionRing r) => Division (Hyper' r) # 
Instance details

Defined in Numeric.Algebra.Hyperbolic

Methods

recip :: Hyper' r -> Hyper' r #

(/) :: Hyper' r -> Hyper' r -> Hyper' r #

(\\) :: Hyper' r -> Hyper' r -> Hyper' r #

(^) :: Integral n => Hyper' r -> n -> Hyper' r #

(Commutative r, InvolutiveSemiring r, DivisionRing r) => Division (Dual r) # 
Instance details

Defined in Numeric.Algebra.Dual

Methods

recip :: Dual r -> Dual r #

(/) :: Dual r -> Dual r -> Dual r #

(\\) :: Dual r -> Dual r -> Dual r #

(^) :: Integral n => Dual r -> n -> Dual r #

(Commutative r, InvolutiveSemiring r, DivisionRing r) => Division (Complex r) # 
Instance details

Defined in Numeric.Algebra.Complex

Methods

recip :: Complex r -> Complex r #

(/) :: Complex r -> Complex r -> Complex r #

(\\) :: Complex r -> Complex r -> Complex r #

(^) :: Integral n => Complex r -> n -> Complex r #

GCDDomain d => Division (Fraction d) # 
Instance details

Defined in Numeric.Field.Fraction

Methods

recip :: Fraction d -> Fraction d #

(/) :: Fraction d -> Fraction d -> Fraction d #

(\\) :: Fraction d -> Fraction d -> Fraction d #

(^) :: Integral n => Fraction d -> n -> Fraction d #

(Unital r, DivisionAlgebra r a) => Division (a -> r) # 
Instance details

Defined in Numeric.Algebra.Division

Methods

recip :: (a -> r) -> a -> r #

(/) :: (a -> r) -> (a -> r) -> a -> r #

(\\) :: (a -> r) -> (a -> r) -> a -> r #

(^) :: Integral n => (a -> r) -> n -> a -> r #

(Division a, Division b) => Division (a, b) # 
Instance details

Defined in Numeric.Algebra.Division

Methods

recip :: (a, b) -> (a, b) #

(/) :: (a, b) -> (a, b) -> (a, b) #

(\\) :: (a, b) -> (a, b) -> (a, b) #

(^) :: Integral n => (a, b) -> n -> (a, b) #

(Division a, Division b, Division c) => Division (a, b, c) # 
Instance details

Defined in Numeric.Algebra.Division

Methods

recip :: (a, b, c) -> (a, b, c) #

(/) :: (a, b, c) -> (a, b, c) -> (a, b, c) #

(\\) :: (a, b, c) -> (a, b, c) -> (a, b, c) #

(^) :: Integral n => (a, b, c) -> n -> (a, b, c) #

(Division a, Division b, Division c, Division d) => Division (a, b, c, d) # 
Instance details

Defined in Numeric.Algebra.Division

Methods

recip :: (a, b, c, d) -> (a, b, c, d) #

(/) :: (a, b, c, d) -> (a, b, c, d) -> (a, b, c, d) #

(\\) :: (a, b, c, d) -> (a, b, c, d) -> (a, b, c, d) #

(^) :: Integral n => (a, b, c, d) -> n -> (a, b, c, d) #

(Division a, Division b, Division c, Division d, Division e) => Division (a, b, c, d, e) # 
Instance details

Defined in Numeric.Algebra.Division

Methods

recip :: (a, b, c, d, e) -> (a, b, c, d, e) #

(/) :: (a, b, c, d, e) -> (a, b, c, d, e) -> (a, b, c, d, e) #

(\\) :: (a, b, c, d, e) -> (a, b, c, d, e) -> (a, b, c, d, e) #

(^) :: Integral n => (a, b, c, d, e) -> n -> (a, b, c, d, e) #

factorable multiplicative semigroups

class Multiplicative m => Factorable m where #

`factorWith f c` returns a non-empty list containing `f a b` for all `a, b` such that `a * b = c`.

Results of factorWith f 0 are undefined and may result in either an error or an infinite list.

Minimal complete definition

factorWith

Methods

factorWith :: (m -> m -> r) -> m -> NonEmpty r #

Instances
Factorable Bool # 
Instance details

Defined in Numeric.Algebra.Factorable

Methods

factorWith :: (Bool -> Bool -> r) -> Bool -> NonEmpty r #

Factorable () # 
Instance details

Defined in Numeric.Algebra.Factorable

Methods

factorWith :: (() -> () -> r) -> () -> NonEmpty r #

Partitionable r => Factorable (Exp r) # 
Instance details

Defined in Numeric.Exp

Methods

factorWith :: (Exp r -> Exp r -> r0) -> Exp r -> NonEmpty r0 #

(Factorable a, Factorable b) => Factorable (a, b) # 
Instance details

Defined in Numeric.Algebra.Factorable

Methods

factorWith :: ((a, b) -> (a, b) -> r) -> (a, b) -> NonEmpty r #

(Factorable a, Factorable b, Factorable c) => Factorable (a, b, c) # 
Instance details

Defined in Numeric.Algebra.Factorable

Methods

factorWith :: ((a, b, c) -> (a, b, c) -> r) -> (a, b, c) -> NonEmpty r #

(Factorable a, Factorable b, Factorable c, Factorable d) => Factorable (a, b, c, d) # 
Instance details

Defined in Numeric.Algebra.Factorable

Methods

factorWith :: ((a, b, c, d) -> (a, b, c, d) -> r) -> (a, b, c, d) -> NonEmpty r #

(Factorable a, Factorable b, Factorable c, Factorable d, Factorable e) => Factorable (a, b, c, d, e) # 
Instance details

Defined in Numeric.Algebra.Factorable

Methods

factorWith :: ((a, b, c, d, e) -> (a, b, c, d, e) -> r) -> (a, b, c, d, e) -> NonEmpty r #

involutive multiplicative semigroups

class Multiplicative r => InvolutiveMultiplication r where #

An semigroup with involution

adjoint a * adjoint b = adjoint (b * a)

Minimal complete definition

adjoint

Methods

adjoint :: r -> r #

Instances
InvolutiveMultiplication Bool # 
Instance details

Defined in Numeric.Algebra.Involutive

Methods

adjoint :: Bool -> Bool #

InvolutiveMultiplication Int # 
Instance details

Defined in Numeric.Algebra.Involutive

Methods

adjoint :: Int -> Int #

InvolutiveMultiplication Int8 # 
Instance details

Defined in Numeric.Algebra.Involutive

Methods

adjoint :: Int8 -> Int8 #

InvolutiveMultiplication Int16 # 
Instance details

Defined in Numeric.Algebra.Involutive

Methods

adjoint :: Int16 -> Int16 #

InvolutiveMultiplication Int32 # 
Instance details

Defined in Numeric.Algebra.Involutive

Methods

adjoint :: Int32 -> Int32 #

InvolutiveMultiplication Int64 # 
Instance details

Defined in Numeric.Algebra.Involutive

Methods

adjoint :: Int64 -> Int64 #

InvolutiveMultiplication Integer # 
Instance details

Defined in Numeric.Algebra.Involutive

Methods

adjoint :: Integer -> Integer #

InvolutiveMultiplication Natural # 
Instance details

Defined in Numeric.Algebra.Involutive

Methods

adjoint :: Natural -> Natural #

InvolutiveMultiplication Word # 
Instance details

Defined in Numeric.Algebra.Involutive

Methods

adjoint :: Word -> Word #

InvolutiveMultiplication Word8 # 
Instance details

Defined in Numeric.Algebra.Involutive

Methods

adjoint :: Word8 -> Word8 #

InvolutiveMultiplication Word16 # 
Instance details

Defined in Numeric.Algebra.Involutive

Methods

adjoint :: Word16 -> Word16 #

InvolutiveMultiplication Word32 # 
Instance details

Defined in Numeric.Algebra.Involutive

Methods

adjoint :: Word32 -> Word32 #

InvolutiveMultiplication Word64 # 
Instance details

Defined in Numeric.Algebra.Involutive

Methods

adjoint :: Word64 -> Word64 #

InvolutiveMultiplication () # 
Instance details

Defined in Numeric.Algebra.Involutive

Methods

adjoint :: () -> () #

InvolutiveMultiplication Euclidean # 
Instance details

Defined in Numeric.Coalgebra.Geometric

(Commutative r, Rng r, InvolutiveMultiplication r) => InvolutiveMultiplication (Trig r) # 
Instance details

Defined in Numeric.Coalgebra.Trigonometric

Methods

adjoint :: Trig r -> Trig r #

(TriviallyInvolutive r, Rng r) => InvolutiveMultiplication (Quaternion' r) # 
Instance details

Defined in Numeric.Coalgebra.Quaternion

Methods

adjoint :: Quaternion' r -> Quaternion' r #

(Commutative r, Group r, InvolutiveSemiring r) => InvolutiveMultiplication (Hyper r) # 
Instance details

Defined in Numeric.Coalgebra.Hyperbolic

Methods

adjoint :: Hyper r -> Hyper r #

(Commutative r, Rng r, InvolutiveSemiring r) => InvolutiveMultiplication (Dual' r) # 
Instance details

Defined in Numeric.Coalgebra.Dual

Methods

adjoint :: Dual' r -> Dual' r #

(TriviallyInvolutive r, Rng r) => InvolutiveMultiplication (Quaternion r) # 
Instance details

Defined in Numeric.Algebra.Quaternion

Methods

adjoint :: Quaternion r -> Quaternion r #

(Commutative r, InvolutiveSemiring r, Rng r) => InvolutiveMultiplication (Hyper' r) # 
Instance details

Defined in Numeric.Algebra.Hyperbolic

Methods

adjoint :: Hyper' r -> Hyper' r #

(Commutative r, Rng r, InvolutiveSemiring r) => InvolutiveMultiplication (Dual r) # 
Instance details

Defined in Numeric.Algebra.Dual

Methods

adjoint :: Dual r -> Dual r #

(Commutative r, Rng r, InvolutiveMultiplication r) => InvolutiveMultiplication (Complex r) # 
Instance details

Defined in Numeric.Algebra.Complex

Methods

adjoint :: Complex r -> Complex r #

InvolutiveAlgebra r h => InvolutiveMultiplication (h -> r) # 
Instance details

Defined in Numeric.Algebra.Involutive

Methods

adjoint :: (h -> r) -> h -> r #

(InvolutiveMultiplication a, InvolutiveMultiplication b) => InvolutiveMultiplication (a, b) # 
Instance details

Defined in Numeric.Algebra.Involutive

Methods

adjoint :: (a, b) -> (a, b) #

(InvolutiveMultiplication a, InvolutiveMultiplication b, InvolutiveMultiplication c) => InvolutiveMultiplication (a, b, c) # 
Instance details

Defined in Numeric.Algebra.Involutive

Methods

adjoint :: (a, b, c) -> (a, b, c) #

(InvolutiveMultiplication a, InvolutiveMultiplication b, InvolutiveMultiplication c, InvolutiveMultiplication d) => InvolutiveMultiplication (a, b, c, d) # 
Instance details

Defined in Numeric.Algebra.Involutive

Methods

adjoint :: (a, b, c, d) -> (a, b, c, d) #

(InvolutiveMultiplication a, InvolutiveMultiplication b, InvolutiveMultiplication c, InvolutiveMultiplication d, InvolutiveMultiplication e) => InvolutiveMultiplication (a, b, c, d, e) # 
Instance details

Defined in Numeric.Algebra.Involutive

Methods

adjoint :: (a, b, c, d, e) -> (a, b, c, d, e) #

class (Commutative r, InvolutiveMultiplication r) => TriviallyInvolutive r #

adjoint = id
Instances
TriviallyInvolutive Bool # 
Instance details

Defined in Numeric.Algebra.Involutive

TriviallyInvolutive Int # 
Instance details

Defined in Numeric.Algebra.Involutive

TriviallyInvolutive Int8 # 
Instance details

Defined in Numeric.Algebra.Involutive

TriviallyInvolutive Int16 # 
Instance details

Defined in Numeric.Algebra.Involutive

TriviallyInvolutive Int32 # 
Instance details

Defined in Numeric.Algebra.Involutive

TriviallyInvolutive Int64 # 
Instance details

Defined in Numeric.Algebra.Involutive

TriviallyInvolutive Integer # 
Instance details

Defined in Numeric.Algebra.Involutive

TriviallyInvolutive Natural # 
Instance details

Defined in Numeric.Algebra.Involutive

TriviallyInvolutive Word # 
Instance details

Defined in Numeric.Algebra.Involutive

TriviallyInvolutive Word8 # 
Instance details

Defined in Numeric.Algebra.Involutive

TriviallyInvolutive Word16 # 
Instance details

Defined in Numeric.Algebra.Involutive

TriviallyInvolutive Word32 # 
Instance details

Defined in Numeric.Algebra.Involutive

TriviallyInvolutive Word64 # 
Instance details

Defined in Numeric.Algebra.Involutive

TriviallyInvolutive () # 
Instance details

Defined in Numeric.Algebra.Involutive

TriviallyInvolutive Euclidean # 
Instance details

Defined in Numeric.Coalgebra.Geometric

(TriviallyInvolutive r, TriviallyInvolutiveAlgebra r a) => TriviallyInvolutive (a -> r) # 
Instance details

Defined in Numeric.Algebra.Involutive

(TriviallyInvolutive a, TriviallyInvolutive b) => TriviallyInvolutive (a, b) # 
Instance details

Defined in Numeric.Algebra.Involutive

(TriviallyInvolutive a, TriviallyInvolutive b, TriviallyInvolutive c) => TriviallyInvolutive (a, b, c) # 
Instance details

Defined in Numeric.Algebra.Involutive

(TriviallyInvolutive a, TriviallyInvolutive b, TriviallyInvolutive c, TriviallyInvolutive d) => TriviallyInvolutive (a, b, c, d) # 
Instance details

Defined in Numeric.Algebra.Involutive

(TriviallyInvolutive a, TriviallyInvolutive b, TriviallyInvolutive c, TriviallyInvolutive d, TriviallyInvolutive e) => TriviallyInvolutive (a, b, c, d, e) # 
Instance details

Defined in Numeric.Algebra.Involutive

Ring-Structures

Semirings

class (Additive r, Abelian r, Multiplicative r) => Semiring r #

A pair of an additive abelian semigroup, and a multiplicative semigroup, with the distributive laws:

a(b + c) = ab + ac -- left distribution (we are a LeftNearSemiring)
(a + b)c = ac + bc -- right distribution (we are a [Right]NearSemiring)

Common notation includes the laws for additive and multiplicative identity in semiring.

If you want that, look at Rig instead.

Ideally we'd use the cyclic definition:

class (LeftModule r r, RightModule r r, Additive r, Abelian r, Multiplicative r) => Semiring r

to enforce that every semiring r is an r-module over itself, but Haskell doesn't like that.

Instances
Semiring Bool # 
Instance details

Defined in Numeric.Algebra.Class

Semiring Int # 
Instance details

Defined in Numeric.Algebra.Class

Semiring Int8 # 
Instance details

Defined in Numeric.Algebra.Class

Semiring Int16 # 
Instance details

Defined in Numeric.Algebra.Class

Semiring Int32 # 
Instance details

Defined in Numeric.Algebra.Class

Semiring Int64 # 
Instance details

Defined in Numeric.Algebra.Class

Semiring Integer # 
Instance details

Defined in Numeric.Algebra.Class

Semiring Natural # 
Instance details

Defined in Numeric.Algebra.Class

Semiring Word # 
Instance details

Defined in Numeric.Algebra.Class

Semiring Word8 # 
Instance details

Defined in Numeric.Algebra.Class

Semiring Word16 # 
Instance details

Defined in Numeric.Algebra.Class

Semiring Word32 # 
Instance details

Defined in Numeric.Algebra.Class

Semiring Word64 # 
Instance details

Defined in Numeric.Algebra.Class

Semiring () # 
Instance details

Defined in Numeric.Algebra.Class

Semiring Euclidean # 
Instance details

Defined in Numeric.Coalgebra.Geometric

(Monoidal r, Abelian r) => Semiring (ZeroRng r) # 
Instance details

Defined in Numeric.Rng.Zero

Rng r => Semiring (RngRing r) # 
Instance details

Defined in Numeric.Ring.Rng

Semiring r => Semiring (Opposite r) # 
Instance details

Defined in Numeric.Ring.Opposite

(Abelian r, Monoidal r) => Semiring (End r) # 
Instance details

Defined in Numeric.Ring.Endomorphism

(Commutative k, Rng k) => Semiring (Trig k) # 
Instance details

Defined in Numeric.Coalgebra.Trigonometric

(TriviallyInvolutive r, Semiring r) => Semiring (Quaternion' r) # 
Instance details

Defined in Numeric.Coalgebra.Quaternion

(Commutative k, Semiring k) => Semiring (Hyper k) # 
Instance details

Defined in Numeric.Coalgebra.Hyperbolic

Semiring (BasisCoblade m) # 
Instance details

Defined in Numeric.Coalgebra.Geometric

(Commutative r, Rng r) => Semiring (Dual' r) # 
Instance details

Defined in Numeric.Coalgebra.Dual

(TriviallyInvolutive r, Rng r) => Semiring (Quaternion r) # 
Instance details

Defined in Numeric.Algebra.Quaternion

(Commutative k, Semiring k) => Semiring (Hyper' k) # 
Instance details

Defined in Numeric.Algebra.Hyperbolic

(Commutative r, Rng r) => Semiring (Dual r) # 
Instance details

Defined in Numeric.Algebra.Dual

(Commutative r, Rng r) => Semiring (Complex r) # 
Instance details

Defined in Numeric.Algebra.Complex

GCDDomain d => Semiring (Fraction d) # 
Instance details

Defined in Numeric.Field.Fraction

Algebra r a => Semiring (a -> r) # 
Instance details

Defined in Numeric.Algebra.Class

(Semiring a, Semiring b) => Semiring (a, b) # 
Instance details

Defined in Numeric.Algebra.Class

Coalgebra r m => Semiring (Covector r m) # 
Instance details

Defined in Numeric.Covector

(Semiring a, Semiring b, Semiring c) => Semiring (a, b, c) # 
Instance details

Defined in Numeric.Algebra.Class

Coalgebra r m => Semiring (Map r b m) # 
Instance details

Defined in Numeric.Map

(Semiring a, Semiring b, Semiring c, Semiring d) => Semiring (a, b, c, d) # 
Instance details

Defined in Numeric.Algebra.Class

(Semiring a, Semiring b, Semiring c, Semiring d, Semiring e) => Semiring (a, b, c, d, e) # 
Instance details

Defined in Numeric.Algebra.Class

class (Semiring r, InvolutiveMultiplication r) => InvolutiveSemiring r #

adjoint (x + y) = adjoint x + adjoint y

Instances
InvolutiveSemiring Bool # 
Instance details

Defined in Numeric.Algebra.Involutive

InvolutiveSemiring Int # 
Instance details

Defined in Numeric.Algebra.Involutive

InvolutiveSemiring Int8 # 
Instance details

Defined in Numeric.Algebra.Involutive

InvolutiveSemiring Int16 # 
Instance details

Defined in Numeric.Algebra.Involutive

InvolutiveSemiring Int32 # 
Instance details

Defined in Numeric.Algebra.Involutive

InvolutiveSemiring Int64 # 
Instance details

Defined in Numeric.Algebra.Involutive

InvolutiveSemiring Integer # 
Instance details

Defined in Numeric.Algebra.Involutive

InvolutiveSemiring Natural # 
Instance details

Defined in Numeric.Algebra.Involutive

InvolutiveSemiring Word # 
Instance details

Defined in Numeric.Algebra.Involutive

InvolutiveSemiring Word8 # 
Instance details

Defined in Numeric.Algebra.Involutive

InvolutiveSemiring Word16 # 
Instance details

Defined in Numeric.Algebra.Involutive

InvolutiveSemiring Word32 # 
Instance details

Defined in Numeric.Algebra.Involutive

InvolutiveSemiring Word64 # 
Instance details

Defined in Numeric.Algebra.Involutive

InvolutiveSemiring () # 
Instance details

Defined in Numeric.Algebra.Involutive

InvolutiveSemiring Euclidean # 
Instance details

Defined in Numeric.Coalgebra.Geometric

(Commutative r, Rng r, InvolutiveSemiring r) => InvolutiveSemiring (Trig r) # 
Instance details

Defined in Numeric.Coalgebra.Trigonometric

(Commutative r, Group r, InvolutiveSemiring r) => InvolutiveSemiring (Hyper r) # 
Instance details

Defined in Numeric.Coalgebra.Hyperbolic

(Commutative r, Rng r, InvolutiveSemiring r) => InvolutiveSemiring (Dual' r) # 
Instance details

Defined in Numeric.Coalgebra.Dual

(Commutative r, InvolutiveSemiring r, Rng r) => InvolutiveSemiring (Hyper' r) # 
Instance details

Defined in Numeric.Algebra.Hyperbolic

(Commutative r, Rng r, InvolutiveSemiring r) => InvolutiveSemiring (Dual r) # 
Instance details

Defined in Numeric.Algebra.Dual

(Commutative r, Rng r, InvolutiveSemiring r) => InvolutiveSemiring (Complex r) # 
Instance details

Defined in Numeric.Algebra.Complex

(InvolutiveSemiring a, InvolutiveSemiring b) => InvolutiveSemiring (a, b) # 
Instance details

Defined in Numeric.Algebra.Involutive

(InvolutiveSemiring a, InvolutiveSemiring b, InvolutiveSemiring c) => InvolutiveSemiring (a, b, c) # 
Instance details

Defined in Numeric.Algebra.Involutive

(InvolutiveSemiring a, InvolutiveSemiring b, InvolutiveSemiring c, InvolutiveSemiring d) => InvolutiveSemiring (a, b, c, d) # 
Instance details

Defined in Numeric.Algebra.Involutive

(InvolutiveSemiring a, InvolutiveSemiring b, InvolutiveSemiring c, InvolutiveSemiring d, InvolutiveSemiring e) => InvolutiveSemiring (a, b, c, d, e) # 
Instance details

Defined in Numeric.Algebra.Involutive

class (Semiring r, Idempotent r) => Dioid r #

Instances
(Semiring r, Idempotent r) => Dioid r # 
Instance details

Defined in Numeric.Dioid.Class

Rngs

class (Group r, Semiring r) => Rng r #

A Ring without an identity.

Instances
(Group r, Semiring r) => Rng r # 
Instance details

Defined in Numeric.Rng.Class

(Group r, Abelian r) => Rng (ZeroRng r) # 
Instance details

Defined in Numeric.Rng.Zero

Rigs

class (Semiring r, Unital r, Monoidal r) => Rig r where #

A Ring without (n)egation

Methods

fromNatural :: Natural -> r #

Instances
Rig Bool # 
Instance details

Defined in Numeric.Rig.Class

Methods

fromNatural :: Natural -> Bool #

Rig Int # 
Instance details

Defined in Numeric.Rig.Class

Methods

fromNatural :: Natural -> Int #

Rig Int8 # 
Instance details

Defined in Numeric.Rig.Class

Methods

fromNatural :: Natural -> Int8 #

Rig Int16 # 
Instance details

Defined in Numeric.Rig.Class

Methods

fromNatural :: Natural -> Int16 #

Rig Int32 # 
Instance details

Defined in Numeric.Rig.Class

Methods

fromNatural :: Natural -> Int32 #

Rig Int64 # 
Instance details

Defined in Numeric.Rig.Class

Methods

fromNatural :: Natural -> Int64 #

Rig Integer # 
Instance details

Defined in Numeric.Rig.Class

Rig Natural # 
Instance details

Defined in Numeric.Rig.Class

Rig Word # 
Instance details

Defined in Numeric.Rig.Class

Methods

fromNatural :: Natural -> Word #

Rig Word8 # 
Instance details

Defined in Numeric.Rig.Class

Methods

fromNatural :: Natural -> Word8 #

Rig Word16 # 
Instance details

Defined in Numeric.Rig.Class

Rig Word32 # 
Instance details

Defined in Numeric.Rig.Class

Rig Word64 # 
Instance details

Defined in Numeric.Rig.Class

Rig () # 
Instance details

Defined in Numeric.Rig.Class

Methods

fromNatural :: Natural -> () #

Rig Euclidean # 
Instance details

Defined in Numeric.Coalgebra.Geometric

Rng r => Rig (RngRing r) # 
Instance details

Defined in Numeric.Ring.Rng

Methods

fromNatural :: Natural -> RngRing r #

Rig r => Rig (Opposite r) # 
Instance details

Defined in Numeric.Ring.Opposite

Methods

fromNatural :: Natural -> Opposite r #

(Abelian r, Monoidal r) => Rig (End r) # 
Instance details

Defined in Numeric.Ring.Endomorphism

Methods

fromNatural :: Natural -> End r #

(Commutative r, Ring r) => Rig (Trig r) # 
Instance details

Defined in Numeric.Coalgebra.Trigonometric

Methods

fromNatural :: Natural -> Trig r #

(TriviallyInvolutive r, Ring r) => Rig (Quaternion' r) # 
Instance details

Defined in Numeric.Coalgebra.Quaternion

(Commutative r, Rig r) => Rig (Hyper r) # 
Instance details

Defined in Numeric.Coalgebra.Hyperbolic

Methods

fromNatural :: Natural -> Hyper r #

Rig (BasisCoblade m) # 
Instance details

Defined in Numeric.Coalgebra.Geometric

(Commutative r, Ring r) => Rig (Dual' r) # 
Instance details

Defined in Numeric.Coalgebra.Dual

Methods

fromNatural :: Natural -> Dual' r #

(TriviallyInvolutive r, Ring r) => Rig (Quaternion r) # 
Instance details

Defined in Numeric.Algebra.Quaternion

(Commutative r, Rig r) => Rig (Hyper' r) # 
Instance details

Defined in Numeric.Algebra.Hyperbolic

Methods

fromNatural :: Natural -> Hyper' r #

(Commutative r, Ring r) => Rig (Dual r) # 
Instance details

Defined in Numeric.Algebra.Dual

Methods

fromNatural :: Natural -> Dual r #

(Commutative r, Ring r) => Rig (Complex r) # 
Instance details

Defined in Numeric.Algebra.Complex

Methods

fromNatural :: Natural -> Complex r #

GCDDomain d => Rig (Fraction d) # 
Instance details

Defined in Numeric.Field.Fraction

Methods

fromNatural :: Natural -> Fraction d #

(Rig a, Rig b) => Rig (a, b) # 
Instance details

Defined in Numeric.Rig.Class

Methods

fromNatural :: Natural -> (a, b) #

(Rig r, CounitalCoalgebra r m) => Rig (Covector r m) # 
Instance details

Defined in Numeric.Covector

Methods

fromNatural :: Natural -> Covector r m #

(Rig a, Rig b, Rig c) => Rig (a, b, c) # 
Instance details

Defined in Numeric.Rig.Class

Methods

fromNatural :: Natural -> (a, b, c) #

(Rig r, CounitalCoalgebra r m) => Rig (Map r b m) # 
Instance details

Defined in Numeric.Map

Methods

fromNatural :: Natural -> Map r b m #

(Rig a, Rig b, Rig c, Rig d) => Rig (a, b, c, d) # 
Instance details

Defined in Numeric.Rig.Class

Methods

fromNatural :: Natural -> (a, b, c, d) #

(Rig a, Rig b, Rig c, Rig d, Rig e) => Rig (a, b, c, d, e) # 
Instance details

Defined in Numeric.Rig.Class

Methods

fromNatural :: Natural -> (a, b, c, d, e) #

Rings

class (Rig r, Rng r) => Ring r where #

Methods

fromInteger :: Integer -> r #

Instances
Ring Int # 
Instance details

Defined in Numeric.Ring.Class

Methods

fromInteger :: Integer -> Int #

Ring Int8 # 
Instance details

Defined in Numeric.Ring.Class

Methods

fromInteger :: Integer -> Int8 #

Ring Int16 # 
Instance details

Defined in Numeric.Ring.Class

Methods

fromInteger :: Integer -> Int16 #

Ring Int32 # 
Instance details

Defined in Numeric.Ring.Class

Methods

fromInteger :: Integer -> Int32 #

Ring Int64 # 
Instance details

Defined in Numeric.Ring.Class

Methods

fromInteger :: Integer -> Int64 #

Ring Integer # 
Instance details

Defined in Numeric.Ring.Class

Ring Word # 
Instance details

Defined in Numeric.Ring.Class

Methods

fromInteger :: Integer -> Word #

Ring Word8 # 
Instance details

Defined in Numeric.Ring.Class

Methods

fromInteger :: Integer -> Word8 #

Ring Word16 # 
Instance details

Defined in Numeric.Ring.Class

Ring Word32 # 
Instance details

Defined in Numeric.Ring.Class

Ring Word64 # 
Instance details

Defined in Numeric.Ring.Class

Ring () # 
Instance details

Defined in Numeric.Ring.Class

Methods

fromInteger :: Integer -> () #

Ring Euclidean # 
Instance details

Defined in Numeric.Coalgebra.Geometric

Rng r => Ring (RngRing r) # 
Instance details

Defined in Numeric.Ring.Rng

Methods

fromInteger :: Integer -> RngRing r #

Ring r => Ring (Opposite r) # 
Instance details

Defined in Numeric.Ring.Opposite

Methods

fromInteger :: Integer -> Opposite r #

(Abelian r, Group r) => Ring (End r) # 
Instance details

Defined in Numeric.Ring.Endomorphism

Methods

fromInteger :: Integer -> End r #

(Commutative r, Ring r) => Ring (Trig r) # 
Instance details

Defined in Numeric.Coalgebra.Trigonometric

Methods

fromInteger :: Integer -> Trig r #

(TriviallyInvolutive r, Ring r) => Ring (Quaternion' r) # 
Instance details

Defined in Numeric.Coalgebra.Quaternion

(Commutative r, Ring r) => Ring (Hyper r) # 
Instance details

Defined in Numeric.Coalgebra.Hyperbolic

Methods

fromInteger :: Integer -> Hyper r #

(Commutative r, Ring r) => Ring (Dual' r) # 
Instance details

Defined in Numeric.Coalgebra.Dual

Methods

fromInteger :: Integer -> Dual' r #

(TriviallyInvolutive r, Ring r) => Ring (Quaternion r) # 
Instance details

Defined in Numeric.Algebra.Quaternion

(Commutative r, Ring r) => Ring (Hyper' r) # 
Instance details

Defined in Numeric.Algebra.Hyperbolic

Methods

fromInteger :: Integer -> Hyper' r #

(Commutative r, Ring r) => Ring (Dual r) # 
Instance details

Defined in Numeric.Algebra.Dual

Methods

fromInteger :: Integer -> Dual r #

(Commutative r, Ring r) => Ring (Complex r) # 
Instance details

Defined in Numeric.Algebra.Complex

Methods

fromInteger :: Integer -> Complex r #

GCDDomain d => Ring (Fraction d) # 
Instance details

Defined in Numeric.Field.Fraction

Methods

fromInteger :: Integer -> Fraction d #

(Ring a, Ring b) => Ring (a, b) # 
Instance details

Defined in Numeric.Ring.Class

Methods

fromInteger :: Integer -> (a, b) #

(Ring r, CounitalCoalgebra r m) => Ring (Covector r m) # 
Instance details

Defined in Numeric.Covector

Methods

fromInteger :: Integer -> Covector r m #

(Ring a, Ring b, Ring c) => Ring (a, b, c) # 
Instance details

Defined in Numeric.Ring.Class

Methods

fromInteger :: Integer -> (a, b, c) #

(Ring r, CounitalCoalgebra r m) => Ring (Map r a m) # 
Instance details

Defined in Numeric.Map

Methods

fromInteger :: Integer -> Map r a m #

(Ring a, Ring b, Ring c, Ring d) => Ring (a, b, c, d) # 
Instance details

Defined in Numeric.Ring.Class

Methods

fromInteger :: Integer -> (a, b, c, d) #

(Ring a, Ring b, Ring c, Ring d, Ring e) => Ring (a, b, c, d, e) # 
Instance details

Defined in Numeric.Ring.Class

Methods

fromInteger :: Integer -> (a, b, c, d, e) #

Division Rings

class Ring r => LocalRing r #

class (Division r, Ring r) => DivisionRing r #

Instances
(Division r, Ring r) => DivisionRing r # 
Instance details

Defined in Numeric.Ring.Division

class (Euclidean d, Division d) => Field d #

Instances
(Euclidean d, Division d) => Field d # 
Instance details

Defined in Numeric.Field.Class

Modules

class (Semiring r, Additive m) => LeftModule r m where #

Minimal complete definition

(.*)

Methods

(.*) :: r -> m -> m infixl 7 #

Instances
LeftModule Integer Int # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(.*) :: Integer -> Int -> Int #

LeftModule Integer Int8 # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(.*) :: Integer -> Int8 -> Int8 #

LeftModule Integer Int16 # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(.*) :: Integer -> Int16 -> Int16 #

LeftModule Integer Int32 # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(.*) :: Integer -> Int32 -> Int32 #

LeftModule Integer Int64 # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(.*) :: Integer -> Int64 -> Int64 #

LeftModule Integer Integer # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(.*) :: Integer -> Integer -> Integer #

LeftModule Integer Word # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(.*) :: Integer -> Word -> Word #

LeftModule Integer Word8 # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(.*) :: Integer -> Word8 -> Word8 #

LeftModule Integer Word16 # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(.*) :: Integer -> Word16 -> Word16 #

LeftModule Integer Word32 # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(.*) :: Integer -> Word32 -> Word32 #

LeftModule Integer Word64 # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(.*) :: Integer -> Word64 -> Word64 #

LeftModule Integer Euclidean # 
Instance details

Defined in Numeric.Coalgebra.Geometric

Methods

(.*) :: Integer -> Euclidean -> Euclidean #

LeftModule Natural Bool # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(.*) :: Natural -> Bool -> Bool #

LeftModule Natural Int # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(.*) :: Natural -> Int -> Int #

LeftModule Natural Int8 # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(.*) :: Natural -> Int8 -> Int8 #

LeftModule Natural Int16 # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(.*) :: Natural -> Int16 -> Int16 #

LeftModule Natural Int32 # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(.*) :: Natural -> Int32 -> Int32 #

LeftModule Natural Int64 # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(.*) :: Natural -> Int64 -> Int64 #

LeftModule Natural Integer # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(.*) :: Natural -> Integer -> Integer #

LeftModule Natural Natural # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(.*) :: Natural -> Natural -> Natural #

LeftModule Natural Word # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(.*) :: Natural -> Word -> Word #

LeftModule Natural Word8 # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(.*) :: Natural -> Word8 -> Word8 #

LeftModule Natural Word16 # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(.*) :: Natural -> Word16 -> Word16 #

LeftModule Natural Word32 # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(.*) :: Natural -> Word32 -> Word32 #

LeftModule Natural Word64 # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(.*) :: Natural -> Word64 -> Word64 #

LeftModule Natural Euclidean # 
Instance details

Defined in Numeric.Coalgebra.Geometric

Methods

(.*) :: Natural -> Euclidean -> Euclidean #

Additive m => LeftModule () m # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(.*) :: () -> m -> m #

Semiring r => LeftModule r () # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(.*) :: r -> () -> () #

Group r => LeftModule Integer (ZeroRng r) # 
Instance details

Defined in Numeric.Rng.Zero

Methods

(.*) :: Integer -> ZeroRng r -> ZeroRng r #

(Abelian r, Group r) => LeftModule Integer (RngRing r) # 
Instance details

Defined in Numeric.Ring.Rng

Methods

(.*) :: Integer -> RngRing r -> RngRing r #

Division r => LeftModule Integer (Log r) # 
Instance details

Defined in Numeric.Log

Methods

(.*) :: Integer -> Log r -> Log r #

GCDDomain d => LeftModule Integer (Fraction d) # 
Instance details

Defined in Numeric.Field.Fraction

Methods

(.*) :: Integer -> Fraction d -> Fraction d #

Monoidal r => LeftModule Natural (ZeroRng r) # 
Instance details

Defined in Numeric.Rng.Zero

Methods

(.*) :: Natural -> ZeroRng r -> ZeroRng r #

(Abelian r, Monoidal r) => LeftModule Natural (RngRing r) # 
Instance details

Defined in Numeric.Ring.Rng

Methods

(.*) :: Natural -> RngRing r -> RngRing r #

Unital r => LeftModule Natural (Log r) # 
Instance details

Defined in Numeric.Log

Methods

(.*) :: Natural -> Log r -> Log r #

LeftModule Natural (BasisCoblade m) # 
Instance details

Defined in Numeric.Coalgebra.Geometric

Methods

(.*) :: Natural -> BasisCoblade m -> BasisCoblade m #

GCDDomain d => LeftModule Natural (Fraction d) # 
Instance details

Defined in Numeric.Field.Fraction

Methods

(.*) :: Natural -> Fraction d -> Fraction d #

RightModule r s => LeftModule r (Opposite s) # 
Instance details

Defined in Numeric.Ring.Opposite

Methods

(.*) :: r -> Opposite s -> Opposite s #

LeftModule r m => LeftModule r (End m) # 
Instance details

Defined in Numeric.Ring.Endomorphism

Methods

(.*) :: r -> End m -> End m #

LeftModule r s => LeftModule r (Trig s) # 
Instance details

Defined in Numeric.Coalgebra.Trigonometric

Methods

(.*) :: r -> Trig s -> Trig s #

LeftModule r s => LeftModule r (Quaternion' s) # 
Instance details

Defined in Numeric.Coalgebra.Quaternion

Methods

(.*) :: r -> Quaternion' s -> Quaternion' s #

LeftModule r s => LeftModule r (Hyper s) # 
Instance details

Defined in Numeric.Coalgebra.Hyperbolic

Methods

(.*) :: r -> Hyper s -> Hyper s #

LeftModule r s => LeftModule r (Dual' s) # 
Instance details

Defined in Numeric.Coalgebra.Dual

Methods

(.*) :: r -> Dual' s -> Dual' s #

LeftModule r s => LeftModule r (Quaternion s) # 
Instance details

Defined in Numeric.Algebra.Quaternion

Methods

(.*) :: r -> Quaternion s -> Quaternion s #

LeftModule r s => LeftModule r (Hyper' s) # 
Instance details

Defined in Numeric.Algebra.Hyperbolic

Methods

(.*) :: r -> Hyper' s -> Hyper' s #

LeftModule r s => LeftModule r (Dual s) # 
Instance details

Defined in Numeric.Algebra.Dual

Methods

(.*) :: r -> Dual s -> Dual s #

LeftModule r s => LeftModule r (Complex s) # 
Instance details

Defined in Numeric.Algebra.Complex

Methods

(.*) :: r -> Complex s -> Complex s #

(LeftModule r a, LeftModule r b) => LeftModule r (a, b) # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(.*) :: r -> (a, b) -> (a, b) #

LeftModule r m => LeftModule r (e -> m) # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(.*) :: r -> (e -> m) -> e -> m #

LeftModule r s => LeftModule r (Covector s m) # 
Instance details

Defined in Numeric.Covector

Methods

(.*) :: r -> Covector s m -> Covector s m #

(LeftModule r a, LeftModule r b, LeftModule r c) => LeftModule r (a, b, c) # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(.*) :: r -> (a, b, c) -> (a, b, c) #

LeftModule r s => LeftModule r (Map s b m) # 
Instance details

Defined in Numeric.Map

Methods

(.*) :: r -> Map s b m -> Map s b m #

(LeftModule r a, LeftModule r b, LeftModule r c, LeftModule r d) => LeftModule r (a, b, c, d) # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(.*) :: r -> (a, b, c, d) -> (a, b, c, d) #

(LeftModule r a, LeftModule r b, LeftModule r c, LeftModule r d, LeftModule r e) => LeftModule r (a, b, c, d, e) # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(.*) :: r -> (a, b, c, d, e) -> (a, b, c, d, e) #

Rng s => LeftModule (RngRing s) (RngRing s) # 
Instance details

Defined in Numeric.Ring.Rng

Methods

(.*) :: RngRing s -> RngRing s -> RngRing s #

Semiring r => LeftModule (Opposite r) (Opposite r) # 
Instance details

Defined in Numeric.Ring.Opposite

Methods

(.*) :: Opposite r -> Opposite r -> Opposite r #

(Monoidal m, Abelian m) => LeftModule (End m) (End m) # 
Instance details

Defined in Numeric.Ring.Endomorphism

Methods

(.*) :: End m -> End m -> End m #

(Commutative r, Rng r) => LeftModule (Trig r) (Trig r) # 
Instance details

Defined in Numeric.Coalgebra.Trigonometric

Methods

(.*) :: Trig r -> Trig r -> Trig r #

(TriviallyInvolutive r, Rng r) => LeftModule (Quaternion' r) (Quaternion' r) # 
Instance details

Defined in Numeric.Coalgebra.Quaternion

Methods

(.*) :: Quaternion' r -> Quaternion' r -> Quaternion' r #

(Commutative r, Semiring r) => LeftModule (Hyper r) (Hyper r) # 
Instance details

Defined in Numeric.Coalgebra.Hyperbolic

Methods

(.*) :: Hyper r -> Hyper r -> Hyper r #

(Commutative r, Rng r) => LeftModule (Dual' r) (Dual' r) # 
Instance details

Defined in Numeric.Coalgebra.Dual

Methods

(.*) :: Dual' r -> Dual' r -> Dual' r #

(TriviallyInvolutive r, Rng r) => LeftModule (Quaternion r) (Quaternion r) # 
Instance details

Defined in Numeric.Algebra.Quaternion

Methods

(.*) :: Quaternion r -> Quaternion r -> Quaternion r #

(Commutative r, Semiring r) => LeftModule (Hyper' r) (Hyper' r) # 
Instance details

Defined in Numeric.Algebra.Hyperbolic

Methods

(.*) :: Hyper' r -> Hyper' r -> Hyper' r #

(Commutative r, Rng r) => LeftModule (Dual r) (Dual r) # 
Instance details

Defined in Numeric.Algebra.Dual

Methods

(.*) :: Dual r -> Dual r -> Dual r #

(Commutative r, Rng r) => LeftModule (Complex r) (Complex r) # 
Instance details

Defined in Numeric.Algebra.Complex

Methods

(.*) :: Complex r -> Complex r -> Complex r #

Coalgebra r m => LeftModule (Covector r m) (Covector r m) # 
Instance details

Defined in Numeric.Covector

Methods

(.*) :: Covector r m -> Covector r m -> Covector r m #

Coalgebra r m => LeftModule (Map r b m) (Map r b m) # 
Instance details

Defined in Numeric.Map

Methods

(.*) :: Map r b m -> Map r b m -> Map r b m #

class (Semiring r, Additive m) => RightModule r m where #

Minimal complete definition

(*.)

Methods

(*.) :: m -> r -> m infixl 7 #

Instances
RightModule Integer Int # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(*.) :: Int -> Integer -> Int #

RightModule Integer Int8 # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(*.) :: Int8 -> Integer -> Int8 #

RightModule Integer Int16 # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(*.) :: Int16 -> Integer -> Int16 #

RightModule Integer Int32 # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(*.) :: Int32 -> Integer -> Int32 #

RightModule Integer Int64 # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(*.) :: Int64 -> Integer -> Int64 #

RightModule Integer Integer # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(*.) :: Integer -> Integer -> Integer #

RightModule Integer Word # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(*.) :: Word -> Integer -> Word #

RightModule Integer Word8 # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(*.) :: Word8 -> Integer -> Word8 #

RightModule Integer Word16 # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(*.) :: Word16 -> Integer -> Word16 #

RightModule Integer Word32 # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(*.) :: Word32 -> Integer -> Word32 #

RightModule Integer Word64 # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(*.) :: Word64 -> Integer -> Word64 #

RightModule Integer Euclidean # 
Instance details

Defined in Numeric.Coalgebra.Geometric

Methods

(*.) :: Euclidean -> Integer -> Euclidean #

RightModule Natural Bool # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(*.) :: Bool -> Natural -> Bool #

RightModule Natural Int # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(*.) :: Int -> Natural -> Int #

RightModule Natural Int8 # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(*.) :: Int8 -> Natural -> Int8 #

RightModule Natural Int16 # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(*.) :: Int16 -> Natural -> Int16 #

RightModule Natural Int32 # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(*.) :: Int32 -> Natural -> Int32 #

RightModule Natural Int64 # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(*.) :: Int64 -> Natural -> Int64 #

RightModule Natural Integer # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(*.) :: Integer -> Natural -> Integer #

RightModule Natural Natural # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(*.) :: Natural -> Natural -> Natural #

RightModule Natural Word # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(*.) :: Word -> Natural -> Word #

RightModule Natural Word8 # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(*.) :: Word8 -> Natural -> Word8 #

RightModule Natural Word16 # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(*.) :: Word16 -> Natural -> Word16 #

RightModule Natural Word32 # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(*.) :: Word32 -> Natural -> Word32 #

RightModule Natural Word64 # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(*.) :: Word64 -> Natural -> Word64 #

RightModule Natural Euclidean # 
Instance details

Defined in Numeric.Coalgebra.Geometric

Methods

(*.) :: Euclidean -> Natural -> Euclidean #

Additive m => RightModule () m # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(*.) :: m -> () -> m #

Semiring r => RightModule r () # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(*.) :: () -> r -> () #

Group r => RightModule Integer (ZeroRng r) # 
Instance details

Defined in Numeric.Rng.Zero

Methods

(*.) :: ZeroRng r -> Integer -> ZeroRng r #

(Abelian r, Group r) => RightModule Integer (RngRing r) # 
Instance details

Defined in Numeric.Ring.Rng

Methods

(*.) :: RngRing r -> Integer -> RngRing r #

Division r => RightModule Integer (Log r) # 
Instance details

Defined in Numeric.Log

Methods

(*.) :: Log r -> Integer -> Log r #

GCDDomain d => RightModule Integer (Fraction d) # 
Instance details

Defined in Numeric.Field.Fraction

Methods

(*.) :: Fraction d -> Integer -> Fraction d #

Monoidal r => RightModule Natural (ZeroRng r) # 
Instance details

Defined in Numeric.Rng.Zero

Methods

(*.) :: ZeroRng r -> Natural -> ZeroRng r #

(Abelian r, Monoidal r) => RightModule Natural (RngRing r) # 
Instance details

Defined in Numeric.Ring.Rng

Methods

(*.) :: RngRing r -> Natural -> RngRing r #

Unital r => RightModule Natural (Log r) # 
Instance details

Defined in Numeric.Log

Methods

(*.) :: Log r -> Natural -> Log r #

RightModule Natural (BasisCoblade m) # 
Instance details

Defined in Numeric.Coalgebra.Geometric

Methods

(*.) :: BasisCoblade m -> Natural -> BasisCoblade m #

GCDDomain d => RightModule Natural (Fraction d) # 
Instance details

Defined in Numeric.Field.Fraction

Methods

(*.) :: Fraction d -> Natural -> Fraction d #

LeftModule r s => RightModule r (Opposite s) # 
Instance details

Defined in Numeric.Ring.Opposite

Methods

(*.) :: Opposite s -> r -> Opposite s #

RightModule r m => RightModule r (End m) # 
Instance details

Defined in Numeric.Ring.Endomorphism

Methods

(*.) :: End m -> r -> End m #

RightModule r s => RightModule r (Trig s) # 
Instance details

Defined in Numeric.Coalgebra.Trigonometric

Methods

(*.) :: Trig s -> r -> Trig s #

RightModule r s => RightModule r (Quaternion' s) # 
Instance details

Defined in Numeric.Coalgebra.Quaternion

Methods

(*.) :: Quaternion' s -> r -> Quaternion' s #

RightModule r s => RightModule r (Hyper s) # 
Instance details

Defined in Numeric.Coalgebra.Hyperbolic

Methods

(*.) :: Hyper s -> r -> Hyper s #

RightModule r s => RightModule r (Dual' s) # 
Instance details

Defined in Numeric.Coalgebra.Dual

Methods

(*.) :: Dual' s -> r -> Dual' s #

RightModule r s => RightModule r (Quaternion s) # 
Instance details

Defined in Numeric.Algebra.Quaternion

Methods

(*.) :: Quaternion s -> r -> Quaternion s #

RightModule r s => RightModule r (Hyper' s) # 
Instance details

Defined in Numeric.Algebra.Hyperbolic

Methods

(*.) :: Hyper' s -> r -> Hyper' s #

RightModule r s => RightModule r (Dual s) # 
Instance details

Defined in Numeric.Algebra.Dual

Methods

(*.) :: Dual s -> r -> Dual s #

RightModule r s => RightModule r (Complex s) # 
Instance details

Defined in Numeric.Algebra.Complex

Methods

(*.) :: Complex s -> r -> Complex s #

(RightModule r a, RightModule r b) => RightModule r (a, b) # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(*.) :: (a, b) -> r -> (a, b) #

RightModule r m => RightModule r (e -> m) # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(*.) :: (e -> m) -> r -> e -> m #

RightModule r s => RightModule r (Covector s m) # 
Instance details

Defined in Numeric.Covector

Methods

(*.) :: Covector s m -> r -> Covector s m #

(RightModule r a, RightModule r b, RightModule r c) => RightModule r (a, b, c) # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(*.) :: (a, b, c) -> r -> (a, b, c) #

RightModule r s => RightModule r (Map s b m) # 
Instance details

Defined in Numeric.Map

Methods

(*.) :: Map s b m -> r -> Map s b m #

(RightModule r a, RightModule r b, RightModule r c, RightModule r d) => RightModule r (a, b, c, d) # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(*.) :: (a, b, c, d) -> r -> (a, b, c, d) #

(RightModule r a, RightModule r b, RightModule r c, RightModule r d, RightModule r e) => RightModule r (a, b, c, d, e) # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(*.) :: (a, b, c, d, e) -> r -> (a, b, c, d, e) #

Rng s => RightModule (RngRing s) (RngRing s) # 
Instance details

Defined in Numeric.Ring.Rng

Methods

(*.) :: RngRing s -> RngRing s -> RngRing s #

Semiring r => RightModule (Opposite r) (Opposite r) # 
Instance details

Defined in Numeric.Ring.Opposite

Methods

(*.) :: Opposite r -> Opposite r -> Opposite r #

(Monoidal m, Abelian m) => RightModule (End m) (End m) # 
Instance details

Defined in Numeric.Ring.Endomorphism

Methods

(*.) :: End m -> End m -> End m #

(Commutative r, Rng r) => RightModule (Trig r) (Trig r) # 
Instance details

Defined in Numeric.Coalgebra.Trigonometric

Methods

(*.) :: Trig r -> Trig r -> Trig r #

(TriviallyInvolutive r, Rng r) => RightModule (Quaternion' r) (Quaternion' r) # 
Instance details

Defined in Numeric.Coalgebra.Quaternion

Methods

(*.) :: Quaternion' r -> Quaternion' r -> Quaternion' r #

(Commutative r, Semiring r) => RightModule (Hyper r) (Hyper r) # 
Instance details

Defined in Numeric.Coalgebra.Hyperbolic

Methods

(*.) :: Hyper r -> Hyper r -> Hyper r #

(Commutative r, Rng r) => RightModule (Dual' r) (Dual' r) # 
Instance details

Defined in Numeric.Coalgebra.Dual

Methods

(*.) :: Dual' r -> Dual' r -> Dual' r #

(TriviallyInvolutive r, Rng r) => RightModule (Quaternion r) (Quaternion r) # 
Instance details

Defined in Numeric.Algebra.Quaternion

Methods

(*.) :: Quaternion r -> Quaternion r -> Quaternion r #

(Commutative r, Semiring r) => RightModule (Hyper' r) (Hyper' r) # 
Instance details

Defined in Numeric.Algebra.Hyperbolic

Methods

(*.) :: Hyper' r -> Hyper' r -> Hyper' r #

(Commutative r, Rng r) => RightModule (Dual r) (Dual r) # 
Instance details

Defined in Numeric.Algebra.Dual

Methods

(*.) :: Dual r -> Dual r -> Dual r #

(Commutative r, Rng r) => RightModule (Complex r) (Complex r) # 
Instance details

Defined in Numeric.Algebra.Complex

Methods

(*.) :: Complex r -> Complex r -> Complex r #

Coalgebra r m => RightModule (Covector r m) (Covector r m) # 
Instance details

Defined in Numeric.Covector

Methods

(*.) :: Covector r m -> Covector r m -> Covector r m #

Coalgebra r m => RightModule (Map r b m) (Map r b m) # 
Instance details

Defined in Numeric.Map

Methods

(*.) :: Map r b m -> Map r b m -> Map r b m #

class (LeftModule r m, RightModule r m) => Module r m #

Instances
(LeftModule r m, RightModule r m) => Module r m # 
Instance details

Defined in Numeric.Algebra.Class

Algebras

associative algebras over (non-commutative) semirings

class Semiring r => Algebra r a where #

An associative algebra built with a free module over a semiring

Minimal complete definition

mult

Methods

mult :: (a -> a -> r) -> a -> r #

Instances
Algebra () a # 
Instance details

Defined in Numeric.Algebra.Class

Methods

mult :: (a -> a -> ()) -> a -> () #

Semiring r => Algebra r IntSet # 
Instance details

Defined in Numeric.Algebra.Class

Methods

mult :: (IntSet -> IntSet -> r) -> IntSet -> r #

Semiring r => Algebra r () # 
Instance details

Defined in Numeric.Algebra.Class

Methods

mult :: (() -> () -> r) -> () -> r #

(Commutative k, Rng k) => Algebra k TrigBasis # 
Instance details

Defined in Numeric.Coalgebra.Trigonometric

Methods

mult :: (TrigBasis -> TrigBasis -> k) -> TrigBasis -> k #

(TriviallyInvolutive r, Semiring r) => Algebra r QuaternionBasis' #

the trivial diagonal algebra

Instance details

Defined in Numeric.Coalgebra.Quaternion

Semiring k => Algebra k HyperBasis #

the trivial diagonal algebra

Instance details

Defined in Numeric.Coalgebra.Hyperbolic

Methods

mult :: (HyperBasis -> HyperBasis -> k) -> HyperBasis -> k #

Semiring k => Algebra k DualBasis' # 
Instance details

Defined in Numeric.Coalgebra.Dual

Methods

mult :: (DualBasis' -> DualBasis' -> k) -> DualBasis' -> k #

(TriviallyInvolutive r, Rng r) => Algebra r QuaternionBasis #

the quaternion algebra

Instance details

Defined in Numeric.Algebra.Quaternion

(Commutative k, Semiring k) => Algebra k HyperBasis' # 
Instance details

Defined in Numeric.Algebra.Hyperbolic

Methods

mult :: (HyperBasis' -> HyperBasis' -> k) -> HyperBasis' -> k #

Rng k => Algebra k DualBasis # 
Instance details

Defined in Numeric.Algebra.Dual

Methods

mult :: (DualBasis -> DualBasis -> k) -> DualBasis -> k #

Rng k => Algebra k ComplexBasis # 
Instance details

Defined in Numeric.Algebra.Complex

Methods

mult :: (ComplexBasis -> ComplexBasis -> k) -> ComplexBasis -> k #

(Semiring r, Ord a) => Algebra r (Set a) # 
Instance details

Defined in Numeric.Algebra.Class

Methods

mult :: (Set a -> Set a -> r) -> Set a -> r #

Semiring r => Algebra r (Seq a) #

The tensor algebra

Instance details

Defined in Numeric.Algebra.Class

Methods

mult :: (Seq a -> Seq a -> r) -> Seq a -> r #

Semiring r => Algebra r [a] #

The tensor algebra

Instance details

Defined in Numeric.Algebra.Class

Methods

mult :: ([a] -> [a] -> r) -> [a] -> r #

(Commutative r, Monoidal r, Semiring r, LocallyFiniteOrder a) => Algebra r (Interval a) # 
Instance details

Defined in Numeric.Algebra.Incidence

Methods

mult :: (Interval a -> Interval a -> r) -> Interval a -> r #

(Algebra r a, Algebra r b) => Algebra r (a, b) # 
Instance details

Defined in Numeric.Algebra.Class

Methods

mult :: ((a, b) -> (a, b) -> r) -> (a, b) -> r #

(Algebra r a, Algebra r b, Algebra r c) => Algebra r (a, b, c) # 
Instance details

Defined in Numeric.Algebra.Class

Methods

mult :: ((a, b, c) -> (a, b, c) -> r) -> (a, b, c) -> r #

(Algebra r a, Algebra r b, Algebra r c, Algebra r d) => Algebra r (a, b, c, d) # 
Instance details

Defined in Numeric.Algebra.Class

Methods

mult :: ((a, b, c, d) -> (a, b, c, d) -> r) -> (a, b, c, d) -> r #

(Algebra r a, Algebra r b, Algebra r c, Algebra r d, Algebra r e) => Algebra r (a, b, c, d, e) # 
Instance details

Defined in Numeric.Algebra.Class

Methods

mult :: ((a, b, c, d, e) -> (a, b, c, d, e) -> r) -> (a, b, c, d, e) -> r #

class Semiring r => Coalgebra r c where #

Minimal complete definition

comult

Methods

comult :: (c -> r) -> c -> c -> r #

Instances
Semiring r => Coalgebra r IntSet #

the free commutative band coalgebra over Int

Instance details

Defined in Numeric.Algebra.Class

Methods

comult :: (IntSet -> r) -> IntSet -> IntSet -> r #

Semiring r => Coalgebra r () # 
Instance details

Defined in Numeric.Algebra.Class

Methods

comult :: (() -> r) -> () -> () -> r #

(Commutative k, Rng k) => Coalgebra k TrigBasis # 
Instance details

Defined in Numeric.Coalgebra.Trigonometric

Methods

comult :: (TrigBasis -> k) -> TrigBasis -> TrigBasis -> k #

(TriviallyInvolutive r, Rng r) => Coalgebra r QuaternionBasis' #

dual quaternion comultiplication

Instance details

Defined in Numeric.Coalgebra.Quaternion

(Commutative k, Semiring k) => Coalgebra k HyperBasis #

the hyperbolic trigonometric coalgebra

Instance details

Defined in Numeric.Coalgebra.Hyperbolic

Methods

comult :: (HyperBasis -> k) -> HyperBasis -> HyperBasis -> k #

Rng k => Coalgebra k DualBasis' # 
Instance details

Defined in Numeric.Coalgebra.Dual

Methods

comult :: (DualBasis' -> k) -> DualBasis' -> DualBasis' -> k #

(TriviallyInvolutive r, Rng r) => Coalgebra r QuaternionBasis #

the trivial diagonal coalgebra

Instance details

Defined in Numeric.Algebra.Quaternion

(Commutative k, Monoidal k, Semiring k) => Coalgebra k HyperBasis' # 
Instance details

Defined in Numeric.Algebra.Hyperbolic

Methods

comult :: (HyperBasis' -> k) -> HyperBasis' -> HyperBasis' -> k #

Rng k => Coalgebra k DualBasis # 
Instance details

Defined in Numeric.Algebra.Dual

Methods

comult :: (DualBasis -> k) -> DualBasis -> DualBasis -> k #

Rng k => Coalgebra k ComplexBasis # 
Instance details

Defined in Numeric.Algebra.Complex

Methods

comult :: (ComplexBasis -> k) -> ComplexBasis -> ComplexBasis -> k #

(Semiring r, Additive b) => Coalgebra r (IntMap b) #

the free commutative coalgebra over a set and Int

Instance details

Defined in Numeric.Algebra.Class

Methods

comult :: (IntMap b -> r) -> IntMap b -> IntMap b -> r #

(Semiring r, Ord a) => Coalgebra r (Set a) #

the free commutative band coalgebra

Instance details

Defined in Numeric.Algebra.Class

Methods

comult :: (Set a -> r) -> Set a -> Set a -> r #

Semiring r => Coalgebra r (Seq a) #

The tensor Hopf algebra

Instance details

Defined in Numeric.Algebra.Class

Methods

comult :: (Seq a -> r) -> Seq a -> Seq a -> r #

Semiring r => Coalgebra r [a] #

The tensor Hopf algebra

Instance details

Defined in Numeric.Algebra.Class

Methods

comult :: ([a] -> r) -> [a] -> [a] -> r #

(Commutative r, Monoidal r, Semiring r, PartialSemigroup a) => Coalgebra r (Morphism a) # 
Instance details

Defined in Numeric.Coalgebra.Categorical

Methods

comult :: (Morphism a -> r) -> Morphism a -> Morphism a -> r #

(Eq a, Commutative r, Monoidal r, Semiring r) => Coalgebra r (Interval' a) # 
Instance details

Defined in Numeric.Coalgebra.Incidence

Methods

comult :: (Interval' a -> r) -> Interval' a -> Interval' a -> r #

Eigenmetric r m => Coalgebra r (BasisCoblade m) # 
Instance details

Defined in Numeric.Coalgebra.Geometric

Methods

comult :: (BasisCoblade m -> r) -> BasisCoblade m -> BasisCoblade m -> r #

(Semiring r, Ord a, Additive b) => Coalgebra r (Map a b) #

the free commutative coalgebra over a set and a given semigroup

Instance details

Defined in Numeric.Algebra.Class

Methods

comult :: (Map a b -> r) -> Map a b -> Map a b -> r #

(Coalgebra r a, Coalgebra r b) => Coalgebra r (a, b) # 
Instance details

Defined in Numeric.Algebra.Class

Methods

comult :: ((a, b) -> r) -> (a, b) -> (a, b) -> r #

Algebra r m => Coalgebra r (m -> r) #

Every coalgebra gives rise to an algebra by vector space duality classically. Sadly, it requires vector space duality, which we cannot use constructively. The dual argument only relies in the fact that any constructive coalgebra can only inspect a finite number of coefficients, which we CAN exploit.

Instance details

Defined in Numeric.Algebra.Class

Methods

comult :: ((m -> r) -> r) -> (m -> r) -> (m -> r) -> r #

(Coalgebra r a, Coalgebra r b, Coalgebra r c) => Coalgebra r (a, b, c) # 
Instance details

Defined in Numeric.Algebra.Class

Methods

comult :: ((a, b, c) -> r) -> (a, b, c) -> (a, b, c) -> r #

(Coalgebra r a, Coalgebra r b, Coalgebra r c, Coalgebra r d) => Coalgebra r (a, b, c, d) # 
Instance details

Defined in Numeric.Algebra.Class

Methods

comult :: ((a, b, c, d) -> r) -> (a, b, c, d) -> (a, b, c, d) -> r #

(Coalgebra r a, Coalgebra r b, Coalgebra r c, Coalgebra r d, Coalgebra r e) => Coalgebra r (a, b, c, d, e) # 
Instance details

Defined in Numeric.Algebra.Class

Methods

comult :: ((a, b, c, d, e) -> r) -> (a, b, c, d, e) -> (a, b, c, d, e) -> r #

unital algebras

class Algebra r a => UnitalAlgebra r a where #

An associative unital algebra over a semiring, built using a free module

Minimal complete definition

unit

Methods

unit :: r -> a -> r #

Instances
Semiring r => UnitalAlgebra r () # 
Instance details

Defined in Numeric.Algebra.Unital

Methods

unit :: r -> () -> r #

(Commutative k, Rng k) => UnitalAlgebra k TrigBasis # 
Instance details

Defined in Numeric.Coalgebra.Trigonometric

Methods

unit :: k -> TrigBasis -> k #

(TriviallyInvolutive r, Semiring r) => UnitalAlgebra r QuaternionBasis' # 
Instance details

Defined in Numeric.Coalgebra.Quaternion

Methods

unit :: r -> QuaternionBasis' -> r #

Semiring k => UnitalAlgebra k HyperBasis # 
Instance details

Defined in Numeric.Coalgebra.Hyperbolic

Methods

unit :: k -> HyperBasis -> k #

Semiring k => UnitalAlgebra k DualBasis' # 
Instance details

Defined in Numeric.Coalgebra.Dual

Methods

unit :: k -> DualBasis' -> k #

(TriviallyInvolutive r, Rng r) => UnitalAlgebra r QuaternionBasis # 
Instance details

Defined in Numeric.Algebra.Quaternion

Methods

unit :: r -> QuaternionBasis -> r #

(Commutative k, Monoidal k, Semiring k) => UnitalAlgebra k HyperBasis' # 
Instance details

Defined in Numeric.Algebra.Hyperbolic

Methods

unit :: k -> HyperBasis' -> k #

Rng k => UnitalAlgebra k DualBasis # 
Instance details

Defined in Numeric.Algebra.Dual

Methods

unit :: k -> DualBasis -> k #

Rng k => UnitalAlgebra k ComplexBasis # 
Instance details

Defined in Numeric.Algebra.Complex

Methods

unit :: k -> ComplexBasis -> k #

(Monoidal r, Semiring r) => UnitalAlgebra r (Seq a) # 
Instance details

Defined in Numeric.Algebra.Unital

Methods

unit :: r -> Seq a -> r #

(Monoidal r, Semiring r) => UnitalAlgebra r [a] # 
Instance details

Defined in Numeric.Algebra.Unital

Methods

unit :: r -> [a] -> r #

(Commutative r, Monoidal r, Semiring r, LocallyFiniteOrder a) => UnitalAlgebra r (Interval a) # 
Instance details

Defined in Numeric.Algebra.Incidence

Methods

unit :: r -> Interval a -> r #

(UnitalAlgebra r a, UnitalAlgebra r b) => UnitalAlgebra r (a, b) # 
Instance details

Defined in Numeric.Algebra.Unital

Methods

unit :: r -> (a, b) -> r #

(UnitalAlgebra r a, UnitalAlgebra r b, UnitalAlgebra r c) => UnitalAlgebra r (a, b, c) # 
Instance details

Defined in Numeric.Algebra.Unital

Methods

unit :: r -> (a, b, c) -> r #

(UnitalAlgebra r a, UnitalAlgebra r b, UnitalAlgebra r c, UnitalAlgebra r d) => UnitalAlgebra r (a, b, c, d) # 
Instance details

Defined in Numeric.Algebra.Unital

Methods

unit :: r -> (a, b, c, d) -> r #

(UnitalAlgebra r a, UnitalAlgebra r b, UnitalAlgebra r c, UnitalAlgebra r d, UnitalAlgebra r e) => UnitalAlgebra r (a, b, c, d, e) # 
Instance details

Defined in Numeric.Algebra.Unital

Methods

unit :: r -> (a, b, c, d, e) -> r #

class Coalgebra r c => CounitalCoalgebra r c where #

Minimal complete definition

counit

Methods

counit :: (c -> r) -> r #

Instances
Semiring r => CounitalCoalgebra r () # 
Instance details

Defined in Numeric.Algebra.Unital

Methods

counit :: (() -> r) -> r #

(Commutative k, Rng k) => CounitalCoalgebra k TrigBasis # 
Instance details

Defined in Numeric.Coalgebra.Trigonometric

Methods

counit :: (TrigBasis -> k) -> k #

(TriviallyInvolutive r, Rng r) => CounitalCoalgebra r QuaternionBasis' # 
Instance details

Defined in Numeric.Coalgebra.Quaternion

Methods

counit :: (QuaternionBasis' -> r) -> r #

(Commutative k, Semiring k) => CounitalCoalgebra k HyperBasis # 
Instance details

Defined in Numeric.Coalgebra.Hyperbolic

Methods

counit :: (HyperBasis -> k) -> k #

Rng k => CounitalCoalgebra k DualBasis' # 
Instance details

Defined in Numeric.Coalgebra.Dual

Methods

counit :: (DualBasis' -> k) -> k #

(TriviallyInvolutive r, Rng r) => CounitalCoalgebra r QuaternionBasis # 
Instance details

Defined in Numeric.Algebra.Quaternion

Methods

counit :: (QuaternionBasis -> r) -> r #

(Commutative k, Monoidal k, Semiring k) => CounitalCoalgebra k HyperBasis' # 
Instance details

Defined in Numeric.Algebra.Hyperbolic

Methods

counit :: (HyperBasis' -> k) -> k #

Rng k => CounitalCoalgebra k DualBasis # 
Instance details

Defined in Numeric.Algebra.Dual

Methods

counit :: (DualBasis -> k) -> k #

Rng k => CounitalCoalgebra k ComplexBasis # 
Instance details

Defined in Numeric.Algebra.Complex

Methods

counit :: (ComplexBasis -> k) -> k #

Semiring r => CounitalCoalgebra r (Seq a) # 
Instance details

Defined in Numeric.Algebra.Unital

Methods

counit :: (Seq a -> r) -> r #

Semiring r => CounitalCoalgebra r [a] # 
Instance details

Defined in Numeric.Algebra.Unital

Methods

counit :: ([a] -> r) -> r #

(Commutative r, Monoidal r, Semiring r, PartialMonoid a) => CounitalCoalgebra r (Morphism a) # 
Instance details

Defined in Numeric.Coalgebra.Categorical

Methods

counit :: (Morphism a -> r) -> r #

(Eq a, Bounded a, Commutative r, Monoidal r, Semiring r) => CounitalCoalgebra r (Interval' a) # 
Instance details

Defined in Numeric.Coalgebra.Incidence

Methods

counit :: (Interval' a -> r) -> r #

Eigenmetric r m => CounitalCoalgebra r (BasisCoblade m) # 
Instance details

Defined in Numeric.Coalgebra.Geometric

Methods

counit :: (BasisCoblade m -> r) -> r #

(CounitalCoalgebra r a, CounitalCoalgebra r b) => CounitalCoalgebra r (a, b) # 
Instance details

Defined in Numeric.Algebra.Unital

Methods

counit :: ((a, b) -> r) -> r #

(Unital r, UnitalAlgebra r m) => CounitalCoalgebra r (m -> r) # 
Instance details

Defined in Numeric.Algebra.Unital

Methods

counit :: ((m -> r) -> r) -> r #

(CounitalCoalgebra r a, CounitalCoalgebra r b, CounitalCoalgebra r c) => CounitalCoalgebra r (a, b, c) # 
Instance details

Defined in Numeric.Algebra.Unital

Methods

counit :: ((a, b, c) -> r) -> r #

(CounitalCoalgebra r a, CounitalCoalgebra r b, CounitalCoalgebra r c, CounitalCoalgebra r d) => CounitalCoalgebra r (a, b, c, d) # 
Instance details

Defined in Numeric.Algebra.Unital

Methods

counit :: ((a, b, c, d) -> r) -> r #

(CounitalCoalgebra r a, CounitalCoalgebra r b, CounitalCoalgebra r c, CounitalCoalgebra r d, CounitalCoalgebra r e) => CounitalCoalgebra r (a, b, c, d, e) # 
Instance details

Defined in Numeric.Algebra.Unital

Methods

counit :: ((a, b, c, d, e) -> r) -> r #

class (UnitalAlgebra r a, CounitalCoalgebra r a) => Bialgebra r a #

A bialgebra is both a unital algebra and counital coalgebra where the mult and unit are compatible in some sense with the comult and counit. That is to say that mult and unit are a coalgebra homomorphisms or (equivalently) that comult and counit are an algebra homomorphisms.

Instances
Semiring r => Bialgebra r () # 
Instance details

Defined in Numeric.Algebra.Unital

(Commutative k, Rng k) => Bialgebra k TrigBasis # 
Instance details

Defined in Numeric.Coalgebra.Trigonometric

(TriviallyInvolutive r, Rng r) => Bialgebra r QuaternionBasis' # 
Instance details

Defined in Numeric.Coalgebra.Quaternion

(Commutative k, Semiring k) => Bialgebra k HyperBasis # 
Instance details

Defined in Numeric.Coalgebra.Hyperbolic

Rng k => Bialgebra k DualBasis' # 
Instance details

Defined in Numeric.Coalgebra.Dual

(TriviallyInvolutive r, Rng r) => Bialgebra r QuaternionBasis # 
Instance details

Defined in Numeric.Algebra.Quaternion

(Commutative k, Monoidal k, Semiring k) => Bialgebra k HyperBasis' # 
Instance details

Defined in Numeric.Algebra.Hyperbolic

Rng k => Bialgebra k DualBasis # 
Instance details

Defined in Numeric.Algebra.Dual

Rng k => Bialgebra k ComplexBasis # 
Instance details

Defined in Numeric.Algebra.Complex

(Monoidal r, Semiring r) => Bialgebra r (Seq a) # 
Instance details

Defined in Numeric.Algebra.Unital

(Monoidal r, Semiring r) => Bialgebra r [a] # 
Instance details

Defined in Numeric.Algebra.Unital

(Bialgebra r a, Bialgebra r b) => Bialgebra r (a, b) # 
Instance details

Defined in Numeric.Algebra.Unital

(Bialgebra r a, Bialgebra r b, Bialgebra r c) => Bialgebra r (a, b, c) # 
Instance details

Defined in Numeric.Algebra.Unital

(Bialgebra r a, Bialgebra r b, Bialgebra r c, Bialgebra r d) => Bialgebra r (a, b, c, d) # 
Instance details

Defined in Numeric.Algebra.Unital

(Bialgebra r a, Bialgebra r b, Bialgebra r c, Bialgebra r d, Bialgebra r e) => Bialgebra r (a, b, c, d, e) # 
Instance details

Defined in Numeric.Algebra.Unital

involutive algebras

class (InvolutiveSemiring r, Algebra r a) => InvolutiveAlgebra r a where #

Minimal complete definition

inv

Methods

inv :: (a -> r) -> a -> r #

Instances
InvolutiveSemiring r => InvolutiveAlgebra r () # 
Instance details

Defined in Numeric.Algebra.Involutive

Methods

inv :: (() -> r) -> () -> r #

(Commutative k, Group k, InvolutiveSemiring k) => InvolutiveAlgebra k TrigBasis # 
Instance details

Defined in Numeric.Coalgebra.Trigonometric

Methods

inv :: (TrigBasis -> k) -> TrigBasis -> k #

(TriviallyInvolutive r, InvolutiveSemiring r, Rng r) => InvolutiveAlgebra r QuaternionBasis' # 
Instance details

Defined in Numeric.Coalgebra.Quaternion

Methods

inv :: (QuaternionBasis' -> r) -> QuaternionBasis' -> r #

(Commutative k, Group k, InvolutiveSemiring k) => InvolutiveAlgebra k HyperBasis # 
Instance details

Defined in Numeric.Coalgebra.Hyperbolic

Methods

inv :: (HyperBasis -> k) -> HyperBasis -> k #

(InvolutiveSemiring k, Rng k) => InvolutiveAlgebra k DualBasis' # 
Instance details

Defined in Numeric.Coalgebra.Dual

Methods

inv :: (DualBasis' -> k) -> DualBasis' -> k #

(TriviallyInvolutive r, InvolutiveSemiring r, Rng r) => InvolutiveAlgebra r QuaternionBasis # 
Instance details

Defined in Numeric.Algebra.Quaternion

Methods

inv :: (QuaternionBasis -> r) -> QuaternionBasis -> r #

(Commutative k, Group k, InvolutiveSemiring k) => InvolutiveAlgebra k HyperBasis' # 
Instance details

Defined in Numeric.Algebra.Hyperbolic

Methods

inv :: (HyperBasis' -> k) -> HyperBasis' -> k #

(InvolutiveSemiring k, Rng k) => InvolutiveAlgebra k DualBasis # 
Instance details

Defined in Numeric.Algebra.Dual

Methods

inv :: (DualBasis -> k) -> DualBasis -> k #

(InvolutiveSemiring k, Rng k) => InvolutiveAlgebra k ComplexBasis # 
Instance details

Defined in Numeric.Algebra.Complex

Methods

inv :: (ComplexBasis -> k) -> ComplexBasis -> k #

(InvolutiveAlgebra r a, InvolutiveAlgebra r b) => InvolutiveAlgebra r (a, b) # 
Instance details

Defined in Numeric.Algebra.Involutive

Methods

inv :: ((a, b) -> r) -> (a, b) -> r #

(InvolutiveAlgebra r a, InvolutiveAlgebra r b, InvolutiveAlgebra r c) => InvolutiveAlgebra r (a, b, c) # 
Instance details

Defined in Numeric.Algebra.Involutive

Methods

inv :: ((a, b, c) -> r) -> (a, b, c) -> r #

(InvolutiveAlgebra r a, InvolutiveAlgebra r b, InvolutiveAlgebra r c, InvolutiveAlgebra r d) => InvolutiveAlgebra r (a, b, c, d) # 
Instance details

Defined in Numeric.Algebra.Involutive

Methods

inv :: ((a, b, c, d) -> r) -> (a, b, c, d) -> r #

(InvolutiveAlgebra r a, InvolutiveAlgebra r b, InvolutiveAlgebra r c, InvolutiveAlgebra r d, InvolutiveAlgebra r e) => InvolutiveAlgebra r (a, b, c, d, e) # 
Instance details

Defined in Numeric.Algebra.Involutive

Methods

inv :: ((a, b, c, d, e) -> r) -> (a, b, c, d, e) -> r #

class (InvolutiveSemiring r, Coalgebra r c) => InvolutiveCoalgebra r c where #

Minimal complete definition

coinv

Methods

coinv :: (c -> r) -> c -> r #

Instances
InvolutiveSemiring r => InvolutiveCoalgebra r () # 
Instance details

Defined in Numeric.Algebra.Involutive

Methods

coinv :: (() -> r) -> () -> r #

(Commutative k, Group k, InvolutiveSemiring k) => InvolutiveCoalgebra k TrigBasis # 
Instance details

Defined in Numeric.Coalgebra.Trigonometric

Methods

coinv :: (TrigBasis -> k) -> TrigBasis -> k #

(TriviallyInvolutive r, InvolutiveSemiring r, Rng r) => InvolutiveCoalgebra r QuaternionBasis' # 
Instance details

Defined in Numeric.Coalgebra.Quaternion

Methods

coinv :: (QuaternionBasis' -> r) -> QuaternionBasis' -> r #

(Commutative k, Group k, InvolutiveSemiring k) => InvolutiveCoalgebra k HyperBasis # 
Instance details

Defined in Numeric.Coalgebra.Hyperbolic

Methods

coinv :: (HyperBasis -> k) -> HyperBasis -> k #

(InvolutiveSemiring k, Rng k) => InvolutiveCoalgebra k DualBasis' # 
Instance details

Defined in Numeric.Coalgebra.Dual

Methods

coinv :: (DualBasis' -> k) -> DualBasis' -> k #

(TriviallyInvolutive r, InvolutiveSemiring r, Rng r) => InvolutiveCoalgebra r QuaternionBasis # 
Instance details

Defined in Numeric.Algebra.Quaternion

Methods

coinv :: (QuaternionBasis -> r) -> QuaternionBasis -> r #

(Commutative k, Group k, InvolutiveSemiring k) => InvolutiveCoalgebra k HyperBasis' # 
Instance details

Defined in Numeric.Algebra.Hyperbolic

Methods

coinv :: (HyperBasis' -> k) -> HyperBasis' -> k #

(InvolutiveSemiring k, Rng k) => InvolutiveCoalgebra k DualBasis # 
Instance details

Defined in Numeric.Algebra.Dual

Methods

coinv :: (DualBasis -> k) -> DualBasis -> k #

(InvolutiveSemiring k, Rng k) => InvolutiveCoalgebra k ComplexBasis # 
Instance details

Defined in Numeric.Algebra.Complex

Methods

coinv :: (ComplexBasis -> k) -> ComplexBasis -> k #

(InvolutiveCoalgebra r a, InvolutiveCoalgebra r b) => InvolutiveCoalgebra r (a, b) # 
Instance details

Defined in Numeric.Algebra.Involutive

Methods

coinv :: ((a, b) -> r) -> (a, b) -> r #

(InvolutiveCoalgebra r a, InvolutiveCoalgebra r b, InvolutiveCoalgebra r c) => InvolutiveCoalgebra r (a, b, c) # 
Instance details

Defined in Numeric.Algebra.Involutive

Methods

coinv :: ((a, b, c) -> r) -> (a, b, c) -> r #

(InvolutiveCoalgebra r a, InvolutiveCoalgebra r b, InvolutiveCoalgebra r c, InvolutiveCoalgebra r d) => InvolutiveCoalgebra r (a, b, c, d) # 
Instance details

Defined in Numeric.Algebra.Involutive

Methods

coinv :: ((a, b, c, d) -> r) -> (a, b, c, d) -> r #

(InvolutiveCoalgebra r a, InvolutiveCoalgebra r b, InvolutiveCoalgebra r c, InvolutiveCoalgebra r d, InvolutiveCoalgebra r e) => InvolutiveCoalgebra r (a, b, c, d, e) # 
Instance details

Defined in Numeric.Algebra.Involutive

Methods

coinv :: ((a, b, c, d, e) -> r) -> (a, b, c, d, e) -> r #

idempotent algebras

class Algebra r a => IdempotentAlgebra r a #

Instances
(Semiring r, Band r) => IdempotentAlgebra r () # 
Instance details

Defined in Numeric.Algebra.Idempotent

(Semiring r, Band r) => IdempotentAlgebra r IntSet # 
Instance details

Defined in Numeric.Algebra.Idempotent

(Semiring r, Band r, Ord a) => IdempotentAlgebra r (Set a) # 
Instance details

Defined in Numeric.Algebra.Idempotent

(IdempotentAlgebra r a, IdempotentAlgebra r b) => IdempotentAlgebra r (a, b) # 
Instance details

Defined in Numeric.Algebra.Idempotent

(IdempotentAlgebra r a, IdempotentAlgebra r b, IdempotentAlgebra r c) => IdempotentAlgebra r (a, b, c) # 
Instance details

Defined in Numeric.Algebra.Idempotent

(IdempotentAlgebra r a, IdempotentAlgebra r b, IdempotentAlgebra r c, IdempotentAlgebra r d) => IdempotentAlgebra r (a, b, c, d) # 
Instance details

Defined in Numeric.Algebra.Idempotent

(IdempotentAlgebra r a, IdempotentAlgebra r b, IdempotentAlgebra r c, IdempotentAlgebra r d, IdempotentAlgebra r e) => IdempotentAlgebra r (a, b, c, d, e) # 
Instance details

Defined in Numeric.Algebra.Idempotent

commutative algebras

class Algebra r a => CommutativeAlgebra r a #

Instances
(Commutative r, Semiring r) => CommutativeAlgebra r IntSet # 
Instance details

Defined in Numeric.Algebra.Commutative

(Commutative r, Semiring r) => CommutativeAlgebra r () # 
Instance details

Defined in Numeric.Algebra.Commutative

(Commutative r, Semiring r, Ord a) => CommutativeAlgebra r (Set a) # 
Instance details

Defined in Numeric.Algebra.Commutative

(CommutativeAlgebra r a, CommutativeAlgebra r b) => CommutativeAlgebra r (a, b) # 
Instance details

Defined in Numeric.Algebra.Commutative

(CommutativeAlgebra r a, CommutativeAlgebra r b, CommutativeAlgebra r c) => CommutativeAlgebra r (a, b, c) # 
Instance details

Defined in Numeric.Algebra.Commutative

(CommutativeAlgebra r a, CommutativeAlgebra r b, CommutativeAlgebra r c, CommutativeAlgebra r d) => CommutativeAlgebra r (a, b, c, d) # 
Instance details

Defined in Numeric.Algebra.Commutative

(CommutativeAlgebra r a, CommutativeAlgebra r b, CommutativeAlgebra r c, CommutativeAlgebra r d, CommutativeAlgebra r e) => CommutativeAlgebra r (a, b, c, d, e) # 
Instance details

Defined in Numeric.Algebra.Commutative

class Coalgebra r c => CocommutativeCoalgebra r c #

Instances
(Commutative r, Semiring r) => CocommutativeCoalgebra r IntSet # 
Instance details

Defined in Numeric.Algebra.Commutative

(Commutative r, Semiring r) => CocommutativeCoalgebra r () # 
Instance details

Defined in Numeric.Algebra.Commutative

(Commutative r, Semiring r, Abelian b) => CocommutativeCoalgebra r (IntMap b) # 
Instance details

Defined in Numeric.Algebra.Commutative

(Commutative r, Semiring r, Ord a) => CocommutativeCoalgebra r (Set a) # 
Instance details

Defined in Numeric.Algebra.Commutative

(Commutative r, Semiring r, Ord a, Abelian b) => CocommutativeCoalgebra r (Map a b) # 
Instance details

Defined in Numeric.Algebra.Commutative

(CocommutativeCoalgebra r a, CocommutativeCoalgebra r b) => CocommutativeCoalgebra r (a, b) # 
Instance details

Defined in Numeric.Algebra.Commutative

CommutativeAlgebra r m => CocommutativeCoalgebra r (m -> r) # 
Instance details

Defined in Numeric.Algebra.Commutative

(CocommutativeCoalgebra r a, CocommutativeCoalgebra r b, CocommutativeCoalgebra r c) => CocommutativeCoalgebra r (a, b, c) # 
Instance details

Defined in Numeric.Algebra.Commutative

(CocommutativeCoalgebra r a, CocommutativeCoalgebra r b, CocommutativeCoalgebra r c, CocommutativeCoalgebra r d) => CocommutativeCoalgebra r (a, b, c, d) # 
Instance details

Defined in Numeric.Algebra.Commutative

(CocommutativeCoalgebra r a, CocommutativeCoalgebra r b, CocommutativeCoalgebra r c, CocommutativeCoalgebra r d, CocommutativeCoalgebra r e) => CocommutativeCoalgebra r (a, b, c, d, e) # 
Instance details

Defined in Numeric.Algebra.Commutative

division algebras

class UnitalAlgebra r a => DivisionAlgebra r a where #

Minimal complete definition

recipriocal

Methods

recipriocal :: (a -> r) -> a -> r #

Hopf alegebras

class Bialgebra r h => HopfAlgebra r h where #

A HopfAlgebra algebra on a semiring, where the module is free.

When antipode . antipode = id and antipode is an antihomomorphism then we are an InvolutiveBialgebra with inv = antipode as well

Minimal complete definition

antipode

Methods

antipode :: (h -> r) -> h -> r #

Instances
(Commutative k, Group k, InvolutiveSemiring k) => HopfAlgebra k TrigBasis # 
Instance details

Defined in Numeric.Coalgebra.Trigonometric

Methods

antipode :: (TrigBasis -> k) -> TrigBasis -> k #

(TriviallyInvolutive r, InvolutiveSemiring r, Rng r) => HopfAlgebra r QuaternionBasis' # 
Instance details

Defined in Numeric.Coalgebra.Quaternion

Methods

antipode :: (QuaternionBasis' -> r) -> QuaternionBasis' -> r #

(Commutative k, Group k, InvolutiveSemiring k) => HopfAlgebra k HyperBasis # 
Instance details

Defined in Numeric.Coalgebra.Hyperbolic

Methods

antipode :: (HyperBasis -> k) -> HyperBasis -> k #

(InvolutiveSemiring k, Rng k) => HopfAlgebra k DualBasis' # 
Instance details

Defined in Numeric.Coalgebra.Dual

Methods

antipode :: (DualBasis' -> k) -> DualBasis' -> k #

(TriviallyInvolutive r, InvolutiveSemiring r, Rng r) => HopfAlgebra r QuaternionBasis # 
Instance details

Defined in Numeric.Algebra.Quaternion

Methods

antipode :: (QuaternionBasis -> r) -> QuaternionBasis -> r #

(Commutative k, Group k, InvolutiveSemiring k) => HopfAlgebra k HyperBasis' # 
Instance details

Defined in Numeric.Algebra.Hyperbolic

Methods

antipode :: (HyperBasis' -> k) -> HyperBasis' -> k #

(InvolutiveSemiring k, Rng k) => HopfAlgebra k DualBasis # 
Instance details

Defined in Numeric.Algebra.Dual

Methods

antipode :: (DualBasis -> k) -> DualBasis -> k #

(InvolutiveSemiring k, Rng k) => HopfAlgebra k ComplexBasis # 
Instance details

Defined in Numeric.Algebra.Complex

Methods

antipode :: (ComplexBasis -> k) -> ComplexBasis -> k #

(HopfAlgebra r a, HopfAlgebra r b) => HopfAlgebra r (a, b) # 
Instance details

Defined in Numeric.Algebra.Hopf

Methods

antipode :: ((a, b) -> r) -> (a, b) -> r #

(HopfAlgebra r a, HopfAlgebra r b, HopfAlgebra r c) => HopfAlgebra r (a, b, c) # 
Instance details

Defined in Numeric.Algebra.Hopf

Methods

antipode :: ((a, b, c) -> r) -> (a, b, c) -> r #

(HopfAlgebra r a, HopfAlgebra r b, HopfAlgebra r c, HopfAlgebra r d) => HopfAlgebra r (a, b, c, d) # 
Instance details

Defined in Numeric.Algebra.Hopf

Methods

antipode :: ((a, b, c, d) -> r) -> (a, b, c, d) -> r #

(HopfAlgebra r a, HopfAlgebra r b, HopfAlgebra r c, HopfAlgebra r d, HopfAlgebra r e) => HopfAlgebra r (a, b, c, d, e) # 
Instance details

Defined in Numeric.Algebra.Hopf

Methods

antipode :: ((a, b, c, d, e) -> r) -> (a, b, c, d, e) -> r #

Ring Properties

Characteristic

class Rig r => Characteristic r where #

Minimal complete definition

char

Methods

char :: proxy r -> Natural #

Instances
Characteristic Bool #

NB: we're using the boolean semiring, not the boolean ring

Instance details

Defined in Numeric.Rig.Characteristic

Methods

char :: proxy Bool -> Natural #

Characteristic Int # 
Instance details

Defined in Numeric.Rig.Characteristic

Methods

char :: proxy Int -> Natural #

Characteristic Int8 # 
Instance details

Defined in Numeric.Rig.Characteristic

Methods

char :: proxy Int8 -> Natural #

Characteristic Int16 # 
Instance details

Defined in Numeric.Rig.Characteristic

Methods

char :: proxy Int16 -> Natural #

Characteristic Int32 # 
Instance details

Defined in Numeric.Rig.Characteristic

Methods

char :: proxy Int32 -> Natural #

Characteristic Int64 # 
Instance details

Defined in Numeric.Rig.Characteristic

Methods

char :: proxy Int64 -> Natural #

Characteristic Integer # 
Instance details

Defined in Numeric.Rig.Characteristic

Methods

char :: proxy Integer -> Natural #

Characteristic Natural # 
Instance details

Defined in Numeric.Rig.Characteristic

Methods

char :: proxy Natural -> Natural #

Characteristic Word # 
Instance details

Defined in Numeric.Rig.Characteristic

Methods

char :: proxy Word -> Natural #

Characteristic Word8 # 
Instance details

Defined in Numeric.Rig.Characteristic

Methods

char :: proxy Word8 -> Natural #

Characteristic Word16 # 
Instance details

Defined in Numeric.Rig.Characteristic

Methods

char :: proxy Word16 -> Natural #

Characteristic Word32 # 
Instance details

Defined in Numeric.Rig.Characteristic

Methods

char :: proxy Word32 -> Natural #

Characteristic Word64 # 
Instance details

Defined in Numeric.Rig.Characteristic

Methods

char :: proxy Word64 -> Natural #

Characteristic () # 
Instance details

Defined in Numeric.Rig.Characteristic

Methods

char :: proxy () -> Natural #

(Characteristic d, GCDDomain d) => Characteristic (Fraction d) # 
Instance details

Defined in Numeric.Field.Fraction

Methods

char :: proxy (Fraction d) -> Natural #

(Characteristic a, Characteristic b) => Characteristic (a, b) # 
Instance details

Defined in Numeric.Rig.Characteristic

Methods

char :: proxy (a, b) -> Natural #

(Characteristic a, Characteristic b, Characteristic c) => Characteristic (a, b, c) # 
Instance details

Defined in Numeric.Rig.Characteristic

Methods

char :: proxy (a, b, c) -> Natural #

(Characteristic a, Characteristic b, Characteristic c, Characteristic d) => Characteristic (a, b, c, d) # 
Instance details

Defined in Numeric.Rig.Characteristic

Methods

char :: proxy (a, b, c, d) -> Natural #

(Characteristic a, Characteristic b, Characteristic c, Characteristic d, Characteristic e) => Characteristic (a, b, c, d, e) # 
Instance details

Defined in Numeric.Rig.Characteristic

Methods

char :: proxy (a, b, c, d, e) -> Natural #

charInt :: (Integral s, Bounded s) => proxy s -> Natural #

charWord :: (Integral s, Bounded s) => proxy s -> Natural #

Order

class Order a where #

Methods

(<~) :: a -> a -> Bool #

(<) :: a -> a -> Bool #

(>~) :: a -> a -> Bool #

(>) :: a -> a -> Bool #

(~~) :: a -> a -> Bool #

(/~) :: a -> a -> Bool #

order :: a -> a -> Maybe Ordering #

comparable :: a -> a -> Bool #

Instances
Order Bool # 
Instance details

Defined in Numeric.Order.Class

Methods

(<~) :: Bool -> Bool -> Bool #

(<) :: Bool -> Bool -> Bool #

(>~) :: Bool -> Bool -> Bool #

(>) :: Bool -> Bool -> Bool #

(~~) :: Bool -> Bool -> Bool #

(/~) :: Bool -> Bool -> Bool #

order :: Bool -> Bool -> Maybe Ordering #

comparable :: Bool -> Bool -> Bool #

Order Int # 
Instance details

Defined in Numeric.Order.Class

Methods

(<~) :: Int -> Int -> Bool #

(<) :: Int -> Int -> Bool #

(>~) :: Int -> Int -> Bool #

(>) :: Int -> Int -> Bool #

(~~) :: Int -> Int -> Bool #

(/~) :: Int -> Int -> Bool #

order :: Int -> Int -> Maybe Ordering #

comparable :: Int -> Int -> Bool #

Order Int8 # 
Instance details

Defined in Numeric.Order.Class

Methods

(<~) :: Int8 -> Int8 -> Bool #

(<) :: Int8 -> Int8 -> Bool #

(>~) :: Int8 -> Int8 -> Bool #

(>) :: Int8 -> Int8 -> Bool #

(~~) :: Int8 -> Int8 -> Bool #

(/~) :: Int8 -> Int8 -> Bool #

order :: Int8 -> Int8 -> Maybe Ordering #

comparable :: Int8 -> Int8 -> Bool #

Order Int16 # 
Instance details

Defined in Numeric.Order.Class

Methods

(<~) :: Int16 -> Int16 -> Bool #

(<) :: Int16 -> Int16 -> Bool #

(>~) :: Int16 -> Int16 -> Bool #

(>) :: Int16 -> Int16 -> Bool #

(~~) :: Int16 -> Int16 -> Bool #

(/~) :: Int16 -> Int16 -> Bool #

order :: Int16 -> Int16 -> Maybe Ordering #

comparable :: Int16 -> Int16 -> Bool #

Order Int32 # 
Instance details

Defined in Numeric.Order.Class

Methods

(<~) :: Int32 -> Int32 -> Bool #

(<) :: Int32 -> Int32 -> Bool #

(>~) :: Int32 -> Int32 -> Bool #

(>) :: Int32 -> Int32 -> Bool #

(~~) :: Int32 -> Int32 -> Bool #

(/~) :: Int32 -> Int32 -> Bool #

order :: Int32 -> Int32 -> Maybe Ordering #

comparable :: Int32 -> Int32 -> Bool #

Order Int64 # 
Instance details

Defined in Numeric.Order.Class

Methods

(<~) :: Int64 -> Int64 -> Bool #

(<) :: Int64 -> Int64 -> Bool #

(>~) :: Int64 -> Int64 -> Bool #

(>) :: Int64 -> Int64 -> Bool #

(~~) :: Int64 -> Int64 -> Bool #

(/~) :: Int64 -> Int64 -> Bool #

order :: Int64 -> Int64 -> Maybe Ordering #

comparable :: Int64 -> Int64 -> Bool #

Order Integer # 
Instance details

Defined in Numeric.Order.Class

Order Natural # 
Instance details

Defined in Numeric.Order.Class

Order Word # 
Instance details

Defined in Numeric.Order.Class

Methods

(<~) :: Word -> Word -> Bool #

(<) :: Word -> Word -> Bool #

(>~) :: Word -> Word -> Bool #

(>) :: Word -> Word -> Bool #

(~~) :: Word -> Word -> Bool #

(/~) :: Word -> Word -> Bool #

order :: Word -> Word -> Maybe Ordering #

comparable :: Word -> Word -> Bool #

Order Word8 # 
Instance details

Defined in Numeric.Order.Class

Methods

(<~) :: Word8 -> Word8 -> Bool #

(<) :: Word8 -> Word8 -> Bool #

(>~) :: Word8 -> Word8 -> Bool #

(>) :: Word8 -> Word8 -> Bool #

(~~) :: Word8 -> Word8 -> Bool #

(/~) :: Word8 -> Word8 -> Bool #

order :: Word8 -> Word8 -> Maybe Ordering #

comparable :: Word8 -> Word8 -> Bool #

Order Word16 # 
Instance details

Defined in Numeric.Order.Class

Order Word32 # 
Instance details

Defined in Numeric.Order.Class

Order Word64 # 
Instance details

Defined in Numeric.Order.Class

Order () # 
Instance details

Defined in Numeric.Order.Class

Methods

(<~) :: () -> () -> Bool #

(<) :: () -> () -> Bool #

(>~) :: () -> () -> Bool #

(>) :: () -> () -> Bool #

(~~) :: () -> () -> Bool #

(/~) :: () -> () -> Bool #

order :: () -> () -> Maybe Ordering #

comparable :: () -> () -> Bool #

Ord a => Order (Set a) # 
Instance details

Defined in Numeric.Order.Class

Methods

(<~) :: Set a -> Set a -> Bool #

(<) :: Set a -> Set a -> Bool #

(>~) :: Set a -> Set a -> Bool #

(>) :: Set a -> Set a -> Bool #

(~~) :: Set a -> Set a -> Bool #

(/~) :: Set a -> Set a -> Bool #

order :: Set a -> Set a -> Maybe Ordering #

comparable :: Set a -> Set a -> Bool #

(Order a, Order b) => Order (a, b) # 
Instance details

Defined in Numeric.Order.Class

Methods

(<~) :: (a, b) -> (a, b) -> Bool #

(<) :: (a, b) -> (a, b) -> Bool #

(>~) :: (a, b) -> (a, b) -> Bool #

(>) :: (a, b) -> (a, b) -> Bool #

(~~) :: (a, b) -> (a, b) -> Bool #

(/~) :: (a, b) -> (a, b) -> Bool #

order :: (a, b) -> (a, b) -> Maybe Ordering #

comparable :: (a, b) -> (a, b) -> Bool #

(Order a, Order b, Order c) => Order (a, b, c) # 
Instance details

Defined in Numeric.Order.Class

Methods

(<~) :: (a, b, c) -> (a, b, c) -> Bool #

(<) :: (a, b, c) -> (a, b, c) -> Bool #

(>~) :: (a, b, c) -> (a, b, c) -> Bool #

(>) :: (a, b, c) -> (a, b, c) -> Bool #

(~~) :: (a, b, c) -> (a, b, c) -> Bool #

(/~) :: (a, b, c) -> (a, b, c) -> Bool #

order :: (a, b, c) -> (a, b, c) -> Maybe Ordering #

comparable :: (a, b, c) -> (a, b, c) -> Bool #

(Order a, Order b, Order c, Order d) => Order (a, b, c, d) # 
Instance details

Defined in Numeric.Order.Class

Methods

(<~) :: (a, b, c, d) -> (a, b, c, d) -> Bool #

(<) :: (a, b, c, d) -> (a, b, c, d) -> Bool #

(>~) :: (a, b, c, d) -> (a, b, c, d) -> Bool #

(>) :: (a, b, c, d) -> (a, b, c, d) -> Bool #

(~~) :: (a, b, c, d) -> (a, b, c, d) -> Bool #

(/~) :: (a, b, c, d) -> (a, b, c, d) -> Bool #

order :: (a, b, c, d) -> (a, b, c, d) -> Maybe Ordering #

comparable :: (a, b, c, d) -> (a, b, c, d) -> Bool #

(Order a, Order b, Order c, Order d, Order e) => Order (a, b, c, d, e) # 
Instance details

Defined in Numeric.Order.Class

Methods

(<~) :: (a, b, c, d, e) -> (a, b, c, d, e) -> Bool #

(<) :: (a, b, c, d, e) -> (a, b, c, d, e) -> Bool #

(>~) :: (a, b, c, d, e) -> (a, b, c, d, e) -> Bool #

(>) :: (a, b, c, d, e) -> (a, b, c, d, e) -> Bool #

(~~) :: (a, b, c, d, e) -> (a, b, c, d, e) -> Bool #

(/~) :: (a, b, c, d, e) -> (a, b, c, d, e) -> Bool #

order :: (a, b, c, d, e) -> (a, b, c, d, e) -> Maybe Ordering #

comparable :: (a, b, c, d, e) -> (a, b, c, d, e) -> Bool #

class (AdditiveOrder r, Rig r) => OrderedRig r #

Instances
OrderedRig Bool # 
Instance details

Defined in Numeric.Rig.Ordered

OrderedRig Integer # 
Instance details

Defined in Numeric.Rig.Ordered

OrderedRig Natural # 
Instance details

Defined in Numeric.Rig.Ordered

OrderedRig () # 
Instance details

Defined in Numeric.Rig.Ordered

(OrderedRig a, OrderedRig b) => OrderedRig (a, b) # 
Instance details

Defined in Numeric.Rig.Ordered

(OrderedRig a, OrderedRig b, OrderedRig c) => OrderedRig (a, b, c) # 
Instance details

Defined in Numeric.Rig.Ordered

(OrderedRig a, OrderedRig b, OrderedRig c, OrderedRig d) => OrderedRig (a, b, c, d) # 
Instance details

Defined in Numeric.Rig.Ordered

(OrderedRig a, OrderedRig b, OrderedRig c, OrderedRig d, OrderedRig e) => OrderedRig (a, b, c, d, e) # 
Instance details

Defined in Numeric.Rig.Ordered

class (Additive r, Order r) => AdditiveOrder r #

z + x <= z + y = x <= y = x + z <= y + z

Instances
AdditiveOrder Bool # 
Instance details

Defined in Numeric.Order.Additive

AdditiveOrder Integer # 
Instance details

Defined in Numeric.Order.Additive

AdditiveOrder Natural # 
Instance details

Defined in Numeric.Order.Additive

AdditiveOrder () # 
Instance details

Defined in Numeric.Order.Additive

(AdditiveOrder a, AdditiveOrder b) => AdditiveOrder (a, b) # 
Instance details

Defined in Numeric.Order.Additive

(AdditiveOrder a, AdditiveOrder b, AdditiveOrder c) => AdditiveOrder (a, b, c) # 
Instance details

Defined in Numeric.Order.Additive

(AdditiveOrder a, AdditiveOrder b, AdditiveOrder c, AdditiveOrder d) => AdditiveOrder (a, b, c, d) # 
Instance details

Defined in Numeric.Order.Additive

(AdditiveOrder a, AdditiveOrder b, AdditiveOrder c, AdditiveOrder d, AdditiveOrder e) => AdditiveOrder (a, b, c, d, e) # 
Instance details

Defined in Numeric.Order.Additive

class Order a => LocallyFiniteOrder a #

Minimal complete definition

range, rangeSize

Instances
LocallyFiniteOrder Bool # 
Instance details

Defined in Numeric.Order.LocallyFinite

Methods

range :: Bool -> Bool -> [Bool] #

rangeSize :: Bool -> Bool -> Natural #

moebiusInversion :: Ring r => Bool -> Bool -> r #

LocallyFiniteOrder Int # 
Instance details

Defined in Numeric.Order.LocallyFinite

Methods

range :: Int -> Int -> [Int] #

rangeSize :: Int -> Int -> Natural #

moebiusInversion :: Ring r => Int -> Int -> r #

LocallyFiniteOrder Int8 # 
Instance details

Defined in Numeric.Order.LocallyFinite

Methods

range :: Int8 -> Int8 -> [Int8] #

rangeSize :: Int8 -> Int8 -> Natural #

moebiusInversion :: Ring r => Int8 -> Int8 -> r #

LocallyFiniteOrder Int16 # 
Instance details

Defined in Numeric.Order.LocallyFinite

Methods

range :: Int16 -> Int16 -> [Int16] #

rangeSize :: Int16 -> Int16 -> Natural #

moebiusInversion :: Ring r => Int16 -> Int16 -> r #

LocallyFiniteOrder Int32 # 
Instance details

Defined in Numeric.Order.LocallyFinite

Methods

range :: Int32 -> Int32 -> [Int32] #

rangeSize :: Int32 -> Int32 -> Natural #

moebiusInversion :: Ring r => Int32 -> Int32 -> r #

LocallyFiniteOrder Int64 # 
Instance details

Defined in Numeric.Order.LocallyFinite

Methods

range :: Int64 -> Int64 -> [Int64] #

rangeSize :: Int64 -> Int64 -> Natural #

moebiusInversion :: Ring r => Int64 -> Int64 -> r #

LocallyFiniteOrder Integer # 
Instance details

Defined in Numeric.Order.LocallyFinite

LocallyFiniteOrder Natural # 
Instance details

Defined in Numeric.Order.LocallyFinite

LocallyFiniteOrder Word # 
Instance details

Defined in Numeric.Order.LocallyFinite

Methods

range :: Word -> Word -> [Word] #

rangeSize :: Word -> Word -> Natural #

moebiusInversion :: Ring r => Word -> Word -> r #

LocallyFiniteOrder Word8 # 
Instance details

Defined in Numeric.Order.LocallyFinite

Methods

range :: Word8 -> Word8 -> [Word8] #

rangeSize :: Word8 -> Word8 -> Natural #

moebiusInversion :: Ring r => Word8 -> Word8 -> r #

LocallyFiniteOrder Word16 # 
Instance details

Defined in Numeric.Order.LocallyFinite

LocallyFiniteOrder Word32 # 
Instance details

Defined in Numeric.Order.LocallyFinite

LocallyFiniteOrder Word64 # 
Instance details

Defined in Numeric.Order.LocallyFinite

LocallyFiniteOrder () # 
Instance details

Defined in Numeric.Order.LocallyFinite

Methods

range :: () -> () -> [()] #

rangeSize :: () -> () -> Natural #

moebiusInversion :: Ring r => () -> () -> r #

Ord a => LocallyFiniteOrder (Set a) # 
Instance details

Defined in Numeric.Order.LocallyFinite

Methods

range :: Set a -> Set a -> [Set a] #

rangeSize :: Set a -> Set a -> Natural #

moebiusInversion :: Ring r => Set a -> Set a -> r #

(LocallyFiniteOrder a, LocallyFiniteOrder b) => LocallyFiniteOrder (a, b) # 
Instance details

Defined in Numeric.Order.LocallyFinite

Methods

range :: (a, b) -> (a, b) -> [(a, b)] #

rangeSize :: (a, b) -> (a, b) -> Natural #

moebiusInversion :: Ring r => (a, b) -> (a, b) -> r #

(LocallyFiniteOrder a, LocallyFiniteOrder b, LocallyFiniteOrder c) => LocallyFiniteOrder (a, b, c) # 
Instance details

Defined in Numeric.Order.LocallyFinite

Methods

range :: (a, b, c) -> (a, b, c) -> [(a, b, c)] #

rangeSize :: (a, b, c) -> (a, b, c) -> Natural #

moebiusInversion :: Ring r => (a, b, c) -> (a, b, c) -> r #

(LocallyFiniteOrder a, LocallyFiniteOrder b, LocallyFiniteOrder c, LocallyFiniteOrder d) => LocallyFiniteOrder (a, b, c, d) # 
Instance details

Defined in Numeric.Order.LocallyFinite

Methods

range :: (a, b, c, d) -> (a, b, c, d) -> [(a, b, c, d)] #

rangeSize :: (a, b, c, d) -> (a, b, c, d) -> Natural #

moebiusInversion :: Ring r => (a, b, c, d) -> (a, b, c, d) -> r #

(LocallyFiniteOrder a, LocallyFiniteOrder b, LocallyFiniteOrder c, LocallyFiniteOrder d, LocallyFiniteOrder e) => LocallyFiniteOrder (a, b, c, d, e) # 
Instance details

Defined in Numeric.Order.LocallyFinite

Methods

range :: (a, b, c, d, e) -> (a, b, c, d, e) -> [(a, b, c, d, e)] #

rangeSize :: (a, b, c, d, e) -> (a, b, c, d, e) -> Natural #

moebiusInversion :: Ring r => (a, b, c, d, e) -> (a, b, c, d, e) -> r #

class Monoidal r => DecidableZero r #

Minimal complete definition

isZero

Instances
DecidableZero Bool # 
Instance details

Defined in Numeric.Decidable.Zero

Methods

isZero :: Bool -> Bool #

DecidableZero Int # 
Instance details

Defined in Numeric.Decidable.Zero

Methods

isZero :: Int -> Bool #

DecidableZero Int8 # 
Instance details

Defined in Numeric.Decidable.Zero

Methods

isZero :: Int8 -> Bool #

DecidableZero Int16 # 
Instance details

Defined in Numeric.Decidable.Zero

Methods

isZero :: Int16 -> Bool #

DecidableZero Int32 # 
Instance details

Defined in Numeric.Decidable.Zero

Methods

isZero :: Int32 -> Bool #

DecidableZero Int64 # 
Instance details

Defined in Numeric.Decidable.Zero

Methods

isZero :: Int64 -> Bool #

DecidableZero Integer # 
Instance details

Defined in Numeric.Decidable.Zero

Methods

isZero :: Integer -> Bool #

DecidableZero Natural # 
Instance details

Defined in Numeric.Decidable.Zero

Methods

isZero :: Natural -> Bool #

DecidableZero Word # 
Instance details

Defined in Numeric.Decidable.Zero

Methods

isZero :: Word -> Bool #

DecidableZero Word8 # 
Instance details

Defined in Numeric.Decidable.Zero

Methods

isZero :: Word8 -> Bool #

DecidableZero Word16 # 
Instance details

Defined in Numeric.Decidable.Zero

Methods

isZero :: Word16 -> Bool #

DecidableZero Word32 # 
Instance details

Defined in Numeric.Decidable.Zero

Methods

isZero :: Word32 -> Bool #

DecidableZero Word64 # 
Instance details

Defined in Numeric.Decidable.Zero

Methods

isZero :: Word64 -> Bool #

DecidableZero () # 
Instance details

Defined in Numeric.Decidable.Zero

Methods

isZero :: () -> Bool #

DecidableZero r => DecidableZero (Opposite r) # 
Instance details

Defined in Numeric.Ring.Opposite

Methods

isZero :: Opposite r -> Bool #

DecidableZero (BasisCoblade m) # 
Instance details

Defined in Numeric.Coalgebra.Geometric

Methods

isZero :: BasisCoblade m -> Bool #

GCDDomain d => DecidableZero (Fraction d) # 
Instance details

Defined in Numeric.Field.Fraction

Methods

isZero :: Fraction d -> Bool #

(DecidableZero a, DecidableZero b) => DecidableZero (a, b) # 
Instance details

Defined in Numeric.Decidable.Zero

Methods

isZero :: (a, b) -> Bool #

(DecidableZero a, DecidableZero b, DecidableZero c) => DecidableZero (a, b, c) # 
Instance details

Defined in Numeric.Decidable.Zero

Methods

isZero :: (a, b, c) -> Bool #

(DecidableZero a, DecidableZero b, DecidableZero c, DecidableZero d) => DecidableZero (a, b, c, d) # 
Instance details

Defined in Numeric.Decidable.Zero

Methods

isZero :: (a, b, c, d) -> Bool #

(DecidableZero a, DecidableZero b, DecidableZero c, DecidableZero d, DecidableZero e) => DecidableZero (a, b, c, d, e) # 
Instance details

Defined in Numeric.Decidable.Zero

Methods

isZero :: (a, b, c, d, e) -> Bool #

class Unital r => DecidableUnits r #

Minimal complete definition

recipUnit

Instances
DecidableUnits Bool # 
Instance details

Defined in Numeric.Decidable.Units

Methods

recipUnit :: Bool -> Maybe Bool #

isUnit :: Bool -> Bool #

(^?) :: Integral n => Bool -> n -> Maybe Bool #

DecidableUnits Int # 
Instance details

Defined in Numeric.Decidable.Units

Methods

recipUnit :: Int -> Maybe Int #

isUnit :: Int -> Bool #

(^?) :: Integral n => Int -> n -> Maybe Int #

DecidableUnits Int8 # 
Instance details

Defined in Numeric.Decidable.Units

Methods

recipUnit :: Int8 -> Maybe Int8 #

isUnit :: Int8 -> Bool #

(^?) :: Integral n => Int8 -> n -> Maybe Int8 #

DecidableUnits Int16 # 
Instance details

Defined in Numeric.Decidable.Units

Methods

recipUnit :: Int16 -> Maybe Int16 #

isUnit :: Int16 -> Bool #

(^?) :: Integral n => Int16 -> n -> Maybe Int16 #

DecidableUnits Int32 # 
Instance details

Defined in Numeric.Decidable.Units

Methods

recipUnit :: Int32 -> Maybe Int32 #

isUnit :: Int32 -> Bool #

(^?) :: Integral n => Int32 -> n -> Maybe Int32 #

DecidableUnits Int64 # 
Instance details

Defined in Numeric.Decidable.Units

Methods

recipUnit :: Int64 -> Maybe Int64 #

isUnit :: Int64 -> Bool #

(^?) :: Integral n => Int64 -> n -> Maybe Int64 #

DecidableUnits Integer # 
Instance details

Defined in Numeric.Decidable.Units

DecidableUnits Natural # 
Instance details

Defined in Numeric.Decidable.Units

DecidableUnits Word # 
Instance details

Defined in Numeric.Decidable.Units

Methods

recipUnit :: Word -> Maybe Word #

isUnit :: Word -> Bool #

(^?) :: Integral n => Word -> n -> Maybe Word #

DecidableUnits Word8 # 
Instance details

Defined in Numeric.Decidable.Units

Methods

recipUnit :: Word8 -> Maybe Word8 #

isUnit :: Word8 -> Bool #

(^?) :: Integral n => Word8 -> n -> Maybe Word8 #

DecidableUnits Word16 # 
Instance details

Defined in Numeric.Decidable.Units

DecidableUnits Word32 # 
Instance details

Defined in Numeric.Decidable.Units

DecidableUnits Word64 # 
Instance details

Defined in Numeric.Decidable.Units

DecidableUnits () # 
Instance details

Defined in Numeric.Decidable.Units

Methods

recipUnit :: () -> Maybe () #

isUnit :: () -> Bool #

(^?) :: Integral n => () -> n -> Maybe () #

DecidableUnits r => DecidableUnits (Opposite r) # 
Instance details

Defined in Numeric.Ring.Opposite

Methods

recipUnit :: Opposite r -> Maybe (Opposite r) #

isUnit :: Opposite r -> Bool #

(^?) :: Integral n => Opposite r -> n -> Maybe (Opposite r) #

DecidableUnits (BasisCoblade m) # 
Instance details

Defined in Numeric.Coalgebra.Geometric

GCDDomain d => DecidableUnits (Fraction d) # 
Instance details

Defined in Numeric.Field.Fraction

Methods

recipUnit :: Fraction d -> Maybe (Fraction d) #

isUnit :: Fraction d -> Bool #

(^?) :: Integral n => Fraction d -> n -> Maybe (Fraction d) #

(DecidableUnits a, DecidableUnits b) => DecidableUnits (a, b) # 
Instance details

Defined in Numeric.Decidable.Units

Methods

recipUnit :: (a, b) -> Maybe (a, b) #

isUnit :: (a, b) -> Bool #

(^?) :: Integral n => (a, b) -> n -> Maybe (a, b) #

(DecidableUnits a, DecidableUnits b, DecidableUnits c) => DecidableUnits (a, b, c) # 
Instance details

Defined in Numeric.Decidable.Units

Methods

recipUnit :: (a, b, c) -> Maybe (a, b, c) #

isUnit :: (a, b, c) -> Bool #

(^?) :: Integral n => (a, b, c) -> n -> Maybe (a, b, c) #

(DecidableUnits a, DecidableUnits b, DecidableUnits c, DecidableUnits d) => DecidableUnits (a, b, c, d) # 
Instance details

Defined in Numeric.Decidable.Units

Methods

recipUnit :: (a, b, c, d) -> Maybe (a, b, c, d) #

isUnit :: (a, b, c, d) -> Bool #

(^?) :: Integral n => (a, b, c, d) -> n -> Maybe (a, b, c, d) #

(DecidableUnits a, DecidableUnits b, DecidableUnits c, DecidableUnits d, DecidableUnits e) => DecidableUnits (a, b, c, d, e) # 
Instance details

Defined in Numeric.Decidable.Units

Methods

recipUnit :: (a, b, c, d, e) -> Maybe (a, b, c, d, e) #

isUnit :: (a, b, c, d, e) -> Bool #

(^?) :: Integral n => (a, b, c, d, e) -> n -> Maybe (a, b, c, d, e) #

class Unital r => DecidableAssociates r #

Minimal complete definition

isAssociate

Instances
DecidableAssociates Bool # 
Instance details

Defined in Numeric.Decidable.Associates

Methods

isAssociate :: Bool -> Bool -> Bool #

DecidableAssociates Int # 
Instance details

Defined in Numeric.Decidable.Associates

Methods

isAssociate :: Int -> Int -> Bool #

DecidableAssociates Int8 # 
Instance details

Defined in Numeric.Decidable.Associates

Methods

isAssociate :: Int8 -> Int8 -> Bool #

DecidableAssociates Int16 # 
Instance details

Defined in Numeric.Decidable.Associates

Methods

isAssociate :: Int16 -> Int16 -> Bool #

DecidableAssociates Int32 # 
Instance details

Defined in Numeric.Decidable.Associates

Methods

isAssociate :: Int32 -> Int32 -> Bool #

DecidableAssociates Int64 # 
Instance details

Defined in Numeric.Decidable.Associates

Methods

isAssociate :: Int64 -> Int64 -> Bool #

DecidableAssociates Integer # 
Instance details

Defined in Numeric.Decidable.Associates

Methods

isAssociate :: Integer -> Integer -> Bool #

DecidableAssociates Natural # 
Instance details

Defined in Numeric.Decidable.Associates

Methods

isAssociate :: Natural -> Natural -> Bool #

DecidableAssociates Word # 
Instance details

Defined in Numeric.Decidable.Associates

Methods

isAssociate :: Word -> Word -> Bool #

DecidableAssociates Word8 # 
Instance details

Defined in Numeric.Decidable.Associates

Methods

isAssociate :: Word8 -> Word8 -> Bool #

DecidableAssociates Word16 # 
Instance details

Defined in Numeric.Decidable.Associates

Methods

isAssociate :: Word16 -> Word16 -> Bool #

DecidableAssociates Word32 # 
Instance details

Defined in Numeric.Decidable.Associates

Methods

isAssociate :: Word32 -> Word32 -> Bool #

DecidableAssociates Word64 # 
Instance details

Defined in Numeric.Decidable.Associates

Methods

isAssociate :: Word64 -> Word64 -> Bool #

DecidableAssociates () # 
Instance details

Defined in Numeric.Decidable.Associates

Methods

isAssociate :: () -> () -> Bool #

DecidableAssociates r => DecidableAssociates (Opposite r) # 
Instance details

Defined in Numeric.Ring.Opposite

Methods

isAssociate :: Opposite r -> Opposite r -> Bool #

DecidableAssociates (BasisCoblade m) # 
Instance details

Defined in Numeric.Coalgebra.Geometric

GCDDomain d => DecidableAssociates (Fraction d) # 
Instance details

Defined in Numeric.Field.Fraction

Methods

isAssociate :: Fraction d -> Fraction d -> Bool #

(DecidableAssociates a, DecidableAssociates b) => DecidableAssociates (a, b) # 
Instance details

Defined in Numeric.Decidable.Associates

Methods

isAssociate :: (a, b) -> (a, b) -> Bool #

(DecidableAssociates a, DecidableAssociates b, DecidableAssociates c) => DecidableAssociates (a, b, c) # 
Instance details

Defined in Numeric.Decidable.Associates

Methods

isAssociate :: (a, b, c) -> (a, b, c) -> Bool #

(DecidableAssociates a, DecidableAssociates b, DecidableAssociates c, DecidableAssociates d) => DecidableAssociates (a, b, c, d) # 
Instance details

Defined in Numeric.Decidable.Associates

Methods

isAssociate :: (a, b, c, d) -> (a, b, c, d) -> Bool #

(DecidableAssociates a, DecidableAssociates b, DecidableAssociates c, DecidableAssociates d, DecidableAssociates e) => DecidableAssociates (a, b, c, d, e) # 
Instance details

Defined in Numeric.Decidable.Associates

Methods

isAssociate :: (a, b, c, d, e) -> (a, b, c, d, e) -> Bool #

Natural numbers

data Natural #

Type representing arbitrary-precision non-negative integers.

>>> 2^20 :: Natural
1267650600228229401496703205376

Operations whose result would be negative throw (Underflow :: ArithException),

>>> -1 :: Natural
*** Exception: arithmetic underflow

Since: base-4.8.0.0

Instances
Enum Natural

Since: base-4.8.0.0

Instance details

Defined in GHC.Natural

Eq Natural 
Instance details

Defined in GHC.Natural

Methods

(==) :: Natural -> Natural -> Bool #

(/=) :: Natural -> Natural -> Bool #

Integral Natural

Since: base-4.8.0.0

Instance details

Defined in GHC.Natural

Data Natural

Since: base-4.8.0.0

Instance details

Defined in Data.Data

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Natural -> c Natural #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Natural #

toConstr :: Natural -> Constr #

dataTypeOf :: Natural -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Natural) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Natural) #

gmapT :: (forall b. Data b => b -> b) -> Natural -> Natural #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Natural -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Natural -> r #

gmapQ :: (forall d. Data d => d -> u) -> Natural -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Natural -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Natural -> m Natural #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Natural -> m Natural #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Natural -> m Natural #

Num Natural

Since: base-4.8.0.0

Instance details

Defined in GHC.Natural

Ord Natural 
Instance details

Defined in GHC.Natural

Read Natural

Since: base-4.8.0.0

Instance details

Defined in GHC.Natural

Real Natural

Since: base-4.8.0.0

Instance details

Defined in GHC.Natural

Show Natural

Since: base-4.8.0.0

Instance details

Defined in GHC.Natural

Ix Natural

Since: base-4.8.0.0

Instance details

Defined in GHC.Natural

Lift Natural 
Instance details

Defined in Language.Haskell.TH.Syntax

Methods

lift :: Natural -> Q Exp #

Bits Natural

Since: base-4.8.0.0

Instance details

Defined in GHC.Natural

Hashable Natural 
Instance details

Defined in Data.Hashable.Class

Methods

hashWithSalt :: Int -> Natural -> Int #

hash :: Natural -> Int #

Abelian Natural # 
Instance details

Defined in Numeric.Additive.Class

Partitionable Natural # 
Instance details

Defined in Numeric.Additive.Class

Methods

partitionWith :: (Natural -> Natural -> r) -> Natural -> NonEmpty r #

Additive Natural # 
Instance details

Defined in Numeric.Additive.Class

Methods

(+) :: Natural -> Natural -> Natural #

sinnum1p :: Natural -> Natural -> Natural #

sumWith1 :: Foldable1 f => (a -> Natural) -> f a -> Natural #

Monoidal Natural # 
Instance details

Defined in Numeric.Algebra.Class

Methods

zero :: Natural #

sinnum :: Natural -> Natural -> Natural #

sumWith :: Foldable f => (a -> Natural) -> f a -> Natural #

Semiring Natural # 
Instance details

Defined in Numeric.Algebra.Class

Multiplicative Natural # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(*) :: Natural -> Natural -> Natural #

pow1p :: Natural -> Natural -> Natural #

productWith1 :: Foldable1 f => (a -> Natural) -> f a -> Natural #

Unital Natural # 
Instance details

Defined in Numeric.Algebra.Unital

Methods

one :: Natural #

pow :: Natural -> Natural -> Natural #

productWith :: Foldable f => (a -> Natural) -> f a -> Natural #

Commutative Natural # 
Instance details

Defined in Numeric.Algebra.Commutative

TriviallyInvolutive Natural # 
Instance details

Defined in Numeric.Algebra.Involutive

InvolutiveSemiring Natural # 
Instance details

Defined in Numeric.Algebra.Involutive

InvolutiveMultiplication Natural # 
Instance details

Defined in Numeric.Algebra.Involutive

Methods

adjoint :: Natural -> Natural #

DecidableAssociates Natural # 
Instance details

Defined in Numeric.Decidable.Associates

Methods

isAssociate :: Natural -> Natural -> Bool #

DecidableUnits Natural # 
Instance details

Defined in Numeric.Decidable.Units

DecidableZero Natural # 
Instance details

Defined in Numeric.Decidable.Zero

Methods

isZero :: Natural -> Bool #

Order Natural # 
Instance details

Defined in Numeric.Order.Class

AdditiveOrder Natural # 
Instance details

Defined in Numeric.Order.Additive

PartialSemigroup Natural # 
Instance details

Defined in Numeric.Partial.Semigroup

Methods

padd :: Natural -> Natural -> Maybe Natural #

PartialMonoid Natural # 
Instance details

Defined in Numeric.Partial.Monoid

Methods

pzero :: Natural #

PartialGroup Natural # 
Instance details

Defined in Numeric.Partial.Group

Rig Natural # 
Instance details

Defined in Numeric.Rig.Class

Characteristic Natural # 
Instance details

Defined in Numeric.Rig.Characteristic

Methods

char :: proxy Natural -> Natural #

OrderedRig Natural # 
Instance details

Defined in Numeric.Rig.Ordered

LocallyFiniteOrder Natural # 
Instance details

Defined in Numeric.Order.LocallyFinite

ZeroProductSemiring Natural # 
Instance details

Defined in Numeric.Semiring.ZeroProduct

DecidableNilpotent Natural # 
Instance details

Defined in Numeric.Decidable.Nilpotent

Methods

isNilpotent :: Natural -> Bool #

RightModule Natural Bool # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(*.) :: Bool -> Natural -> Bool #

RightModule Natural Int # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(*.) :: Int -> Natural -> Int #

RightModule Natural Int8 # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(*.) :: Int8 -> Natural -> Int8 #

RightModule Natural Int16 # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(*.) :: Int16 -> Natural -> Int16 #

RightModule Natural Int32 # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(*.) :: Int32 -> Natural -> Int32 #

RightModule Natural Int64 # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(*.) :: Int64 -> Natural -> Int64 #

RightModule Natural Integer # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(*.) :: Integer -> Natural -> Integer #

RightModule Natural Natural # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(*.) :: Natural -> Natural -> Natural #

RightModule Natural Word # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(*.) :: Word -> Natural -> Word #

RightModule Natural Word8 # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(*.) :: Word8 -> Natural -> Word8 #

RightModule Natural Word16 # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(*.) :: Word16 -> Natural -> Word16 #

RightModule Natural Word32 # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(*.) :: Word32 -> Natural -> Word32 #

RightModule Natural Word64 # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(*.) :: Word64 -> Natural -> Word64 #

RightModule Natural Euclidean # 
Instance details

Defined in Numeric.Coalgebra.Geometric

Methods

(*.) :: Euclidean -> Natural -> Euclidean #

LeftModule Natural Bool # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(.*) :: Natural -> Bool -> Bool #

LeftModule Natural Int # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(.*) :: Natural -> Int -> Int #

LeftModule Natural Int8 # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(.*) :: Natural -> Int8 -> Int8 #

LeftModule Natural Int16 # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(.*) :: Natural -> Int16 -> Int16 #

LeftModule Natural Int32 # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(.*) :: Natural -> Int32 -> Int32 #

LeftModule Natural Int64 # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(.*) :: Natural -> Int64 -> Int64 #

LeftModule Natural Integer # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(.*) :: Natural -> Integer -> Integer #

LeftModule Natural Natural # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(.*) :: Natural -> Natural -> Natural #

LeftModule Natural Word # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(.*) :: Natural -> Word -> Word #

LeftModule Natural Word8 # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(.*) :: Natural -> Word8 -> Word8 #

LeftModule Natural Word16 # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(.*) :: Natural -> Word16 -> Word16 #

LeftModule Natural Word32 # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(.*) :: Natural -> Word32 -> Word32 #

LeftModule Natural Word64 # 
Instance details

Defined in Numeric.Algebra.Class

Methods

(.*) :: Natural -> Word64 -> Word64 #

LeftModule Natural Euclidean # 
Instance details

Defined in Numeric.Coalgebra.Geometric

Methods

(.*) :: Natural -> Euclidean -> Euclidean #

Rig r => Quadrance r Natural # 
Instance details

Defined in Numeric.Quadrance.Class

Methods

quadrance :: Natural -> r #

Monoidal r => RightModule Natural (ZeroRng r) # 
Instance details

Defined in Numeric.Rng.Zero

Methods

(*.) :: ZeroRng r -> Natural -> ZeroRng r #

(Abelian r, Monoidal r) => RightModule Natural (RngRing r) # 
Instance details

Defined in Numeric.Ring.Rng

Methods

(*.) :: RngRing r -> Natural -> RngRing r #

Unital r => RightModule Natural (Log r) # 
Instance details

Defined in Numeric.Log

Methods

(*.) :: Log r -> Natural -> Log r #

RightModule Natural (BasisCoblade m) # 
Instance details

Defined in Numeric.Coalgebra.Geometric

Methods

(*.) :: BasisCoblade m -> Natural -> BasisCoblade m #

GCDDomain d => RightModule Natural (Fraction d) # 
Instance details

Defined in Numeric.Field.Fraction

Methods

(*.) :: Fraction d -> Natural -> Fraction d #

Monoidal r => LeftModule Natural (ZeroRng r) # 
Instance details

Defined in Numeric.Rng.Zero

Methods

(.*) :: Natural -> ZeroRng r -> ZeroRng r #

(Abelian r, Monoidal r) => LeftModule Natural (RngRing r) # 
Instance details

Defined in Numeric.Ring.Rng

Methods

(.*) :: Natural -> RngRing r -> RngRing r #

Unital r => LeftModule Natural (Log r) # 
Instance details

Defined in Numeric.Log

Methods

(.*) :: Natural -> Log r -> Log r #

LeftModule Natural (BasisCoblade m) # 
Instance details

Defined in Numeric.Coalgebra.Geometric

Methods

(.*) :: Natural -> BasisCoblade m -> BasisCoblade m #

GCDDomain d => LeftModule Natural (Fraction d) # 
Instance details

Defined in Numeric.Field.Fraction

Methods

(.*) :: Natural -> Fraction d -> Fraction d #

Representable Additive

addRep :: (Applicative m, Additive r) => m r -> m r -> m r #

`Additive.(+)` default definition

sinnum1pRep :: (Functor m, Additive r) => Natural -> m r -> m r #

sinnum1p default definition

Representable Monoidal

zeroRep :: (Applicative m, Monoidal r) => m r #

zero default definition

sinnumRep :: (Functor m, Monoidal r) => Natural -> m r -> m r #

sinnum default definition

Representable Group

negateRep :: (Functor m, Group r) => m r -> m r #

negate default definition

minusRep :: (Applicative m, Group r) => m r -> m r -> m r #

`Group.(-)` default definition

subtractRep :: (Applicative m, Group r) => m r -> m r -> m r #

subtract default definition

timesRep :: (Integral n, Functor m, Group r) => n -> m r -> m r #

times default definition

Representable Multiplicative (via Algebra)

mulRep :: (Representable m, Algebra r (Rep m)) => m r -> m r -> m r #

`Multiplicative.(*)` default definition

Representable Unital (via UnitalAlgebra)

oneRep :: (Representable m, Unital r, UnitalAlgebra r (Rep m)) => m r #

one default definition

Representable Rig (via Algebra)

fromNaturalRep :: (UnitalAlgebra r (Rep m), Representable m, Rig r) => Natural -> m r #

fromNatural default definition

Representable Ring (via Algebra)

fromIntegerRep :: (UnitalAlgebra r (Rep m), Representable m, Ring r) => Integer -> m r #

fromInteger default definition

Norm

class Additive r => Quadrance r m where #

Minimal complete definition

quadrance

Methods

quadrance :: m -> r #

Instances
Quadrance () a # 
Instance details

Defined in Numeric.Quadrance.Class

Methods

quadrance :: a -> () #

Rig r => Quadrance r Word64 # 
Instance details

Defined in Numeric.Quadrance.Class

Methods

quadrance :: Word64 -> r #

Rig r => Quadrance r Word32 # 
Instance details

Defined in Numeric.Quadrance.Class

Methods

quadrance :: Word32 -> r #

Rig r => Quadrance r Word16 # 
Instance details

Defined in Numeric.Quadrance.Class

Methods

quadrance :: Word16 -> r #

Rig r => Quadrance r Word8 # 
Instance details

Defined in Numeric.Quadrance.Class

Methods

quadrance :: Word8 -> r #

Rig r => Quadrance r Int64 # 
Instance details

Defined in Numeric.Quadrance.Class

Methods

quadrance :: Int64 -> r #

Rig r => Quadrance r Int32 # 
Instance details

Defined in Numeric.Quadrance.Class

Methods

quadrance :: Int32 -> r #

Rig r => Quadrance r Int16 # 
Instance details

Defined in Numeric.Quadrance.Class

Methods

quadrance :: Int16 -> r #

Rig r => Quadrance r Int8 # 
Instance details

Defined in Numeric.Quadrance.Class

Methods

quadrance :: Int8 -> r #

Rig r => Quadrance r Integer # 
Instance details

Defined in Numeric.Quadrance.Class

Methods

quadrance :: Integer -> r #

Rig r => Quadrance r Natural # 
Instance details

Defined in Numeric.Quadrance.Class

Methods

quadrance :: Natural -> r #

Rig r => Quadrance r Word # 
Instance details

Defined in Numeric.Quadrance.Class

Methods

quadrance :: Word -> r #

Rig r => Quadrance r Int # 
Instance details

Defined in Numeric.Quadrance.Class

Methods

quadrance :: Int -> r #

Rig r => Quadrance r Bool # 
Instance details

Defined in Numeric.Quadrance.Class

Methods

quadrance :: Bool -> r #

(Additive r, Monoidal r) => Quadrance r () # 
Instance details

Defined in Numeric.Quadrance.Class

Methods

quadrance :: () -> r #

(TriviallyInvolutive r, Rng r) => Quadrance r (Quaternion' r) # 
Instance details

Defined in Numeric.Coalgebra.Quaternion

Methods

quadrance :: Quaternion' r -> r #

(Commutative r, Rng r, InvolutiveSemiring r) => Quadrance r (Dual' r) # 
Instance details

Defined in Numeric.Coalgebra.Dual

Methods

quadrance :: Dual' r -> r #

(TriviallyInvolutive r, Rng r) => Quadrance r (Quaternion r) # 
Instance details

Defined in Numeric.Algebra.Quaternion

Methods

quadrance :: Quaternion r -> r #

(Commutative r, InvolutiveSemiring r, Rng r) => Quadrance r (Hyper' r) # 
Instance details

Defined in Numeric.Algebra.Hyperbolic

Methods

quadrance :: Hyper' r -> r #

(Commutative r, Rng r, InvolutiveSemiring r) => Quadrance r (Dual r) # 
Instance details

Defined in Numeric.Algebra.Dual

Methods

quadrance :: Dual r -> r #

(Commutative r, Rng r, InvolutiveSemiring r) => Quadrance r (Complex r) # 
Instance details

Defined in Numeric.Algebra.Complex

Methods

quadrance :: Complex r -> r #

(Quadrance r a, Quadrance r b) => Quadrance r (a, b) # 
Instance details

Defined in Numeric.Quadrance.Class

Methods

quadrance :: (a, b) -> r #

(Quadrance r a, Quadrance r b, Quadrance r c) => Quadrance r (a, b, c) # 
Instance details

Defined in Numeric.Quadrance.Class

Methods

quadrance :: (a, b, c) -> r #

(Quadrance r a, Quadrance r b, Quadrance r c, Quadrance r d) => Quadrance r (a, b, c, d) # 
Instance details

Defined in Numeric.Quadrance.Class

Methods

quadrance :: (a, b, c, d) -> r #

(Quadrance r a, Quadrance r b, Quadrance r c, Quadrance r d, Quadrance r e) => Quadrance r (a, b, c, d, e) # 
Instance details

Defined in Numeric.Quadrance.Class

Methods

quadrance :: (a, b, c, d, e) -> r #

Covectors

newtype Covector r a #

Linear functionals from elements of an (infinite) free module to a scalar

Constructors

Covector 

Fields

  • ($*) :: (a -> r) -> r
     
Instances
RightModule r s => RightModule r (Covector s m) # 
Instance details

Defined in Numeric.Covector

Methods

(*.) :: Covector s m -> r -> Covector s m #

LeftModule r s => LeftModule r (Covector s m) # 
Instance details

Defined in Numeric.Covector

Methods

(.*) :: r -> Covector s m -> Covector s m #

Monad (Covector r) # 
Instance details

Defined in Numeric.Covector

Methods

(>>=) :: Covector r a -> (a -> Covector r b) -> Covector r b #

(>>) :: Covector r a -> Covector r b -> Covector r b #

return :: a -> Covector r a #

fail :: String -> Covector r a #

Functor (Covector r) # 
Instance details

Defined in Numeric.Covector

Methods

fmap :: (a -> b) -> Covector r a -> Covector r b #

(<$) :: a -> Covector r b -> Covector r a #

Applicative (Covector r) # 
Instance details

Defined in Numeric.Covector

Methods

pure :: a -> Covector r a #

(<*>) :: Covector r (a -> b) -> Covector r a -> Covector r b #

liftA2 :: (a -> b -> c) -> Covector r a -> Covector r b -> Covector r c #

(*>) :: Covector r a -> Covector r b -> Covector r b #

(<*) :: Covector r a -> Covector r b -> Covector r a #

Monoidal r => Alternative (Covector r) # 
Instance details

Defined in Numeric.Covector

Methods

empty :: Covector r a #

(<|>) :: Covector r a -> Covector r a -> Covector r a #

some :: Covector r a -> Covector r [a] #

many :: Covector r a -> Covector r [a] #

Monoidal r => MonadPlus (Covector r) # 
Instance details

Defined in Numeric.Covector

Methods

mzero :: Covector r a #

mplus :: Covector r a -> Covector r a -> Covector r a #

Monoidal r => Plus (Covector r) # 
Instance details

Defined in Numeric.Covector

Methods

zero :: Covector r a #

Additive r => Alt (Covector r) # 
Instance details

Defined in Numeric.Covector

Methods

(<!>) :: Covector r a -> Covector r a -> Covector r a #

some :: Applicative (Covector r) => Covector r a -> Covector r [a] #

many :: Applicative (Covector r) => Covector r a -> Covector r [a] #

Apply (Covector r) # 
Instance details

Defined in Numeric.Covector

Methods

(<.>) :: Covector r (a -> b) -> Covector r a -> Covector r b #

(.>) :: Covector r a -> Covector r b -> Covector r b #

(<.) :: Covector r a -> Covector r b -> Covector r a #

liftF2 :: (a -> b -> c) -> Covector r a -> Covector r b -> Covector r c #

Bind (Covector r) # 
Instance details

Defined in Numeric.Covector

Methods

(>>-) :: Covector r a -> (a -> Covector r b) -> Covector r b #

join :: Covector r (Covector r a) -> Covector r a #

Idempotent r => Idempotent (Covector r a) # 
Instance details

Defined in Numeric.Covector

Abelian s => Abelian (Covector s a) # 
Instance details

Defined in Numeric.Covector

Additive r => Additive (Covector r a) # 
Instance details

Defined in Numeric.Covector

Methods

(+) :: Covector r a -> Covector r a -> Covector r a #

sinnum1p :: Natural -> Covector r a -> Covector r a #

sumWith1 :: Foldable1 f => (a0 -> Covector r a) -> f a0 -> Covector r a #

Monoidal s => Monoidal (Covector s a) # 
Instance details

Defined in Numeric.Covector

Methods

zero :: Covector s a #

sinnum :: Natural -> Covector s a -> Covector s a #

sumWith :: Foldable f => (a0 -> Covector s a) -> f a0 -> Covector s a #

Coalgebra r m => Semiring (Covector r m) # 
Instance details

Defined in Numeric.Covector

Coalgebra r m => Multiplicative (Covector r m) # 
Instance details

Defined in Numeric.Covector

Methods

(*) :: Covector r m -> Covector r m -> Covector r m #

pow1p :: Covector r m -> Natural -> Covector r m #

productWith1 :: Foldable1 f => (a -> Covector r m) -> f a -> Covector r m #

Group s => Group (Covector s a) # 
Instance details

Defined in Numeric.Covector

Methods

(-) :: Covector s a -> Covector s a -> Covector s a #

negate :: Covector s a -> Covector s a #

subtract :: Covector s a -> Covector s a -> Covector s a #

times :: Integral n => n -> Covector s a -> Covector s a #

CounitalCoalgebra r m => Unital (Covector r m) # 
Instance details

Defined in Numeric.Covector

Methods

one :: Covector r m #

pow :: Covector r m -> Natural -> Covector r m #

productWith :: Foldable f => (a -> Covector r m) -> f a -> Covector r m #

(Idempotent r, IdempotentCoalgebra r a) => Band (Covector r a) # 
Instance details

Defined in Numeric.Covector

(Commutative m, Coalgebra r m) => Commutative (Covector r m) # 
Instance details

Defined in Numeric.Covector

(Rig r, CounitalCoalgebra r m) => Rig (Covector r m) # 
Instance details

Defined in Numeric.Covector

Methods

fromNatural :: Natural -> Covector r m #

(Ring r, CounitalCoalgebra r m) => Ring (Covector r m) # 
Instance details

Defined in Numeric.Covector

Methods

fromInteger :: Integer -> Covector r m #

Trigonometric a => Trigonometric (Covector r a) # 
Instance details

Defined in Numeric.Coalgebra.Trigonometric.Class

Methods

cos :: Covector r a #

sin :: Covector r a #

Hyperbolic a => Hyperbolic (Covector r a) # 
Instance details

Defined in Numeric.Coalgebra.Hyperbolic.Class

Methods

cosh :: Covector r a #

sinh :: Covector r a #

Distinguished a => Distinguished (Covector r a) # 
Instance details

Defined in Numeric.Algebra.Distinguished.Class

Methods

e :: Covector r a #

Infinitesimal a => Infinitesimal (Covector r a) # 
Instance details

Defined in Numeric.Algebra.Dual.Class

Methods

d :: Covector r a #

Complicated a => Complicated (Covector r a) # 
Instance details

Defined in Numeric.Algebra.Complex.Class

Methods

i :: Covector r a #

Hamiltonian a => Hamiltonian (Covector r a) # 
Instance details

Defined in Numeric.Algebra.Quaternion.Class

Methods

j :: Covector r a #

k :: Covector r a #

Coalgebra r m => RightModule (Covector r m) (Covector r m) # 
Instance details

Defined in Numeric.Covector

Methods

(*.) :: Covector r m -> Covector r m -> Covector r m #

Coalgebra r m => LeftModule (Covector r m) (Covector r m) # 
Instance details

Defined in Numeric.Covector

Methods

(.*) :: Covector r m -> Covector r m -> Covector r m #

Covectors as linear functionals

counitM :: UnitalAlgebra r a => a -> Covector r () #

comultM :: Algebra r a => a -> Covector r (a, a) #

multM :: Coalgebra r c => c -> c -> Covector r c #

invM :: InvolutiveAlgebra r h => h -> Covector r h #

antipodeM :: HopfAlgebra r h => h -> Covector r h #

convolveM antipodeM return = convolveM return antipodeM = comultM >=> uncurry joinM

convolveM :: (Algebra r c, Coalgebra r a) => (c -> Covector r a) -> (c -> Covector r a) -> c -> Covector r a #