linear-1.20.5: Linear Algebra

LicenseBSD-style (see the file LICENSE)
MaintainerEdward Kmett <ekmett@gmail.com>
Stabilityprovisional
Portabilityportable
Safe HaskellNone
LanguageHaskell98

Linear.Algebra

Description

 

Synopsis

Documentation

class Num r => Algebra r m where #

An associative unital algebra over a ring

Minimal complete definition

mult, unital

Methods

mult :: (m -> m -> r) -> m -> r #

unital :: r -> m -> r #

Instances

Num r => Algebra r () # 

Methods

mult :: (() -> () -> r) -> () -> r #

unital :: r -> () -> r #

Num r => Algebra r Void # 

Methods

mult :: (Void -> Void -> r) -> Void -> r #

unital :: r -> Void -> r #

(Num r, TrivialConjugate r) => Algebra r (E Quaternion) # 

Methods

mult :: (E Quaternion -> E Quaternion -> r) -> E Quaternion -> r #

unital :: r -> E Quaternion -> r #

Num r => Algebra r (E Complex) # 

Methods

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

unital :: r -> E Complex -> r #

Num r => Algebra r (E V1) # 

Methods

mult :: (E V1 -> E V1 -> r) -> E V1 -> r #

unital :: r -> E V1 -> r #

Num r => Algebra r (E V0) # 

Methods

mult :: (E V0 -> E V0 -> r) -> E V0 -> r #

unital :: r -> E V0 -> r #

(Algebra r a, Algebra r b) => Algebra r (a, b) # 

Methods

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

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

class Num r => Coalgebra r m where #

A coassociative counital coalgebra over a ring

Minimal complete definition

comult, counital

Methods

comult :: (m -> r) -> m -> m -> r #

counital :: (m -> r) -> r #

Instances

Num r => Coalgebra r () # 

Methods

comult :: (() -> r) -> () -> () -> r #

counital :: (() -> r) -> r #

Num r => Coalgebra r Void # 

Methods

comult :: (Void -> r) -> Void -> Void -> r #

counital :: (Void -> r) -> r #

(Num r, TrivialConjugate r) => Coalgebra r (E Quaternion) # 

Methods

comult :: (E Quaternion -> r) -> E Quaternion -> E Quaternion -> r #

counital :: (E Quaternion -> r) -> r #

Num r => Coalgebra r (E Complex) # 

Methods

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

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

Num r => Coalgebra r (E V4) # 

Methods

comult :: (E V4 -> r) -> E V4 -> E V4 -> r #

counital :: (E V4 -> r) -> r #

Num r => Coalgebra r (E V3) # 

Methods

comult :: (E V3 -> r) -> E V3 -> E V3 -> r #

counital :: (E V3 -> r) -> r #

Num r => Coalgebra r (E V2) # 

Methods

comult :: (E V2 -> r) -> E V2 -> E V2 -> r #

counital :: (E V2 -> r) -> r #

Num r => Coalgebra r (E V1) # 

Methods

comult :: (E V1 -> r) -> E V1 -> E V1 -> r #

counital :: (E V1 -> r) -> r #

Num r => Coalgebra r (E V0) # 

Methods

comult :: (E V0 -> r) -> E V0 -> E V0 -> r #

counital :: (E V0 -> r) -> r #

(Coalgebra r m, Coalgebra r n) => Coalgebra r (m, n) # 

Methods

comult :: ((m, n) -> r) -> (m, n) -> (m, n) -> r #

counital :: ((m, n) -> r) -> r #

multRep :: (Representable f, Algebra r (Rep f)) => f (f r) -> f r #

unitalRep :: (Representable f, Algebra r (Rep f)) => r -> f r #

comultRep :: (Representable f, Coalgebra r (Rep f)) => f r -> f (f r) #

counitalRep :: (Representable f, Coalgebra r (Rep f)) => f r -> r #