algebra-3.1: Constructive abstract algebra

Safe Haskell | None

Numeric.Ring.Endomorphism

Synopsis

- newtype End a = End {
  - appEnd :: a -> a
  }
- toEnd :: Multiplicative r => r -> End r
- fromEnd :: Unital r => End r -> r
- frobenius :: Characteristic r => End r

# Documentation

newtype End a Source

The endomorphism ring of an abelian group or the endomorphism semiring of an abelian monoid

http:en.wikipedia.orgwikiEndomorphism_ring

Constructors

End |

Fields

appEnd :: a -> a

Instances

RightModule r m => RightModule r (End m) |
LeftModule r m => LeftModule r (End m) |
Monoid (End r) |
Abelian r => Abelian (End r) |
Additive r => Additive (End r) |
Monoidal r => Monoidal (End r) |
(Abelian r, Monoidal r) => Semiring (End r) |
Multiplicative (End r) |
Group r => Group (End r) |
Unital (End r) |
(Abelian r, Monoidal r) => Rig (End r) |
(Abelian r, Group r) => Ring (End r) |
(Abelian r, Commutative r) => Commutative (End r) |
(Monoidal m, Abelian m) => RightModule (End m) (End m) |
(Monoidal m, Abelian m) => LeftModule (End m) (End m) |

toEnd :: Multiplicative r => r -> End rSource

fromEnd :: Unital r => End r -> rSource

frobenius :: Characteristic r => End rSource