linear-1.23.2: Linear Algebra

License | BSD-style (see the file LICENSE)
Maintainer | Edward Kmett <ekmett@gmail.com>
Stability | provisional
Portability | portable
Safe Haskell | Safe-Inferred
Language | Haskell2010

Linear.Algebra

Description

Synopsis

- class Num r => Algebra r m where
  - mult :: (m -> m -> r) -> m -> r
  - unital :: r -> m -> r
- class Num r => Coalgebra r m where
  - comult :: (m -> r) -> m -> m -> r
  - counital :: (m -> 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

# Documentation

class Num r => Algebra r m where Source #

An associative unital algebra over a ring

Methods

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

unital :: r -> m -> r Source #

#### Instances

Instances details

Num r => Algebra r Void Source # |
Instance details Defined in Linear.Algebra Methods mult :: (Void -> Void -> r) -> Void -> r Source # unital :: r -> Void -> r Source #
Num r => Algebra r () Source # |
Instance details Defined in Linear.Algebra Methods mult :: (() -> () -> r) -> () -> r Source # unital :: r -> () -> r Source #
Num r => Algebra r (E Complex) Source # |
Instance details Defined in Linear.Algebra Methods mult :: (E Complex -> E Complex -> r) -> E Complex -> r Source # unital :: r -> E Complex -> r Source #
(Num r, TrivialConjugate r) => Algebra r (E Quaternion) Source # |
Instance details Defined in Linear.Algebra Methods mult :: (E Quaternion -> E Quaternion -> r) -> E Quaternion -> r Source # unital :: r -> E Quaternion -> r Source #
Num r => Algebra r (E V0) Source # |
Instance details Defined in Linear.Algebra Methods mult :: (E V0 -> E V0 -> r) -> E V0 -> r Source # unital :: r -> E V0 -> r Source #
Num r => Algebra r (E V1) Source # |
Instance details Defined in Linear.Algebra Methods mult :: (E V1 -> E V1 -> r) -> E V1 -> r Source # unital :: r -> E V1 -> r Source #
(Algebra r a, Algebra r b) => Algebra r (a, b) Source # |
Instance details Defined in Linear.Algebra Methods mult :: ((a, b) -> (a, b) -> r) -> (a, b) -> r Source # unital :: r -> (a, b) -> r Source #

class Num r => Coalgebra r m where Source #

A coassociative counital coalgebra over a ring

Methods

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

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

#### Instances

Instances details

Num r => Coalgebra r Void Source # |
Instance details Defined in Linear.Algebra Methods comult :: (Void -> r) -> Void -> Void -> r Source # counital :: (Void -> r) -> r Source #
Num r => Coalgebra r () Source # |
Instance details Defined in Linear.Algebra Methods comult :: (() -> r) -> () -> () -> r Source # counital :: (() -> r) -> r Source #
Num r => Coalgebra r (E Complex) Source # |
Instance details Defined in Linear.Algebra Methods comult :: (E Complex -> r) -> E Complex -> E Complex -> r Source # counital :: (E Complex -> r) -> r Source #
(Num r, TrivialConjugate r) => Coalgebra r (E Quaternion) Source # |
Instance details Defined in Linear.Algebra Methods comult :: (E Quaternion -> r) -> E Quaternion -> E Quaternion -> r Source # counital :: (E Quaternion -> r) -> r Source #
Num r => Coalgebra r (E V0) Source # |
Instance details Defined in Linear.Algebra Methods comult :: (E V0 -> r) -> E V0 -> E V0 -> r Source # counital :: (E V0 -> r) -> r Source #
Num r => Coalgebra r (E V1) Source # |
Instance details Defined in Linear.Algebra Methods comult :: (E V1 -> r) -> E V1 -> E V1 -> r Source # counital :: (E V1 -> r) -> r Source #
Num r => Coalgebra r (E V2) Source # |
Instance details Defined in Linear.Algebra Methods comult :: (E V2 -> r) -> E V2 -> E V2 -> r Source # counital :: (E V2 -> r) -> r Source #
Num r => Coalgebra r (E V3) Source # |
Instance details Defined in Linear.Algebra Methods comult :: (E V3 -> r) -> E V3 -> E V3 -> r Source # counital :: (E V3 -> r) -> r Source #
Num r => Coalgebra r (E V4) Source # |
Instance details Defined in Linear.Algebra Methods comult :: (E V4 -> r) -> E V4 -> E V4 -> r Source # counital :: (E V4 -> r) -> r Source #
(Coalgebra r m, Coalgebra r n) => Coalgebra r (m, n) Source # |
Instance details Defined in Linear.Algebra Methods comult :: ((m, n) -> r) -> (m, n) -> (m, n) -> r Source # counital :: ((m, n) -> r) -> r Source #

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

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

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

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