Additive
additive semigroups
class Additive r whereSource
(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
Instances
Additive Bool | |
Additive Int | |
Additive Int8 | |
Additive Int16 | |
Additive Int32 | |
Additive Int64 | |
Additive Integer | |
Additive Word | |
Additive Word8 | |
Additive Word16 | |
Additive Word32 | |
Additive Word64 | |
Additive () | |
Additive Natural | |
Additive Euclidean | |
Additive r => Additive (Complex r) | |
Additive r => Additive (Quaternion r) | |
Additive r => Additive (Dual r) | |
Additive r => Additive (Hyper' r) | |
Additive r => Additive (Hyper r) | |
Additive r => Additive (Dual' r) | |
Additive (BasisCoblade m) | |
Additive r => Additive (Quaternion' r) | |
Additive r => Additive (Trig r) | |
Multiplicative r => Additive (Log r) | |
Additive r => Additive (End r) | |
Additive r => Additive (Opposite r) | |
Abelian r => Additive (RngRing r) | |
Additive r => Additive (ZeroRng r) | |
Additive r => Additive (b -> r) | |
(Additive a, Additive b) => Additive (a, b) | |
(HasTrie b, Additive r) => Additive (:->: b r) | |
Additive r => Additive (Covector r a) | |
(Additive a, Additive b, Additive c) => Additive (a, b, c) | |
Additive r => Additive (Map r b a) | |
(Additive a, Additive b, Additive c, Additive d) => Additive (a, b, c, d) | |
(Additive a, Additive b, Additive c, Additive d, Additive e) => Additive (a, b, c, d, e) | |
additive Abelian semigroups
class Additive r => Abelian r Source
an additive abelian semigroup
a + b = b + a
Instances
Abelian Bool | |
Abelian Int | |
Abelian Int8 | |
Abelian Int16 | |
Abelian Int32 | |
Abelian Int64 | |
Abelian Integer | |
Abelian Word | |
Abelian Word8 | |
Abelian Word16 | |
Abelian Word32 | |
Abelian Word64 | |
Abelian () | |
Abelian Natural | |
Abelian Euclidean | |
(Additive (Complex r), Abelian r) => Abelian (Complex r) | |
(Additive (Quaternion r), Abelian r) => Abelian (Quaternion r) | |
(Additive (Dual r), Abelian r) => Abelian (Dual r) | |
(Additive (Hyper' r), Abelian r) => Abelian (Hyper' r) | |
(Additive (Hyper r), Abelian r) => Abelian (Hyper r) | |
(Additive (Dual' r), Abelian r) => Abelian (Dual' r) | |
Additive (BasisCoblade m) => Abelian (BasisCoblade m) | |
(Additive (Quaternion' r), Abelian r) => Abelian (Quaternion' r) | |
(Additive (Trig r), Abelian r) => Abelian (Trig r) | |
(Additive (Log r), Commutative r) => Abelian (Log r) | |
(Additive (End r), Abelian r) => Abelian (End r) | |
(Additive (Opposite r), Abelian r) => Abelian (Opposite r) | |
(Additive (RngRing r), Abelian r) => Abelian (RngRing r) | |
(Additive (ZeroRng r), Abelian r) => Abelian (ZeroRng r) | |
(Additive (e -> r), Abelian r) => Abelian (e -> r) | |
(Additive (a, b), Abelian a, Abelian b) => Abelian (a, b) | |
(Additive (:->: e r), HasTrie e, Abelian r) => Abelian (:->: e r) | |
(Additive (Covector s a), Abelian s) => Abelian (Covector s a) | |
(Additive (a, b, c), Abelian a, Abelian b, Abelian c) => Abelian (a, b, c) | |
(Additive (Map s b a), Abelian s) => Abelian (Map s b a) | |
(Additive (a, b, c, d), Abelian a, Abelian b, Abelian c, Abelian d) => Abelian (a, b, c, d) | |
(Additive (a, b, c, d, e), Abelian a, Abelian b, Abelian c, Abelian d, Abelian e) => Abelian (a, b, c, d, e) | |
additive idempotent semigroups
class Additive r => Idempotent r Source
An additive semigroup with idempotent addition.
a + a = a
Instances
Idempotent Bool | |
Idempotent () | |
(Additive (Complex r), Idempotent r) => Idempotent (Complex r) | |
(Additive (Quaternion r), Idempotent r) => Idempotent (Quaternion r) | |
(Additive (Dual r), Idempotent r) => Idempotent (Dual r) | |
(Additive (Hyper' r), Idempotent r) => Idempotent (Hyper' r) | |
(Additive (Hyper r), Idempotent r) => Idempotent (Hyper r) | |
(Additive (Dual' r), Idempotent r) => Idempotent (Dual' r) | |
(Additive (Quaternion' r), Idempotent r) => Idempotent (Quaternion' r) | |
(Additive (Trig r), Idempotent r) => Idempotent (Trig r) | |
(Additive (Log r), Band r) => Idempotent (Log r) | |
(Additive (Opposite r), Idempotent r) => Idempotent (Opposite r) | |
(Additive (ZeroRng r), Idempotent r) => Idempotent (ZeroRng r) | |
(Additive (e -> r), Idempotent r) => Idempotent (e -> r) | |
(Additive (a, b), Idempotent a, Idempotent b) => Idempotent (a, b) | |
(Additive (:->: e r), HasTrie e, Idempotent r) => Idempotent (:->: e r) | |
(Additive (Covector r a), Idempotent r) => Idempotent (Covector r a) | |
(Additive (a, b, c), Idempotent a, Idempotent b, Idempotent c) => Idempotent (a, b, c) | |
(Additive (a, b, c, d), Idempotent a, Idempotent b, Idempotent c, Idempotent d) => Idempotent (a, b, c, d) | |
(Additive (a, b, c, d, e), Idempotent a, Idempotent b, Idempotent c, Idempotent d, Idempotent e) => Idempotent (a, b, c, d, e) | |
partitionable additive semigroups
class Additive m => Partitionable m whereSource
Methods
partitionWith :: (m -> m -> r) -> m -> NonEmpty rSource
partitionWith f c returns a list containing f a b for each a b such that a + b = c,
Instances
Partitionable Bool | |
Partitionable () | |
Partitionable Natural | |
(Additive (Complex r), Partitionable r) => Partitionable (Complex r) | |
(Additive (Quaternion r), Partitionable r) => Partitionable (Quaternion r) | |
(Additive (Dual r), Partitionable r) => Partitionable (Dual r) | |
(Additive (Hyper' r), Partitionable r) => Partitionable (Hyper' r) | |
(Additive (Hyper r), Partitionable r) => Partitionable (Hyper r) | |
(Additive (Dual' r), Partitionable r) => Partitionable (Dual' r) | |
(Additive (Quaternion' r), Partitionable r) => Partitionable (Quaternion' r) | |
(Additive (Trig r), Partitionable r) => Partitionable (Trig r) | |
(Additive (Log r), Factorable r) => Partitionable (Log r) | |
(Additive (a, b), Partitionable a, Partitionable b) => Partitionable (a, b) | |
(Additive (a, b, c), Partitionable a, Partitionable b, Partitionable c) => Partitionable (a, b, c) | |
(Additive (a, b, c, d), Partitionable a, Partitionable b, Partitionable c, Partitionable d) => Partitionable (a, b, c, d) | |
(Additive (a, b, c, d, e), Partitionable a, Partitionable b, Partitionable c, Partitionable d, Partitionable e) => Partitionable (a, b, c, d, e) | |
additive monoids
class (LeftModule Natural m, RightModule Natural m) => Monoidal m whereSource
An additive monoid
zero + a = a = a + zero
Instances
Monoidal Bool | |
Monoidal Int | |
Monoidal Int8 | |
Monoidal Int16 | |
Monoidal Int32 | |
Monoidal Int64 | |
Monoidal Integer | |
Monoidal Word | |
Monoidal Word8 | |
Monoidal Word16 | |
Monoidal Word32 | |
Monoidal Word64 | |
Monoidal () | |
Monoidal Natural | |
Monoidal Euclidean | |
(LeftModule Natural (Complex r), RightModule Natural (Complex r), Monoidal r) => Monoidal (Complex r) | |
(LeftModule Natural (Quaternion r), RightModule Natural (Quaternion r), Monoidal r) => Monoidal (Quaternion r) | |
(LeftModule Natural (Dual r), RightModule Natural (Dual r), Monoidal r) => Monoidal (Dual r) | |
(LeftModule Natural (Hyper' r), RightModule Natural (Hyper' r), Monoidal r) => Monoidal (Hyper' r) | |
(LeftModule Natural (Hyper r), RightModule Natural (Hyper r), Monoidal r) => Monoidal (Hyper r) | |
(LeftModule Natural (Dual' r), RightModule Natural (Dual' r), Monoidal r) => Monoidal (Dual' r) | |
(LeftModule Natural (BasisCoblade m), RightModule Natural (BasisCoblade m)) => Monoidal (BasisCoblade m) | |
(LeftModule Natural (Quaternion' r), RightModule Natural (Quaternion' r), Monoidal r) => Monoidal (Quaternion' r) | |
(LeftModule Natural (Trig r), RightModule Natural (Trig r), Monoidal r) => Monoidal (Trig r) | |
(LeftModule Natural (Log r), RightModule Natural (Log r), Unital r) => Monoidal (Log r) | |
(LeftModule Natural (End r), RightModule Natural (End r), Monoidal r) => Monoidal (End r) | |
(LeftModule Natural (Opposite r), RightModule Natural (Opposite r), Monoidal r) => Monoidal (Opposite r) | |
(LeftModule Natural (RngRing r), RightModule Natural (RngRing r), Abelian r, Monoidal r) => Monoidal (RngRing r) | |
(LeftModule Natural (ZeroRng r), RightModule Natural (ZeroRng r), Monoidal r) => Monoidal (ZeroRng r) | |
(LeftModule Natural (e -> r), RightModule Natural (e -> r), Monoidal r) => Monoidal (e -> r) | |
(LeftModule Natural (a, b), RightModule Natural (a, b), Monoidal a, Monoidal b) => Monoidal (a, b) | |
(LeftModule Natural (:->: e r), RightModule Natural (:->: e r), HasTrie e, Monoidal r) => Monoidal (:->: e r) | |
(LeftModule Natural (Covector s a), RightModule Natural (Covector s a), Monoidal s) => Monoidal (Covector s a) | |
(LeftModule Natural (a, b, c), RightModule Natural (a, b, c), Monoidal a, Monoidal b, Monoidal c) => Monoidal (a, b, c) | |
(LeftModule Natural (Map s b a), RightModule Natural (Map s b a), Monoidal s) => Monoidal (Map s b a) | |
(LeftModule Natural (a, b, c, d), RightModule Natural (a, b, c, d), Monoidal a, Monoidal b, Monoidal c, Monoidal d) => Monoidal (a, b, c, d) | |
(LeftModule Natural (a, b, c, d, e), RightModule Natural (a, b, c, d, e), Monoidal a, Monoidal b, Monoidal c, Monoidal d, Monoidal e) => Monoidal (a, b, c, d, e) | |
additive groups
class (LeftModule Integer r, RightModule Integer r, Monoidal r) => Group r whereSource
Instances
Group Int | |
Group Int8 | |
Group Int16 | |
Group Int32 | |
Group Int64 | |
Group Integer | |
Group Word | |
Group Word8 | |
Group Word16 | |
Group Word32 | |
Group Word64 | |
Group () | |
Group Euclidean | |
(LeftModule Integer (Complex r), RightModule Integer (Complex r), Monoidal (Complex r), Group r) => Group (Complex r) | |
(LeftModule Integer (Quaternion r), RightModule Integer (Quaternion r), Monoidal (Quaternion r), Group r) => Group (Quaternion r) | |
(LeftModule Integer (Dual r), RightModule Integer (Dual r), Monoidal (Dual r), Group r) => Group (Dual r) | |
(LeftModule Integer (Hyper' r), RightModule Integer (Hyper' r), Monoidal (Hyper' r), Group r) => Group (Hyper' r) | |
(LeftModule Integer (Hyper r), RightModule Integer (Hyper r), Monoidal (Hyper r), Group r) => Group (Hyper r) | |
(LeftModule Integer (Dual' r), RightModule Integer (Dual' r), Monoidal (Dual' r), Group r) => Group (Dual' r) | |
(LeftModule Integer (Quaternion' r), RightModule Integer (Quaternion' r), Monoidal (Quaternion' r), Group r) => Group (Quaternion' r) | |
(LeftModule Integer (Trig r), RightModule Integer (Trig r), Monoidal (Trig r), Group r) => Group (Trig r) | |
(LeftModule Integer (Log r), RightModule Integer (Log r), Monoidal (Log r), Division r) => Group (Log r) | |
(LeftModule Integer (End r), RightModule Integer (End r), Monoidal (End r), Group r) => Group (End r) | |
(LeftModule Integer (Opposite r), RightModule Integer (Opposite r), Monoidal (Opposite r), Group r) => Group (Opposite r) | |
(LeftModule Integer (RngRing r), RightModule Integer (RngRing r), Monoidal (RngRing r), Abelian r, Group r) => Group (RngRing r) | |
(LeftModule Integer (ZeroRng r), RightModule Integer (ZeroRng r), Monoidal (ZeroRng r), Group r) => Group (ZeroRng r) | |
(LeftModule Integer (e -> r), RightModule Integer (e -> r), Monoidal (e -> r), Group r) => Group (e -> r) | |
(LeftModule Integer (a, b), RightModule Integer (a, b), Monoidal (a, b), Group a, Group b) => Group (a, b) | |
(LeftModule Integer (:->: e r), RightModule Integer (:->: e r), Monoidal (:->: e r), HasTrie e, Group r) => Group (:->: e r) | |
(LeftModule Integer (Covector s a), RightModule Integer (Covector s a), Monoidal (Covector s a), Group s) => Group (Covector s a) | |
(LeftModule Integer (a, b, c), RightModule Integer (a, b, c), Monoidal (a, b, c), Group a, Group b, Group c) => Group (a, b, c) | |
(LeftModule Integer (Map s b a), RightModule Integer (Map s b a), Monoidal (Map s b a), Group s) => Group (Map s b a) | |
(LeftModule Integer (a, b, c, d), RightModule Integer (a, b, c, d), Monoidal (a, b, c, d), Group a, Group b, Group c, Group d) => Group (a, b, c, d) | |
(LeftModule Integer (a, b, c, d, e), RightModule Integer (a, b, c, d, e), Monoidal (a, b, c, d, e), Group a, Group b, Group c, Group d, Group e) => Group (a, b, c, d, e) | |
Multiplicative
multiplicative semigroups
class Multiplicative r whereSource
A multiplicative semigroup
Instances
Multiplicative Bool | |
Multiplicative Int | |
Multiplicative Int8 | |
Multiplicative Int16 | |
Multiplicative Int32 | |
Multiplicative Int64 | |
Multiplicative Integer | |
Multiplicative Word | |
Multiplicative Word8 | |
Multiplicative Word16 | |
Multiplicative Word32 | |
Multiplicative Word64 | |
Multiplicative () | |
Multiplicative Natural | |
Multiplicative Euclidean | |
(Commutative r, Rng r) => Multiplicative (Complex r) | |
(TriviallyInvolutive r, Rng r) => Multiplicative (Quaternion r) | |
(Commutative r, Rng r) => Multiplicative (Dual r) | |
(Commutative k, Semiring k) => Multiplicative (Hyper' k) | |
(Commutative k, Semiring k) => Multiplicative (Hyper k) | |
(Commutative r, Rng r) => Multiplicative (Dual' r) | |
Multiplicative (BasisCoblade m) | |
(TriviallyInvolutive r, Semiring r) => Multiplicative (Quaternion' r) | |
(Commutative k, Rng k) => Multiplicative (Trig k) | |
Additive r => Multiplicative (Exp r) | |
Multiplicative (End r) | |
Multiplicative r => Multiplicative (Opposite r) | |
Rng r => Multiplicative (RngRing r) | |
Monoidal r => Multiplicative (ZeroRng r) | |
Algebra r a => Multiplicative (a -> r) | |
(Multiplicative a, Multiplicative b) => Multiplicative (a, b) | |
(HasTrie a, Algebra r a) => Multiplicative (:->: a r) | |
Multiplicative (Rect i j) | |
Coalgebra r m => Multiplicative (Covector r m) | |
(Multiplicative a, Multiplicative b, Multiplicative c) => Multiplicative (a, b, c) | |
Coalgebra r m => Multiplicative (Map r b m) | |
(Multiplicative a, Multiplicative b, Multiplicative c, Multiplicative d) => Multiplicative (a, b, c, d) | |
(Multiplicative a, Multiplicative b, Multiplicative c, Multiplicative d, Multiplicative e) => Multiplicative (a, b, c, d, e) | |
commutative multiplicative semigroups
class Multiplicative r => Commutative r Source
A commutative multiplicative semigroup
Instances
Commutative Bool | |
Commutative Int | |
Commutative Int8 | |
Commutative Int16 | |
Commutative Int32 | |
Commutative Int64 | |
Commutative Integer | |
Commutative Word | |
Commutative Word8 | |
Commutative Word16 | |
Commutative Word32 | |
Commutative Word64 | |
Commutative () | |
Commutative Natural | |
Commutative Euclidean | |
(Multiplicative (Complex r), TriviallyInvolutive r, Rng r) => Commutative (Complex r) | |
(Multiplicative (Dual r), TriviallyInvolutive r, Rng r) => Commutative (Dual r) | |
(Multiplicative (Hyper' k), Commutative k, Semiring k) => Commutative (Hyper' k) | |
(Multiplicative (Hyper k), Commutative k, Semiring k) => Commutative (Hyper k) | |
(Multiplicative (Dual' r), TriviallyInvolutive r, Rng r) => Commutative (Dual' r) | |
Multiplicative (BasisCoblade m) => Commutative (BasisCoblade m) | |
(Multiplicative (Trig k), Commutative k, Rng k) => Commutative (Trig k) | |
(Multiplicative (Exp r), Abelian r) => Commutative (Exp r) | |
(Multiplicative (End r), Abelian r, Commutative r) => Commutative (End r) | |
(Multiplicative (Opposite r), Commutative r) => Commutative (Opposite r) | |
(Multiplicative (RngRing r), Commutative r, Rng r) => Commutative (RngRing r) | |
(Multiplicative (ZeroRng r), Monoidal r) => Commutative (ZeroRng r) | |
(Multiplicative (a -> r), CommutativeAlgebra r a) => Commutative (a -> r) | |
(Multiplicative (a, b), Commutative a, Commutative b) => Commutative (a, b) | |
(Multiplicative (:->: a r), HasTrie a, CommutativeAlgebra r a) => Commutative (:->: a r) | |
(Multiplicative (Covector r m), Commutative m, Coalgebra r m) => Commutative (Covector r m) | |
(Multiplicative (a, b, c), Commutative a, Commutative b, Commutative c) => Commutative (a, b, c) | |
(Multiplicative (Map r b m), Commutative m, Coalgebra r m) => Commutative (Map r b m) | |
(Multiplicative (a, b, c, d), Commutative a, Commutative b, Commutative c, Commutative d) => Commutative (a, b, c, d) | |
(Multiplicative (a, b, c, d, e), Commutative a, Commutative b, Commutative c, Commutative d, Commutative e) => Commutative (a, b, c, d, e) | |
multiplicative monoids
class Multiplicative r => Unital r whereSource
Instances
Unital Bool | |
Unital Int | |
Unital Int8 | |
Unital Int16 | |
Unital Int32 | |
Unital Int64 | |
Unital Integer | |
Unital Word | |
Unital Word8 | |
Unital Word16 | |
Unital Word32 | |
Unital Word64 | |
Unital () | |
Unital Natural | |
Unital Euclidean | |
(Multiplicative (Complex r), Commutative r, Ring r) => Unital (Complex r) | |
(Multiplicative (Quaternion r), TriviallyInvolutive r, Ring r) => Unital (Quaternion r) | |
(Multiplicative (Dual r), Commutative r, Ring r) => Unital (Dual r) | |
(Multiplicative (Hyper' k), Commutative k, Rig k) => Unital (Hyper' k) | |
(Multiplicative (Hyper k), Commutative k, Rig k) => Unital (Hyper k) | |
(Multiplicative (Dual' r), Commutative r, Ring r) => Unital (Dual' r) | |
Multiplicative (BasisCoblade m) => Unital (BasisCoblade m) | |
(Multiplicative (Quaternion' r), TriviallyInvolutive r, Ring r) => Unital (Quaternion' r) | |
(Multiplicative (Trig k), Commutative k, Ring k) => Unital (Trig k) | |
(Multiplicative (Exp r), Monoidal r) => Unital (Exp r) | |
Multiplicative (End r) => Unital (End r) | |
(Multiplicative (Opposite r), Unital r) => Unital (Opposite r) | |
(Multiplicative (RngRing r), Rng r) => Unital (RngRing r) | |
(Multiplicative (a -> r), Unital r, UnitalAlgebra r a) => Unital (a -> r) | |
(Multiplicative (a, b), Unital a, Unital b) => Unital (a, b) | |
(Multiplicative (Covector r m), CounitalCoalgebra r m) => Unital (Covector r m) | |
(Multiplicative (a, b, c), Unital a, Unital b, Unital c) => Unital (a, b, c) | |
(Multiplicative (Map r b m), CounitalCoalgebra r m) => Unital (Map r b m) | |
(Multiplicative (a, b, c, d), Unital a, Unital b, Unital c, Unital d) => Unital (a, b, c, d) | |
(Multiplicative (a, b, c, d, e), Unital a, Unital b, Unital c, Unital d, Unital e) => Unital (a, b, c, d, e) | |
idempotent multiplicative semigroups
class Multiplicative r => Band r Source
An multiplicative semigroup with idempotent multiplication.
a * a = a
Instances
Band Bool | |
Band () | |
(Multiplicative (Exp r), Idempotent r) => Band (Exp r) | |
(Multiplicative (Opposite r), Band r) => Band (Opposite r) | |
(Multiplicative (a, b), Band a, Band b) => Band (a, b) | |
Multiplicative (Rect i j) => Band (Rect i j) | |
(Multiplicative (Covector r a), Idempotent r, IdempotentCoalgebra r a) => Band (Covector r a) | |
(Multiplicative (a, b, c), Band a, Band b, Band c) => Band (a, b, c) | |
(Multiplicative (a, b, c, d), Band a, Band b, Band c, Band d) => Band (a, b, c, d) | |
(Multiplicative (a, b, c, d, e), Band a, Band b, Band c, Band d, Band e) => Band (a, b, c, d, e) | |
multiplicative groups
class Unital r => Division r whereSource
Instances
Division () | |
(Unital (Complex r), Commutative r, InvolutiveSemiring r, DivisionRing r) => Division (Complex r) | |
(Unital (Quaternion r), TriviallyInvolutive r, Ring r, Division r) => Division (Quaternion r) | |
(Unital (Dual r), Commutative r, InvolutiveSemiring r, DivisionRing r) => Division (Dual r) | |
(Unital (Hyper' r), Commutative r, InvolutiveSemiring r, DivisionRing r) => Division (Hyper' r) | |
(Unital (Dual' r), Commutative r, InvolutiveSemiring r, DivisionRing r) => Division (Dual' r) | |
(Unital (Quaternion' r), TriviallyInvolutive r, Ring r, Division r) => Division (Quaternion' r) | |
(Unital (Exp r), Group r) => Division (Exp r) | |
(Unital (Opposite r), Division r) => Division (Opposite r) | |
(Unital (RngRing r), Rng r, Division r) => Division (RngRing r) | |
(Unital (a -> r), Unital r, DivisionAlgebra r a) => Division (a -> r) | |
(Unital (a, b), Division a, Division b) => Division (a, b) | |
(Unital (a, b, c), Division a, Division b, Division c) => Division (a, b, c) | |
(Unital (a, b, c, d), Division a, Division b, Division c, Division d) => Division (a, b, c, d) | |
(Unital (a, b, c, d, e), Division a, Division b, Division c, Division d, Division e) => Division (a, b, c, d, e) | |
factorable multiplicative semigroups
class Multiplicative m => Factorable m whereSource
`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.
Instances
Factorable Bool | |
Factorable () | |
(Multiplicative (Exp r), Partitionable r) => Factorable (Exp r) | |
(Multiplicative (a, b), Factorable a, Factorable b) => Factorable (a, b) | |
(Multiplicative (a, b, c), Factorable a, Factorable b, Factorable c) => Factorable (a, b, c) | |
(Multiplicative (a, b, c, d), Factorable a, Factorable b, Factorable c, Factorable d) => Factorable (a, b, c, d) | |
(Multiplicative (a, b, c, d, e), Factorable a, Factorable b, Factorable c, Factorable d, Factorable e) => Factorable (a, b, c, d, e) | |
involutive multiplicative semigroups
class Multiplicative r => InvolutiveMultiplication r whereSource
An semigroup with involution
adjoint a * adjoint b = adjoint (b * a)
Instances
InvolutiveMultiplication Bool | |
InvolutiveMultiplication Int | |
InvolutiveMultiplication Int8 | |
InvolutiveMultiplication Int16 | |
InvolutiveMultiplication Int32 | |
InvolutiveMultiplication Int64 | |
InvolutiveMultiplication Integer | |
InvolutiveMultiplication Word | |
InvolutiveMultiplication Word8 | |
InvolutiveMultiplication Word16 | |
InvolutiveMultiplication Word32 | |
InvolutiveMultiplication Word64 | |
InvolutiveMultiplication () | |
InvolutiveMultiplication Natural | |
InvolutiveMultiplication Euclidean | |
(Multiplicative (Complex r), Commutative r, Rng r, InvolutiveMultiplication r) => InvolutiveMultiplication (Complex r) | |
(Multiplicative (Quaternion r), TriviallyInvolutive r, Rng r) => InvolutiveMultiplication (Quaternion r) | |
(Multiplicative (Dual r), Commutative r, Rng r, InvolutiveSemiring r) => InvolutiveMultiplication (Dual r) | |
(Multiplicative (Hyper' r), Commutative r, InvolutiveSemiring r, Rng r) => InvolutiveMultiplication (Hyper' r) | |
(Multiplicative (Hyper r), Commutative r, Group r, InvolutiveSemiring r) => InvolutiveMultiplication (Hyper r) | |
(Multiplicative (Dual' r), Commutative r, Rng r, InvolutiveSemiring r) => InvolutiveMultiplication (Dual' r) | |
(Multiplicative (Quaternion' r), TriviallyInvolutive r, Rng r) => InvolutiveMultiplication (Quaternion' r) | |
(Multiplicative (Trig r), Commutative r, Rng r, InvolutiveMultiplication r) => InvolutiveMultiplication (Trig r) | |
(Multiplicative (h -> r), InvolutiveAlgebra r h) => InvolutiveMultiplication (h -> r) | |
(Multiplicative (a, b), InvolutiveMultiplication a, InvolutiveMultiplication b) => InvolutiveMultiplication (a, b) | |
(Multiplicative (:->: h r), HasTrie h, InvolutiveAlgebra r h) => InvolutiveMultiplication (:->: h r) | |
(Multiplicative (a, b, c), InvolutiveMultiplication a, InvolutiveMultiplication b, InvolutiveMultiplication c) => InvolutiveMultiplication (a, b, c) | |
(Multiplicative (a, b, c, d), InvolutiveMultiplication a, InvolutiveMultiplication b, InvolutiveMultiplication c, InvolutiveMultiplication d) => InvolutiveMultiplication (a, b, c, d) | |
(Multiplicative (a, b, c, d, e), InvolutiveMultiplication a, InvolutiveMultiplication b, InvolutiveMultiplication c, InvolutiveMultiplication d, InvolutiveMultiplication e) => InvolutiveMultiplication (a, b, c, d, e) | |
class (Commutative r, InvolutiveMultiplication r) => TriviallyInvolutive r Source
Instances
TriviallyInvolutive Bool | |
TriviallyInvolutive Int | |
TriviallyInvolutive Int8 | |
TriviallyInvolutive Int16 | |
TriviallyInvolutive Int32 | |
TriviallyInvolutive Int64 | |
TriviallyInvolutive Integer | |
TriviallyInvolutive Word | |
TriviallyInvolutive Word8 | |
TriviallyInvolutive Word16 | |
TriviallyInvolutive Word32 | |
TriviallyInvolutive Word64 | |
TriviallyInvolutive () | |
TriviallyInvolutive Natural | |
TriviallyInvolutive Euclidean | |
(Commutative (a -> r), InvolutiveMultiplication (a -> r), TriviallyInvolutive r, TriviallyInvolutiveAlgebra r a) => TriviallyInvolutive (a -> r) | |
(Commutative (a, b), InvolutiveMultiplication (a, b), TriviallyInvolutive a, TriviallyInvolutive b) => TriviallyInvolutive (a, b) | |
(Commutative (:->: a r), InvolutiveMultiplication (:->: a r), HasTrie a, TriviallyInvolutive r, TriviallyInvolutiveAlgebra r a) => TriviallyInvolutive (:->: a r) | |
(Commutative (a, b, c), InvolutiveMultiplication (a, b, c), TriviallyInvolutive a, TriviallyInvolutive b, TriviallyInvolutive c) => TriviallyInvolutive (a, b, c) | |
(Commutative (a, b, c, d), InvolutiveMultiplication (a, b, c, d), TriviallyInvolutive a, TriviallyInvolutive b, TriviallyInvolutive c, TriviallyInvolutive d) => TriviallyInvolutive (a, b, c, d) | |
(Commutative (a, b, c, d, e), InvolutiveMultiplication (a, b, c, d, e), TriviallyInvolutive a, TriviallyInvolutive b, TriviallyInvolutive c, TriviallyInvolutive d, TriviallyInvolutive e) => TriviallyInvolutive (a, b, c, d, e) | |
Ring-Structures
Semirings
class (Additive r, Abelian r, Multiplicative r) => Semiring r Source
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 | |
Semiring Int | |
Semiring Int8 | |
Semiring Int16 | |
Semiring Int32 | |
Semiring Int64 | |
Semiring Integer | |
Semiring Word | |
Semiring Word8 | |
Semiring Word16 | |
Semiring Word32 | |
Semiring Word64 | |
Semiring () | |
Semiring Natural | |
Semiring Euclidean | |
(Additive (Complex r), Abelian (Complex r), Multiplicative (Complex r), Commutative r, Rng r) => Semiring (Complex r) | |
(Additive (Quaternion r), Abelian (Quaternion r), Multiplicative (Quaternion r), TriviallyInvolutive r, Rng r) => Semiring (Quaternion r) | |
(Additive (Dual r), Abelian (Dual r), Multiplicative (Dual r), Commutative r, Rng r) => Semiring (Dual r) | |
(Additive (Hyper' k), Abelian (Hyper' k), Multiplicative (Hyper' k), Commutative k, Semiring k) => Semiring (Hyper' k) | |
(Additive (Hyper k), Abelian (Hyper k), Multiplicative (Hyper k), Commutative k, Semiring k) => Semiring (Hyper k) | |
(Additive (Dual' r), Abelian (Dual' r), Multiplicative (Dual' r), Commutative r, Rng r) => Semiring (Dual' r) | |
(Additive (BasisCoblade m), Abelian (BasisCoblade m), Multiplicative (BasisCoblade m)) => Semiring (BasisCoblade m) | |
(Additive (Quaternion' r), Abelian (Quaternion' r), Multiplicative (Quaternion' r), TriviallyInvolutive r, Semiring r) => Semiring (Quaternion' r) | |
(Additive (Trig k), Abelian (Trig k), Multiplicative (Trig k), Commutative k, Rng k) => Semiring (Trig k) | |
(Additive (End r), Abelian (End r), Multiplicative (End r), Abelian r, Monoidal r) => Semiring (End r) | |
(Additive (Opposite r), Abelian (Opposite r), Multiplicative (Opposite r), Semiring r) => Semiring (Opposite r) | |
(Additive (RngRing r), Abelian (RngRing r), Multiplicative (RngRing r), Rng r) => Semiring (RngRing r) | |
(Additive (ZeroRng r), Abelian (ZeroRng r), Multiplicative (ZeroRng r), Monoidal r, Abelian r) => Semiring (ZeroRng r) | |
(Additive (a -> r), Abelian (a -> r), Multiplicative (a -> r), Algebra r a) => Semiring (a -> r) | |
(Additive (a, b), Abelian (a, b), Multiplicative (a, b), Semiring a, Semiring b) => Semiring (a, b) | |
(Additive (:->: a r), Abelian (:->: a r), Multiplicative (:->: a r), HasTrie a, Algebra r a) => Semiring (:->: a r) | |
(Additive (Covector r m), Abelian (Covector r m), Multiplicative (Covector r m), Coalgebra r m) => Semiring (Covector r m) | |
(Additive (a, b, c), Abelian (a, b, c), Multiplicative (a, b, c), Semiring a, Semiring b, Semiring c) => Semiring (a, b, c) | |
(Additive (Map r b m), Abelian (Map r b m), Multiplicative (Map r b m), Coalgebra r m) => Semiring (Map r b m) | |
(Additive (a, b, c, d), Abelian (a, b, c, d), Multiplicative (a, b, c, d), Semiring a, Semiring b, Semiring c, Semiring d) => Semiring (a, b, c, d) | |
(Additive (a, b, c, d, e), Abelian (a, b, c, d, e), Multiplicative (a, b, c, d, e), Semiring a, Semiring b, Semiring c, Semiring d, Semiring e) => Semiring (a, b, c, d, e) | |
class (Semiring r, InvolutiveMultiplication r) => InvolutiveSemiring r Source
adjoint (x + y) = adjoint x + adjoint y
Instances
InvolutiveSemiring Bool | |
InvolutiveSemiring Int | |
InvolutiveSemiring Int8 | |
InvolutiveSemiring Int16 | |
InvolutiveSemiring Int32 | |
InvolutiveSemiring Int64 | |
InvolutiveSemiring Integer | |
InvolutiveSemiring Word | |
InvolutiveSemiring Word8 | |
InvolutiveSemiring Word16 | |
InvolutiveSemiring Word32 | |
InvolutiveSemiring Word64 | |
InvolutiveSemiring () | |
InvolutiveSemiring Natural | |
InvolutiveSemiring Euclidean | |
(Semiring (Complex r), InvolutiveMultiplication (Complex r), Commutative r, Rng r, InvolutiveSemiring r) => InvolutiveSemiring (Complex r) | |
(Semiring (Dual r), InvolutiveMultiplication (Dual r), Commutative r, Rng r, InvolutiveSemiring r) => InvolutiveSemiring (Dual r) | |
(Semiring (Hyper' r), InvolutiveMultiplication (Hyper' r), Commutative r, InvolutiveSemiring r, Rng r) => InvolutiveSemiring (Hyper' r) | |
(Semiring (Hyper r), InvolutiveMultiplication (Hyper r), Commutative r, Group r, InvolutiveSemiring r) => InvolutiveSemiring (Hyper r) | |
(Semiring (Dual' r), InvolutiveMultiplication (Dual' r), Commutative r, Rng r, InvolutiveSemiring r) => InvolutiveSemiring (Dual' r) | |
(Semiring (Trig r), InvolutiveMultiplication (Trig r), Commutative r, Rng r, InvolutiveSemiring r) => InvolutiveSemiring (Trig r) | |
(Semiring (a, b), InvolutiveMultiplication (a, b), InvolutiveSemiring a, InvolutiveSemiring b) => InvolutiveSemiring (a, b) | |
(Semiring (a, b, c), InvolutiveMultiplication (a, b, c), InvolutiveSemiring a, InvolutiveSemiring b, InvolutiveSemiring c) => InvolutiveSemiring (a, b, c) | |
(Semiring (a, b, c, d), InvolutiveMultiplication (a, b, c, d), InvolutiveSemiring a, InvolutiveSemiring b, InvolutiveSemiring c, InvolutiveSemiring d) => InvolutiveSemiring (a, b, c, d) | |
(Semiring (a, b, c, d, e), InvolutiveMultiplication (a, b, c, d, e), InvolutiveSemiring a, InvolutiveSemiring b, InvolutiveSemiring c, InvolutiveSemiring d, InvolutiveSemiring e) => InvolutiveSemiring (a, b, c, d, e) | |
Rngs
Rigs
class (Semiring r, Unital r, Monoidal r) => Rig r whereSource
A Ring without (n)egation
Instances
Rig Bool | |
Rig Int | |
Rig Int8 | |
Rig Int16 | |
Rig Int32 | |
Rig Int64 | |
Rig Integer | |
Rig Word | |
Rig Word8 | |
Rig Word16 | |
Rig Word32 | |
Rig Word64 | |
Rig () | |
Rig Natural | |
Rig Euclidean | |
(Semiring (Complex r), Unital (Complex r), Monoidal (Complex r), Commutative r, Ring r) => Rig (Complex r) | |
(Semiring (Quaternion r), Unital (Quaternion r), Monoidal (Quaternion r), TriviallyInvolutive r, Ring r) => Rig (Quaternion r) | |
(Semiring (Dual r), Unital (Dual r), Monoidal (Dual r), Commutative r, Ring r) => Rig (Dual r) | |
(Semiring (Hyper' r), Unital (Hyper' r), Monoidal (Hyper' r), Commutative r, Rig r) => Rig (Hyper' r) | |
(Semiring (Hyper r), Unital (Hyper r), Monoidal (Hyper r), Commutative r, Rig r) => Rig (Hyper r) | |
(Semiring (Dual' r), Unital (Dual' r), Monoidal (Dual' r), Commutative r, Ring r) => Rig (Dual' r) | |
(Semiring (BasisCoblade m), Unital (BasisCoblade m), Monoidal (BasisCoblade m)) => Rig (BasisCoblade m) | |
(Semiring (Quaternion' r), Unital (Quaternion' r), Monoidal (Quaternion' r), TriviallyInvolutive r, Ring r) => Rig (Quaternion' r) | |
(Semiring (Trig r), Unital (Trig r), Monoidal (Trig r), Commutative r, Ring r) => Rig (Trig r) | |
(Semiring (End r), Unital (End r), Monoidal (End r), Abelian r, Monoidal r) => Rig (End r) | |
(Semiring (Opposite r), Unital (Opposite r), Monoidal (Opposite r), Rig r) => Rig (Opposite r) | |
(Semiring (RngRing r), Unital (RngRing r), Monoidal (RngRing r), Rng r) => Rig (RngRing r) | |
(Semiring (a, b), Unital (a, b), Monoidal (a, b), Rig a, Rig b) => Rig (a, b) | |
(Semiring (Covector r m), Unital (Covector r m), Monoidal (Covector r m), Rig r, CounitalCoalgebra r m) => Rig (Covector r m) | |
(Semiring (a, b, c), Unital (a, b, c), Monoidal (a, b, c), Rig a, Rig b, Rig c) => Rig (a, b, c) | |
(Semiring (Map r b m), Unital (Map r b m), Monoidal (Map r b m), Rig r, CounitalCoalgebra r m) => Rig (Map r b m) | |
(Semiring (a, b, c, d), Unital (a, b, c, d), Monoidal (a, b, c, d), Rig a, Rig b, Rig c, Rig d) => Rig (a, b, c, d) | |
(Semiring (a, b, c, d, e), Unital (a, b, c, d, e), Monoidal (a, b, c, d, e), Rig a, Rig b, Rig c, Rig d, Rig e) => Rig (a, b, c, d, e) | |
Rings
class (Rig r, Rng r) => Ring r whereSource
Instances
Ring Int | |
Ring Int8 | |
Ring Int16 | |
Ring Int32 | |
Ring Int64 | |
Ring Integer | |
Ring Word | |
Ring Word8 | |
Ring Word16 | |
Ring Word32 | |
Ring Word64 | |
Ring () | |
Ring Euclidean | |
(Rig (Complex r), Rng (Complex r), Commutative r, Ring r) => Ring (Complex r) | |
(Rig (Quaternion r), Rng (Quaternion r), TriviallyInvolutive r, Ring r) => Ring (Quaternion r) | |
(Rig (Dual r), Rng (Dual r), Commutative r, Ring r) => Ring (Dual r) | |
(Rig (Hyper' r), Rng (Hyper' r), Commutative r, Ring r) => Ring (Hyper' r) | |
(Rig (Hyper r), Rng (Hyper r), Commutative r, Ring r) => Ring (Hyper r) | |
(Rig (Dual' r), Rng (Dual' r), Commutative r, Ring r) => Ring (Dual' r) | |
(Rig (Quaternion' r), Rng (Quaternion' r), TriviallyInvolutive r, Ring r) => Ring (Quaternion' r) | |
(Rig (Trig r), Rng (Trig r), Commutative r, Ring r) => Ring (Trig r) | |
(Rig (End r), Rng (End r), Abelian r, Group r) => Ring (End r) | |
(Rig (Opposite r), Rng (Opposite r), Ring r) => Ring (Opposite r) | |
(Rig (RngRing r), Rng (RngRing r), Rng r) => Ring (RngRing r) | |
(Rig (a, b), Rng (a, b), Ring a, Ring b) => Ring (a, b) | |
(Rig (Covector r m), Rng (Covector r m), Ring r, CounitalCoalgebra r m) => Ring (Covector r m) | |
(Rig (a, b, c), Rng (a, b, c), Ring a, Ring b, Ring c) => Ring (a, b, c) | |
(Rig (Map r a m), Rng (Map r a m), Ring r, CounitalCoalgebra r m) => Ring (Map r a m) | |
(Rig (a, b, c, d), Rng (a, b, c, d), Ring a, Ring b, Ring c, Ring d) => Ring (a, b, c, d) | |
(Rig (a, b, c, d, e), Rng (a, b, c, d, e), Ring a, Ring b, Ring c, Ring d, Ring e) => Ring (a, b, c, d, e) | |
Division Rings
Modules
class (Semiring r, Additive m) => LeftModule r m whereSource
Instances
LeftModule Integer Int | |
LeftModule Integer Int8 | |
LeftModule Integer Int16 | |
LeftModule Integer Int32 | |
LeftModule Integer Int64 | |
LeftModule Integer Integer | |
LeftModule Integer Word | |
LeftModule Integer Word8 | |
LeftModule Integer Word16 | |
LeftModule Integer Word32 | |
LeftModule Integer Word64 | |
LeftModule Integer Euclidean | |
(Semiring (), Additive m) => LeftModule () m | |
(Additive (), Semiring r) => LeftModule r () | |
LeftModule Natural Bool | |
LeftModule Natural Int | |
LeftModule Natural Int8 | |
LeftModule Natural Int16 | |
LeftModule Natural Int32 | |
LeftModule Natural Int64 | |
LeftModule Natural Integer | |
LeftModule Natural Word | |
LeftModule Natural Word8 | |
LeftModule Natural Word16 | |
LeftModule Natural Word32 | |
LeftModule Natural Word64 | |
LeftModule Natural Natural | |
LeftModule Natural Euclidean | |
(Semiring Integer, Additive (Log r), Division r) => LeftModule Integer (Log r) | |
(Semiring Integer, Additive (RngRing r), Abelian r, Group r) => LeftModule Integer (RngRing r) | |
(Semiring Integer, Additive (ZeroRng r), Group r) => LeftModule Integer (ZeroRng r) | |
(Semiring r, Additive (Complex s), LeftModule r s) => LeftModule r (Complex s) | |
(Semiring r, Additive (Quaternion s), LeftModule r s) => LeftModule r (Quaternion s) | |
(Semiring r, Additive (Dual s), LeftModule r s) => LeftModule r (Dual s) | |
(Semiring r, Additive (Hyper' s), LeftModule r s) => LeftModule r (Hyper' s) | |
(Semiring r, Additive (Hyper s), LeftModule r s) => LeftModule r (Hyper s) | |
(Semiring r, Additive (Dual' s), LeftModule r s) => LeftModule r (Dual' s) | |
(Semiring r, Additive (Quaternion' s), LeftModule r s) => LeftModule r (Quaternion' s) | |
(Semiring r, Additive (Trig s), LeftModule r s) => LeftModule r (Trig s) | |
(Semiring r, Additive (End m), LeftModule r m) => LeftModule r (End m) | |
(Semiring r, Additive (Opposite s), RightModule r s) => LeftModule r (Opposite s) | |
(Semiring Natural, Additive (BasisCoblade m)) => LeftModule Natural (BasisCoblade m) | |
(Semiring Natural, Additive (Log r), Unital r) => LeftModule Natural (Log r) | |
(Semiring Natural, Additive (RngRing r), Abelian r, Monoidal r) => LeftModule Natural (RngRing r) | |
(Semiring Natural, Additive (ZeroRng r), Monoidal r) => LeftModule Natural (ZeroRng r) | |
(Semiring r, Additive (a, b), LeftModule r a, LeftModule r b) => LeftModule r (a, b) | |
(Semiring r, Additive (:->: e m), HasTrie e, LeftModule r m) => LeftModule r (:->: e m) | |
(Semiring r, Additive (e -> m), LeftModule r m) => LeftModule r (e -> m) | |
(Semiring r, Additive (Covector s m), LeftModule r s) => LeftModule r (Covector s m) | |
(Semiring r, Additive (a, b, c), LeftModule r a, LeftModule r b, LeftModule r c) => LeftModule r (a, b, c) | |
(Semiring r, Additive (Map s b m), LeftModule r s) => LeftModule r (Map s b m) | |
(Semiring r, Additive (a, b, c, d), LeftModule r a, LeftModule r b, LeftModule r c, LeftModule r d) => LeftModule r (a, b, c, d) | |
(Semiring r, Additive (a, b, c, d, e), LeftModule r a, LeftModule r b, LeftModule r c, LeftModule r d, LeftModule r e) => LeftModule r (a, b, c, d, e) | |
(Semiring (Complex r), Additive (Complex r), Commutative r, Rng r) => LeftModule (Complex r) (Complex r) | |
(Semiring (Quaternion r), Additive (Quaternion r), TriviallyInvolutive r, Rng r) => LeftModule (Quaternion r) (Quaternion r) | |
(Semiring (Dual r), Additive (Dual r), Commutative r, Rng r) => LeftModule (Dual r) (Dual r) | |
(Semiring (Hyper' r), Additive (Hyper' r), Commutative r, Semiring r) => LeftModule (Hyper' r) (Hyper' r) | |
(Semiring (Hyper r), Additive (Hyper r), Commutative r, Semiring r) => LeftModule (Hyper r) (Hyper r) | |
(Semiring (Dual' r), Additive (Dual' r), Commutative r, Rng r) => LeftModule (Dual' r) (Dual' r) | |
(Semiring (Quaternion' r), Additive (Quaternion' r), TriviallyInvolutive r, Rng r) => LeftModule (Quaternion' r) (Quaternion' r) | |
(Semiring (Trig r), Additive (Trig r), Commutative r, Rng r) => LeftModule (Trig r) (Trig r) | |
(Semiring (End m), Additive (End m), Monoidal m, Abelian m) => LeftModule (End m) (End m) | |
(Semiring (Opposite r), Additive (Opposite r), Semiring r) => LeftModule (Opposite r) (Opposite r) | |
(Semiring (RngRing s), Additive (RngRing s), Rng s) => LeftModule (RngRing s) (RngRing s) | |
(Semiring (Covector r m), Additive (Covector r m), Coalgebra r m) => LeftModule (Covector r m) (Covector r m) | |
(Semiring (Map r b m), Additive (Map r b m), Coalgebra r m) => LeftModule (Map r b m) (Map r b m) | |
class (Semiring r, Additive m) => RightModule r m whereSource
Instances
RightModule Integer Int | |
RightModule Integer Int8 | |
RightModule Integer Int16 | |
RightModule Integer Int32 | |
RightModule Integer Int64 | |
RightModule Integer Integer | |
RightModule Integer Word | |
RightModule Integer Word8 | |
RightModule Integer Word16 | |
RightModule Integer Word32 | |
RightModule Integer Word64 | |
RightModule Integer Euclidean | |
(Semiring (), Additive m) => RightModule () m | |
(Additive (), Semiring r) => RightModule r () | |
RightModule Natural Bool | |
RightModule Natural Int | |
RightModule Natural Int8 | |
RightModule Natural Int16 | |
RightModule Natural Int32 | |
RightModule Natural Int64 | |
RightModule Natural Integer | |
RightModule Natural Word | |
RightModule Natural Word8 | |
RightModule Natural Word16 | |
RightModule Natural Word32 | |
RightModule Natural Word64 | |
RightModule Natural Natural | |
RightModule Natural Euclidean | |
(Semiring Integer, Additive (Log r), Division r) => RightModule Integer (Log r) | |
(Semiring Integer, Additive (RngRing r), Abelian r, Group r) => RightModule Integer (RngRing r) | |
(Semiring Integer, Additive (ZeroRng r), Group r) => RightModule Integer (ZeroRng r) | |
(Semiring r, Additive (Complex s), RightModule r s) => RightModule r (Complex s) | |
(Semiring r, Additive (Quaternion s), RightModule r s) => RightModule r (Quaternion s) | |
(Semiring r, Additive (Dual s), RightModule r s) => RightModule r (Dual s) | |
(Semiring r, Additive (Hyper' s), RightModule r s) => RightModule r (Hyper' s) | |
(Semiring r, Additive (Hyper s), RightModule r s) => RightModule r (Hyper s) | |
(Semiring r, Additive (Dual' s), RightModule r s) => RightModule r (Dual' s) | |
(Semiring r, Additive (Quaternion' s), RightModule r s) => RightModule r (Quaternion' s) | |
(Semiring r, Additive (Trig s), RightModule r s) => RightModule r (Trig s) | |
(Semiring r, Additive (End m), RightModule r m) => RightModule r (End m) | |
(Semiring r, Additive (Opposite s), LeftModule r s) => RightModule r (Opposite s) | |
(Semiring Natural, Additive (BasisCoblade m)) => RightModule Natural (BasisCoblade m) | |
(Semiring Natural, Additive (Log r), Unital r) => RightModule Natural (Log r) | |
(Semiring Natural, Additive (RngRing r), Abelian r, Monoidal r) => RightModule Natural (RngRing r) | |
(Semiring Natural, Additive (ZeroRng r), Monoidal r) => RightModule Natural (ZeroRng r) | |
(Semiring r, Additive (a, b), RightModule r a, RightModule r b) => RightModule r (a, b) | |
(Semiring r, Additive (:->: e m), HasTrie e, RightModule r m) => RightModule r (:->: e m) | |
(Semiring r, Additive (e -> m), RightModule r m) => RightModule r (e -> m) | |
(Semiring r, Additive (Covector s m), RightModule r s) => RightModule r (Covector s m) | |
(Semiring r, Additive (a, b, c), RightModule r a, RightModule r b, RightModule r c) => RightModule r (a, b, c) | |
(Semiring r, Additive (Map s b m), RightModule r s) => RightModule r (Map s b m) | |
(Semiring r, Additive (a, b, c, d), RightModule r a, RightModule r b, RightModule r c, RightModule r d) => RightModule r (a, b, c, d) | |
(Semiring r, Additive (a, b, c, d, e), RightModule r a, RightModule r b, RightModule r c, RightModule r d, RightModule r e) => RightModule r (a, b, c, d, e) | |
(Semiring (Complex r), Additive (Complex r), Commutative r, Rng r) => RightModule (Complex r) (Complex r) | |
(Semiring (Quaternion r), Additive (Quaternion r), TriviallyInvolutive r, Rng r) => RightModule (Quaternion r) (Quaternion r) | |
(Semiring (Dual r), Additive (Dual r), Commutative r, Rng r) => RightModule (Dual r) (Dual r) | |
(Semiring (Hyper' r), Additive (Hyper' r), Commutative r, Semiring r) => RightModule (Hyper' r) (Hyper' r) | |
(Semiring (Hyper r), Additive (Hyper r), Commutative r, Semiring r) => RightModule (Hyper r) (Hyper r) | |
(Semiring (Dual' r), Additive (Dual' r), Commutative r, Rng r) => RightModule (Dual' r) (Dual' r) | |
(Semiring (Quaternion' r), Additive (Quaternion' r), TriviallyInvolutive r, Rng r) => RightModule (Quaternion' r) (Quaternion' r) | |
(Semiring (Trig r), Additive (Trig r), Commutative r, Rng r) => RightModule (Trig r) (Trig r) | |
(Semiring (End m), Additive (End m), Monoidal m, Abelian m) => RightModule (End m) (End m) | |
(Semiring (Opposite r), Additive (Opposite r), Semiring r) => RightModule (Opposite r) (Opposite r) | |
(Semiring (RngRing s), Additive (RngRing s), Rng s) => RightModule (RngRing s) (RngRing s) | |
(Semiring (Covector r m), Additive (Covector r m), Coalgebra r m) => RightModule (Covector r m) (Covector r m) | |
(Semiring (Map r b m), Additive (Map r b m), Coalgebra r m) => RightModule (Map r b m) (Map r b m) | |
Algebras
associative algebras over (non-commutative) semirings
class Semiring r => Algebra r a whereSource
An associative algebra built with a free module over a semiring
Instances
Semiring () => Algebra () a | |
Semiring r => Algebra r IntSet | |
Semiring r => Algebra r () | |
(Semiring k, Rng k) => Algebra k ComplexBasis | |
(Semiring r, TriviallyInvolutive r, Rng r) => Algebra r QuaternionBasis | the quaternion algebra
|
(Semiring k, Rng k) => Algebra k DualBasis | |
(Commutative k, Semiring k) => Algebra k HyperBasis' | |
Semiring k => Algebra k HyperBasis | the trivial diagonal algebra
|
Semiring k => Algebra k DualBasis' | |
(TriviallyInvolutive r, Semiring r) => Algebra r QuaternionBasis' | the trivial diagonal algebra
|
(Semiring k, Commutative k, Rng k) => Algebra k TrigBasis | |
(Semiring r, Monoidal r, Partitionable a) => Algebra r (IntMap a) | |
(Semiring r, Ord a) => Algebra r (Set a) | |
Semiring r => Algebra r (Seq a) | The tensor algebra
|
Semiring r => Algebra r [a] | The tensor algebra
|
(Commutative r, Monoidal r, Semiring r, LocallyFiniteOrder a) => Algebra r (Interval a) | |
(Semiring r, Algebra r a, Algebra r b) => Algebra r (a, b) | |
(Semiring r, Monoidal r, Ord a, Partitionable b) => Algebra r (Map a b) | |
(Semiring r, Algebra r a, Algebra r b, Algebra r c) => Algebra r (a, b, c) | |
(Semiring r, Algebra r a, Algebra r b, Algebra r c, Algebra r d) => Algebra r (a, b, c, d) | |
(Semiring r, Algebra r a, Algebra r b, Algebra r c, Algebra r d, Algebra r e) => Algebra r (a, b, c, d, e) | |
class Semiring r => Coalgebra r c whereSource
Instances
Semiring r => Coalgebra r IntSet | the free commutative band coalgebra over Int
|
Semiring r => Coalgebra r () | |
(Semiring k, Rng k) => Coalgebra k ComplexBasis | |
(Semiring r, TriviallyInvolutive r, Rng r) => Coalgebra r QuaternionBasis | the trivial diagonal coalgebra
|
(Semiring k, Rng k) => Coalgebra k DualBasis | |
(Commutative k, Monoidal k, Semiring k) => Coalgebra k HyperBasis' | |
(Commutative k, Semiring k) => Coalgebra k HyperBasis | the hyperbolic trigonometric coalgebra
|
(Semiring k, Rng k) => Coalgebra k DualBasis' | |
(Semiring r, TriviallyInvolutive r, Rng r) => Coalgebra r QuaternionBasis' | dual quaternion comultiplication
|
(Semiring k, Commutative k, Rng k) => Coalgebra k TrigBasis | |
(Semiring r, Additive b) => Coalgebra r (IntMap b) | the free commutative coalgebra over a set and Int
|
(Semiring r, Ord a) => Coalgebra r (Set a) | the free commutative band coalgebra
|
Semiring r => Coalgebra r (Seq a) | The tensor Hopf algebra
|
Semiring r => Coalgebra r [a] | The tensor Hopf algebra
|
(Commutative r, Monoidal r, Semiring r, PartialSemigroup a) => Coalgebra r (Morphism a) | |
(Eq a, Commutative r, Monoidal r, Semiring r) => Coalgebra r (Interval' a) | |
(Semiring r, Eigenmetric r m) => Coalgebra r (BasisCoblade m) | |
(Semiring r, Ord a, Additive b) => Coalgebra r (Map a b) | the free commutative coalgebra over a set and a given semigroup
|
(Semiring r, Coalgebra r a, Coalgebra r b) => Coalgebra r (a, b) | |
(Semiring r, HasTrie m, Algebra r m) => Coalgebra r (:->: m r) | |
(Semiring 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.
|
(Semiring r, Coalgebra r a, Coalgebra r b, Coalgebra r c) => Coalgebra r (a, b, c) | |
(Semiring r, Coalgebra r a, Coalgebra r b, Coalgebra r c, Coalgebra r d) => Coalgebra r (a, b, c, d) | |
(Semiring r, Coalgebra r a, Coalgebra r b, Coalgebra r c, Coalgebra r d, Coalgebra r e) => Coalgebra r (a, b, c, d, e) | |
unital algebras
class Algebra r a => UnitalAlgebra r a whereSource
An associative unital algebra over a semiring, built using a free module
Instances
(Algebra r (), Semiring r) => UnitalAlgebra r () | |
(Algebra k ComplexBasis, Rng k) => UnitalAlgebra k ComplexBasis | |
(Algebra r QuaternionBasis, TriviallyInvolutive r, Rng r) => UnitalAlgebra r QuaternionBasis | |
(Algebra k DualBasis, Rng k) => UnitalAlgebra k DualBasis | |
(Algebra k HyperBasis', Commutative k, Monoidal k, Semiring k) => UnitalAlgebra k HyperBasis' | |
(Algebra k HyperBasis, Semiring k) => UnitalAlgebra k HyperBasis | |
(Algebra k DualBasis', Semiring k) => UnitalAlgebra k DualBasis' | |
(Algebra r QuaternionBasis', TriviallyInvolutive r, Semiring r) => UnitalAlgebra r QuaternionBasis' | |
(Algebra k TrigBasis, Commutative k, Rng k) => UnitalAlgebra k TrigBasis | |
(Algebra r (Seq a), Monoidal r, Semiring r) => UnitalAlgebra r (Seq a) | |
(Algebra r [a], Monoidal r, Semiring r) => UnitalAlgebra r [a] | |
(Algebra r (Interval a), Commutative r, Monoidal r, Semiring r, LocallyFiniteOrder a) => UnitalAlgebra r (Interval a) | |
(Algebra r (a, b), UnitalAlgebra r a, UnitalAlgebra r b) => UnitalAlgebra r (a, b) | |
(Algebra r (a, b, c), UnitalAlgebra r a, UnitalAlgebra r b, UnitalAlgebra r c) => UnitalAlgebra r (a, b, c) | |
(Algebra r (a, b, c, d), UnitalAlgebra r a, UnitalAlgebra r b, UnitalAlgebra r c, UnitalAlgebra r d) => UnitalAlgebra r (a, b, c, d) | |
(Algebra r (a, b, c, d, e), UnitalAlgebra r a, UnitalAlgebra r b, UnitalAlgebra r c, UnitalAlgebra r d, UnitalAlgebra r e) => UnitalAlgebra r (a, b, c, d, e) | |
class Coalgebra r c => CounitalCoalgebra r c whereSource
Instances
(Coalgebra r (), Semiring r) => CounitalCoalgebra r () | |
(Coalgebra k ComplexBasis, Rng k) => CounitalCoalgebra k ComplexBasis | |
(Coalgebra r QuaternionBasis, TriviallyInvolutive r, Rng r) => CounitalCoalgebra r QuaternionBasis | |
(Coalgebra k DualBasis, Rng k) => CounitalCoalgebra k DualBasis | |
(Coalgebra k HyperBasis', Commutative k, Monoidal k, Semiring k) => CounitalCoalgebra k HyperBasis' | |
(Coalgebra k HyperBasis, Commutative k, Semiring k) => CounitalCoalgebra k HyperBasis | |
(Coalgebra k DualBasis', Rng k) => CounitalCoalgebra k DualBasis' | |
(Coalgebra r QuaternionBasis', TriviallyInvolutive r, Rng r) => CounitalCoalgebra r QuaternionBasis' | |
(Coalgebra k TrigBasis, Commutative k, Rng k) => CounitalCoalgebra k TrigBasis | |
(Coalgebra r (Seq a), Semiring r) => CounitalCoalgebra r (Seq a) | |
(Coalgebra r [a], Semiring r) => CounitalCoalgebra r [a] | |
(Coalgebra r (Morphism a), Commutative r, Monoidal r, Semiring r, PartialMonoid a) => CounitalCoalgebra r (Morphism a) | |
(Coalgebra r (Interval' a), Eq a, Bounded a, Commutative r, Monoidal r, Semiring r) => CounitalCoalgebra r (Interval' a) | |
(Coalgebra r (BasisCoblade m), Eigenmetric r m) => CounitalCoalgebra r (BasisCoblade m) | |
(Coalgebra r (a, b), CounitalCoalgebra r a, CounitalCoalgebra r b) => CounitalCoalgebra r (a, b) | |
(Coalgebra r (m -> r), Unital r, UnitalAlgebra r m) => CounitalCoalgebra r (m -> r) | |
(Coalgebra r (a, b, c), CounitalCoalgebra r a, CounitalCoalgebra r b, CounitalCoalgebra r c) => CounitalCoalgebra r (a, b, c) | |
(Coalgebra r (a, b, c, d), CounitalCoalgebra r a, CounitalCoalgebra r b, CounitalCoalgebra r c, CounitalCoalgebra r d) => CounitalCoalgebra r (a, b, c, d) | |
(Coalgebra r (a, b, c, d, e), CounitalCoalgebra r a, CounitalCoalgebra r b, CounitalCoalgebra r c, CounitalCoalgebra r d, CounitalCoalgebra r e) => CounitalCoalgebra r (a, b, c, d, e) | |
class (UnitalAlgebra r a, CounitalCoalgebra r a) => Bialgebra r a Source
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
(UnitalAlgebra r (), CounitalCoalgebra r (), Semiring r) => Bialgebra r () | |
(UnitalAlgebra k ComplexBasis, CounitalCoalgebra k ComplexBasis, Rng k) => Bialgebra k ComplexBasis | |
(UnitalAlgebra r QuaternionBasis, CounitalCoalgebra r QuaternionBasis, TriviallyInvolutive r, Rng r) => Bialgebra r QuaternionBasis | |
(UnitalAlgebra k DualBasis, CounitalCoalgebra k DualBasis, Rng k) => Bialgebra k DualBasis | |
(UnitalAlgebra k HyperBasis', CounitalCoalgebra k HyperBasis', Commutative k, Monoidal k, Semiring k) => Bialgebra k HyperBasis' | |
(UnitalAlgebra k HyperBasis, CounitalCoalgebra k HyperBasis, Commutative k, Semiring k) => Bialgebra k HyperBasis | |
(UnitalAlgebra k DualBasis', CounitalCoalgebra k DualBasis', Rng k) => Bialgebra k DualBasis' | |
(UnitalAlgebra r QuaternionBasis', CounitalCoalgebra r QuaternionBasis', TriviallyInvolutive r, Rng r) => Bialgebra r QuaternionBasis' | |
(UnitalAlgebra k TrigBasis, CounitalCoalgebra k TrigBasis, Commutative k, Rng k) => Bialgebra k TrigBasis | |
(UnitalAlgebra r (Seq a), CounitalCoalgebra r (Seq a), Monoidal r, Semiring r) => Bialgebra r (Seq a) | |
(UnitalAlgebra r [a], CounitalCoalgebra r [a], Monoidal r, Semiring r) => Bialgebra r [a] | |
(UnitalAlgebra r (a, b), CounitalCoalgebra r (a, b), Bialgebra r a, Bialgebra r b) => Bialgebra r (a, b) | |
(UnitalAlgebra r (a, b, c), CounitalCoalgebra r (a, b, c), Bialgebra r a, Bialgebra r b, Bialgebra r c) => Bialgebra r (a, b, c) | |
(UnitalAlgebra r (a, b, c, d), CounitalCoalgebra r (a, b, c, d), Bialgebra r a, Bialgebra r b, Bialgebra r c, Bialgebra r d) => Bialgebra r (a, b, c, d) | |
(UnitalAlgebra r (a, b, c, d, e), CounitalCoalgebra r (a, b, c, d, e), Bialgebra r a, Bialgebra r b, Bialgebra r c, Bialgebra r d, Bialgebra r e) => Bialgebra r (a, b, c, d, e) | |
involutive algebras
class (InvolutiveSemiring r, Algebra r a) => InvolutiveAlgebra r a whereSource
Instances
(Algebra r (), InvolutiveSemiring r) => InvolutiveAlgebra r () | |
(Algebra k ComplexBasis, InvolutiveSemiring k, Rng k) => InvolutiveAlgebra k ComplexBasis | |
(Algebra r QuaternionBasis, TriviallyInvolutive r, InvolutiveSemiring r, Rng r) => InvolutiveAlgebra r QuaternionBasis | |
(Algebra k DualBasis, InvolutiveSemiring k, Rng k) => InvolutiveAlgebra k DualBasis | |
(Algebra k HyperBasis', Commutative k, Group k, InvolutiveSemiring k) => InvolutiveAlgebra k HyperBasis' | |
(Algebra k HyperBasis, Commutative k, Group k, InvolutiveSemiring k) => InvolutiveAlgebra k HyperBasis | |
(Algebra k DualBasis', InvolutiveSemiring k, Rng k) => InvolutiveAlgebra k DualBasis' | |
(Algebra r QuaternionBasis', TriviallyInvolutive r, InvolutiveSemiring r, Rng r) => InvolutiveAlgebra r QuaternionBasis' | |
(Algebra k TrigBasis, Commutative k, Group k, InvolutiveSemiring k) => InvolutiveAlgebra k TrigBasis | |
(InvolutiveSemiring r, Algebra r (a, b), InvolutiveAlgebra r a, InvolutiveAlgebra r b) => InvolutiveAlgebra r (a, b) | |
(InvolutiveSemiring r, Algebra r (a, b, c), InvolutiveAlgebra r a, InvolutiveAlgebra r b, InvolutiveAlgebra r c) => InvolutiveAlgebra r (a, b, c) | |
(InvolutiveSemiring r, Algebra r (a, b, c, d), InvolutiveAlgebra r a, InvolutiveAlgebra r b, InvolutiveAlgebra r c, InvolutiveAlgebra r d) => InvolutiveAlgebra r (a, b, c, d) | |
(InvolutiveSemiring r, Algebra r (a, b, c, d, e), InvolutiveAlgebra r a, InvolutiveAlgebra r b, InvolutiveAlgebra r c, InvolutiveAlgebra r d, InvolutiveAlgebra r e) => InvolutiveAlgebra r (a, b, c, d, e) | |
class (InvolutiveSemiring r, Coalgebra r c) => InvolutiveCoalgebra r c whereSource
Instances
(Coalgebra r (), InvolutiveSemiring r) => InvolutiveCoalgebra r () | |
(Coalgebra k ComplexBasis, InvolutiveSemiring k, Rng k) => InvolutiveCoalgebra k ComplexBasis | |
(Coalgebra r QuaternionBasis, TriviallyInvolutive r, InvolutiveSemiring r, Rng r) => InvolutiveCoalgebra r QuaternionBasis | |
(Coalgebra k DualBasis, InvolutiveSemiring k, Rng k) => InvolutiveCoalgebra k DualBasis | |
(Coalgebra k HyperBasis', Commutative k, Group k, InvolutiveSemiring k) => InvolutiveCoalgebra k HyperBasis' | |
(Coalgebra k HyperBasis, Commutative k, Group k, InvolutiveSemiring k) => InvolutiveCoalgebra k HyperBasis | |
(Coalgebra k DualBasis', InvolutiveSemiring k, Rng k) => InvolutiveCoalgebra k DualBasis' | |
(Coalgebra r QuaternionBasis', TriviallyInvolutive r, InvolutiveSemiring r, Rng r) => InvolutiveCoalgebra r QuaternionBasis' | |
(Coalgebra k TrigBasis, Commutative k, Group k, InvolutiveSemiring k) => InvolutiveCoalgebra k TrigBasis | |
(InvolutiveSemiring r, Coalgebra r (a, b), InvolutiveCoalgebra r a, InvolutiveCoalgebra r b) => InvolutiveCoalgebra r (a, b) | |
(InvolutiveSemiring r, Coalgebra r (a, b, c), InvolutiveCoalgebra r a, InvolutiveCoalgebra r b, InvolutiveCoalgebra r c) => InvolutiveCoalgebra r (a, b, c) | |
(InvolutiveSemiring r, Coalgebra r (a, b, c, d), InvolutiveCoalgebra r a, InvolutiveCoalgebra r b, InvolutiveCoalgebra r c, InvolutiveCoalgebra r d) => InvolutiveCoalgebra r (a, b, c, d) | |
(InvolutiveSemiring r, Coalgebra r (a, b, c, d, e), InvolutiveCoalgebra r a, InvolutiveCoalgebra r b, InvolutiveCoalgebra r c, InvolutiveCoalgebra r d, InvolutiveCoalgebra r e) => InvolutiveCoalgebra r (a, b, c, d, e) | |
class (CommutativeAlgebra r a, TriviallyInvolutive r, InvolutiveAlgebra r a) => TriviallyInvolutiveAlgebra r a Source
Instances
(CommutativeAlgebra r (), InvolutiveAlgebra r (), TriviallyInvolutive r, InvolutiveSemiring r) => TriviallyInvolutiveAlgebra r () | |
(CommutativeAlgebra r (a, b), TriviallyInvolutive r, InvolutiveAlgebra r (a, b), TriviallyInvolutiveAlgebra r a, TriviallyInvolutiveAlgebra r b) => TriviallyInvolutiveAlgebra r (a, b) | |
(CommutativeAlgebra r (a, b, c), TriviallyInvolutive r, InvolutiveAlgebra r (a, b, c), TriviallyInvolutiveAlgebra r a, TriviallyInvolutiveAlgebra r b, TriviallyInvolutiveAlgebra r c) => TriviallyInvolutiveAlgebra r (a, b, c) | |
(CommutativeAlgebra r (a, b, c, d), TriviallyInvolutive r, InvolutiveAlgebra r (a, b, c, d), TriviallyInvolutiveAlgebra r a, TriviallyInvolutiveAlgebra r b, TriviallyInvolutiveAlgebra r c, TriviallyInvolutiveAlgebra r d) => TriviallyInvolutiveAlgebra r (a, b, c, d) | |
(CommutativeAlgebra r (a, b, c, d, e), TriviallyInvolutive r, InvolutiveAlgebra r (a, b, c, d, e), TriviallyInvolutiveAlgebra r a, TriviallyInvolutiveAlgebra r b, TriviallyInvolutiveAlgebra r c, TriviallyInvolutiveAlgebra r d, TriviallyInvolutiveAlgebra r e) => TriviallyInvolutiveAlgebra r (a, b, c, d, e) | |
class (CocommutativeCoalgebra r a, TriviallyInvolutive r, InvolutiveCoalgebra r a) => TriviallyInvolutiveCoalgebra r a Source
Instances
(CocommutativeCoalgebra r (), InvolutiveCoalgebra r (), TriviallyInvolutive r, InvolutiveSemiring r) => TriviallyInvolutiveCoalgebra r () | |
(CocommutativeCoalgebra r (a, b), TriviallyInvolutive r, InvolutiveCoalgebra r (a, b), TriviallyInvolutiveCoalgebra r a, TriviallyInvolutiveCoalgebra r b) => TriviallyInvolutiveCoalgebra r (a, b) | |
(CocommutativeCoalgebra r (a, b, c), TriviallyInvolutive r, InvolutiveCoalgebra r (a, b, c), TriviallyInvolutiveCoalgebra r a, TriviallyInvolutiveCoalgebra r b, TriviallyInvolutiveCoalgebra r c) => TriviallyInvolutiveCoalgebra r (a, b, c) | |
(CocommutativeCoalgebra r (a, b, c, d), TriviallyInvolutive r, InvolutiveCoalgebra r (a, b, c, d), TriviallyInvolutiveCoalgebra r a, TriviallyInvolutiveCoalgebra r b, TriviallyInvolutiveCoalgebra r c, TriviallyInvolutiveCoalgebra r d) => TriviallyInvolutiveCoalgebra r (a, b, c, d) | |
(CocommutativeCoalgebra r (a, b, c, d, e), TriviallyInvolutive r, InvolutiveCoalgebra r (a, b, c, d, e), TriviallyInvolutiveCoalgebra r a, TriviallyInvolutiveCoalgebra r b, TriviallyInvolutiveCoalgebra r c, TriviallyInvolutiveCoalgebra r d, TriviallyInvolutiveCoalgebra r e) => TriviallyInvolutiveCoalgebra r (a, b, c, d, e) | |
idempotent algebras
class Algebra r a => IdempotentAlgebra r a Source
Instances
(Algebra r (), Semiring r, Band r) => IdempotentAlgebra r () | |
(Algebra r IntSet, Semiring r, Band r) => IdempotentAlgebra r IntSet | |
(Algebra r (Set a), Semiring r, Band r, Ord a) => IdempotentAlgebra r (Set a) | |
(Algebra r (a, b), IdempotentAlgebra r a, IdempotentAlgebra r b) => IdempotentAlgebra r (a, b) | |
(Algebra r (a, b, c), IdempotentAlgebra r a, IdempotentAlgebra r b, IdempotentAlgebra r c) => IdempotentAlgebra r (a, b, c) | |
(Algebra r (a, b, c, d), IdempotentAlgebra r a, IdempotentAlgebra r b, IdempotentAlgebra r c, IdempotentAlgebra r d) => IdempotentAlgebra r (a, b, c, d) | |
(Algebra r (a, b, c, d, e), IdempotentAlgebra r a, IdempotentAlgebra r b, IdempotentAlgebra r c, IdempotentAlgebra r d, IdempotentAlgebra r e) => IdempotentAlgebra r (a, b, c, d, e) | |
commutative algebras
class Algebra r a => CommutativeAlgebra r a Source
Instances
(Algebra r IntSet, Commutative r, Semiring r) => CommutativeAlgebra r IntSet | |
(Algebra r (), Commutative r, Semiring r) => CommutativeAlgebra r () | |
(Algebra r (IntMap b), Commutative r, Monoidal r, Semiring r, Abelian b, Partitionable b) => CommutativeAlgebra r (IntMap b) | |
(Algebra r (Set a), Commutative r, Semiring r, Ord a) => CommutativeAlgebra r (Set a) | |
(Algebra r (Map a b), Commutative r, Monoidal r, Semiring r, Ord a, Abelian b, Partitionable b) => CommutativeAlgebra r (Map a b) | |
(Algebra r (a, b), CommutativeAlgebra r a, CommutativeAlgebra r b) => CommutativeAlgebra r (a, b) | |
(Algebra r (a, b, c), CommutativeAlgebra r a, CommutativeAlgebra r b, CommutativeAlgebra r c) => CommutativeAlgebra r (a, b, c) | |
(Algebra r (a, b, c, d), CommutativeAlgebra r a, CommutativeAlgebra r b, CommutativeAlgebra r c, CommutativeAlgebra r d) => CommutativeAlgebra r (a, b, c, d) | |
(Algebra r (a, b, c, d, e), CommutativeAlgebra r a, CommutativeAlgebra r b, CommutativeAlgebra r c, CommutativeAlgebra r d, CommutativeAlgebra r e) => CommutativeAlgebra r (a, b, c, d, e) | |
class Coalgebra r c => CocommutativeCoalgebra r c Source
Instances
(Coalgebra r IntSet, Commutative r, Semiring r) => CocommutativeCoalgebra r IntSet | |
(Coalgebra r (), Commutative r, Semiring r) => CocommutativeCoalgebra r () | |
(Coalgebra r (IntMap b), Commutative r, Semiring r, Abelian b) => CocommutativeCoalgebra r (IntMap b) | |
(Coalgebra r (Set a), Commutative r, Semiring r, Ord a) => CocommutativeCoalgebra r (Set a) | |
(Coalgebra r (Map a b), Commutative r, Semiring r, Ord a, Abelian b) => CocommutativeCoalgebra r (Map a b) | |
(Coalgebra r (a, b), CocommutativeCoalgebra r a, CocommutativeCoalgebra r b) => CocommutativeCoalgebra r (a, b) | |
(Coalgebra r (:->: m r), HasTrie m, CommutativeAlgebra r m) => CocommutativeCoalgebra r (:->: m r) | |
(Coalgebra r (m -> r), CommutativeAlgebra r m) => CocommutativeCoalgebra r (m -> r) | |
(Coalgebra r (a, b, c), CocommutativeCoalgebra r a, CocommutativeCoalgebra r b, CocommutativeCoalgebra r c) => CocommutativeCoalgebra r (a, b, c) | |
(Coalgebra r (a, b, c, d), CocommutativeCoalgebra r a, CocommutativeCoalgebra r b, CocommutativeCoalgebra r c, CocommutativeCoalgebra r d) => CocommutativeCoalgebra r (a, b, c, d) | |
(Coalgebra r (a, b, c, d, e), CocommutativeCoalgebra r a, CocommutativeCoalgebra r b, CocommutativeCoalgebra r c, CocommutativeCoalgebra r d, CocommutativeCoalgebra r e) => CocommutativeCoalgebra r (a, b, c, d, e) | |
division algebras
Hopf alegebras
class Bialgebra r h => HopfAlgebra r h whereSource
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
Instances
(Bialgebra k ComplexBasis, InvolutiveSemiring k, Rng k) => HopfAlgebra k ComplexBasis | |
(Bialgebra r QuaternionBasis, TriviallyInvolutive r, InvolutiveSemiring r, Rng r) => HopfAlgebra r QuaternionBasis | |
(Bialgebra k DualBasis, InvolutiveSemiring k, Rng k) => HopfAlgebra k DualBasis | |
(Bialgebra k HyperBasis', Commutative k, Group k, InvolutiveSemiring k) => HopfAlgebra k HyperBasis' | |
(Bialgebra k HyperBasis, Commutative k, Group k, InvolutiveSemiring k) => HopfAlgebra k HyperBasis | |
(Bialgebra k DualBasis', InvolutiveSemiring k, Rng k) => HopfAlgebra k DualBasis' | |
(Bialgebra r QuaternionBasis', TriviallyInvolutive r, InvolutiveSemiring r, Rng r) => HopfAlgebra r QuaternionBasis' | |
(Bialgebra k TrigBasis, Commutative k, Group k, InvolutiveSemiring k) => HopfAlgebra k TrigBasis | |
(Bialgebra r (a, b), HopfAlgebra r a, HopfAlgebra r b) => HopfAlgebra r (a, b) | |
(Bialgebra r (a, b, c), HopfAlgebra r a, HopfAlgebra r b, HopfAlgebra r c) => HopfAlgebra r (a, b, c) | |
(Bialgebra r (a, b, c, d), HopfAlgebra r a, HopfAlgebra r b, HopfAlgebra r c, HopfAlgebra r d) => HopfAlgebra r (a, b, c, d) | |
(Bialgebra r (a, b, c, d, e), HopfAlgebra r a, HopfAlgebra r b, HopfAlgebra r c, HopfAlgebra r d, HopfAlgebra r e) => HopfAlgebra r (a, b, c, d, e) | |
Ring Properties
Characteristic
class Rig r => Characteristic r whereSource
Instances
Characteristic Bool | NB: we're using the boolean semiring, not the boolean ring
|
Characteristic Int | |
Characteristic Int8 | |
Characteristic Int16 | |
Characteristic Int32 | |
Characteristic Int64 | |
Characteristic Integer | |
Characteristic Word | |
Characteristic Word8 | |
Characteristic Word16 | |
Characteristic Word32 | |
Characteristic Word64 | |
Characteristic () | |
Characteristic Natural | |
(Rig (a, b), Characteristic a, Characteristic b) => Characteristic (a, b) | |
(Rig (a, b, c), Characteristic a, Characteristic b, Characteristic c) => Characteristic (a, b, c) | |
(Rig (a, b, c, d), Characteristic a, Characteristic b, Characteristic c, Characteristic d) => Characteristic (a, b, c, d) | |
(Rig (a, b, c, d, e), Characteristic a, Characteristic b, Characteristic c, Characteristic d, Characteristic e) => Characteristic (a, b, c, d, e) | |
Order
class Order a whereSource
Instances
Order Bool | |
Order Int | |
Order Int8 | |
Order Int16 | |
Order Int32 | |
Order Int64 | |
Order Integer | |
Order Word | |
Order Word8 | |
Order Word16 | |
Order Word32 | |
Order Word64 | |
Order () | |
Order Natural | |
Ord a => Order (Set a) | |
(Order a, Order b) => Order (a, b) | |
(Order a, Order b, Order c) => Order (a, b, c) | |
(Order a, Order b, Order c, Order d) => Order (a, b, c, d) | |
(Order a, Order b, Order c, Order d, Order e) => Order (a, b, c, d, e) | |
class (AdditiveOrder r, Rig r) => OrderedRig r Source
Instances
OrderedRig Bool | |
OrderedRig Integer | |
OrderedRig () | |
OrderedRig Natural | |
(AdditiveOrder (a, b), Rig (a, b), OrderedRig a, OrderedRig b) => OrderedRig (a, b) | |
(AdditiveOrder (a, b, c), Rig (a, b, c), OrderedRig a, OrderedRig b, OrderedRig c) => OrderedRig (a, b, c) | |
(AdditiveOrder (a, b, c, d), Rig (a, b, c, d), OrderedRig a, OrderedRig b, OrderedRig c, OrderedRig d) => OrderedRig (a, b, c, d) | |
(AdditiveOrder (a, b, c, d, e), Rig (a, b, c, d, e), OrderedRig a, OrderedRig b, OrderedRig c, OrderedRig d, OrderedRig e) => OrderedRig (a, b, c, d, e) | |
class (Additive r, Order r) => AdditiveOrder r Source
z + x <= z + y = x <= y = x + z <= y + z
Instances
AdditiveOrder Bool | |
AdditiveOrder Integer | |
AdditiveOrder () | |
AdditiveOrder Natural | |
(Additive (a, b), Order (a, b), AdditiveOrder a, AdditiveOrder b) => AdditiveOrder (a, b) | |
(Additive (a, b, c), Order (a, b, c), AdditiveOrder a, AdditiveOrder b, AdditiveOrder c) => AdditiveOrder (a, b, c) | |
(Additive (a, b, c, d), Order (a, b, c, d), AdditiveOrder a, AdditiveOrder b, AdditiveOrder c, AdditiveOrder d) => AdditiveOrder (a, b, c, d) | |
(Additive (a, b, c, d, e), Order (a, b, c, d, e), AdditiveOrder a, AdditiveOrder b, AdditiveOrder c, AdditiveOrder d, AdditiveOrder e) => AdditiveOrder (a, b, c, d, e) | |
class Order a => LocallyFiniteOrder a Source
Instances
LocallyFiniteOrder Bool | |
LocallyFiniteOrder Int | |
LocallyFiniteOrder Int8 | |
LocallyFiniteOrder Int16 | |
LocallyFiniteOrder Int32 | |
LocallyFiniteOrder Int64 | |
LocallyFiniteOrder Integer | |
LocallyFiniteOrder Word | |
LocallyFiniteOrder Word8 | |
LocallyFiniteOrder Word16 | |
LocallyFiniteOrder Word32 | |
LocallyFiniteOrder Word64 | |
LocallyFiniteOrder () | |
LocallyFiniteOrder Natural | |
(Order (Set a), Ord a) => LocallyFiniteOrder (Set a) | |
(Order (a, b), LocallyFiniteOrder a, LocallyFiniteOrder b) => LocallyFiniteOrder (a, b) | |
(Order (a, b, c), LocallyFiniteOrder a, LocallyFiniteOrder b, LocallyFiniteOrder c) => LocallyFiniteOrder (a, b, c) | |
(Order (a, b, c, d), LocallyFiniteOrder a, LocallyFiniteOrder b, LocallyFiniteOrder c, LocallyFiniteOrder d) => LocallyFiniteOrder (a, b, c, d) | |
(Order (a, b, c, d, e), LocallyFiniteOrder a, LocallyFiniteOrder b, LocallyFiniteOrder c, LocallyFiniteOrder d, LocallyFiniteOrder e) => LocallyFiniteOrder (a, b, c, d, e) | |
class Monoidal r => DecidableZero r Source
Instances
DecidableZero Bool | |
DecidableZero Int | |
DecidableZero Int8 | |
DecidableZero Int16 | |
DecidableZero Int32 | |
DecidableZero Int64 | |
DecidableZero Integer | |
DecidableZero Word | |
DecidableZero Word8 | |
DecidableZero Word16 | |
DecidableZero Word32 | |
DecidableZero Word64 | |
DecidableZero () | |
DecidableZero Natural | |
Monoidal (BasisCoblade m) => DecidableZero (BasisCoblade m) | |
(Monoidal (Opposite r), DecidableZero r) => DecidableZero (Opposite r) | |
(Monoidal (a, b), DecidableZero a, DecidableZero b) => DecidableZero (a, b) | |
(Monoidal (a, b, c), DecidableZero a, DecidableZero b, DecidableZero c) => DecidableZero (a, b, c) | |
(Monoidal (a, b, c, d), DecidableZero a, DecidableZero b, DecidableZero c, DecidableZero d) => DecidableZero (a, b, c, d) | |
(Monoidal (a, b, c, d, e), DecidableZero a, DecidableZero b, DecidableZero c, DecidableZero d, DecidableZero e) => DecidableZero (a, b, c, d, e) | |
class Unital r => DecidableUnits r Source
Instances
DecidableUnits Bool | |
DecidableUnits Int | |
DecidableUnits Int8 | |
DecidableUnits Int16 | |
DecidableUnits Int32 | |
DecidableUnits Int64 | |
DecidableUnits Integer | |
DecidableUnits Word | |
DecidableUnits Word8 | |
DecidableUnits Word16 | |
DecidableUnits Word32 | |
DecidableUnits Word64 | |
DecidableUnits () | |
DecidableUnits Natural | |
Unital (BasisCoblade m) => DecidableUnits (BasisCoblade m) | |
(Unital (Opposite r), DecidableUnits r) => DecidableUnits (Opposite r) | |
(Unital (a, b), DecidableUnits a, DecidableUnits b) => DecidableUnits (a, b) | |
(Unital (a, b, c), DecidableUnits a, DecidableUnits b, DecidableUnits c) => DecidableUnits (a, b, c) | |
(Unital (a, b, c, d), DecidableUnits a, DecidableUnits b, DecidableUnits c, DecidableUnits d) => DecidableUnits (a, b, c, d) | |
(Unital (a, b, c, d, e), DecidableUnits a, DecidableUnits b, DecidableUnits c, DecidableUnits d, DecidableUnits e) => DecidableUnits (a, b, c, d, e) | |
class Unital r => DecidableAssociates r Source
Instances
DecidableAssociates Bool | |
DecidableAssociates Int | |
DecidableAssociates Int8 | |
DecidableAssociates Int16 | |
DecidableAssociates Int32 | |
DecidableAssociates Int64 | |
DecidableAssociates Integer | |
DecidableAssociates Word | |
DecidableAssociates Word8 | |
DecidableAssociates Word16 | |
DecidableAssociates Word32 | |
DecidableAssociates Word64 | |
DecidableAssociates () | |
DecidableAssociates Natural | |
Unital (BasisCoblade m) => DecidableAssociates (BasisCoblade m) | |
(Unital (Opposite r), DecidableAssociates r) => DecidableAssociates (Opposite r) | |
(Unital (a, b), DecidableAssociates a, DecidableAssociates b) => DecidableAssociates (a, b) | |
(Unital (a, b, c), DecidableAssociates a, DecidableAssociates b, DecidableAssociates c) => DecidableAssociates (a, b, c) | |
(Unital (a, b, c, d), DecidableAssociates a, DecidableAssociates b, DecidableAssociates c, DecidableAssociates d) => DecidableAssociates (a, b, c, d) | |
(Unital (a, b, c, d, e), DecidableAssociates a, DecidableAssociates b, DecidableAssociates c, DecidableAssociates d, DecidableAssociates e) => DecidableAssociates (a, b, c, d, e) | |
Natural numbers
data Natural
Instances
Enum Natural | |
Eq Natural | |
Integral Natural | |
Num Natural | |
Ord Natural | |
Read Natural | |
Real Natural | |
Show Natural | |
Ix Natural | |
Typeable Natural | |
Bits Natural | |
Whole Natural | |
PartialSemigroup Natural | |
PartialMonoid Natural | |
PartialGroup Natural | |
Order Natural | |
Abelian Natural | |
Partitionable Natural | |
Additive Natural | |
Monoidal Natural | |
Semiring Natural | |
Multiplicative Natural | |
Unital Natural | |
DecidableAssociates Natural | |
DecidableUnits Natural | |
DecidableZero Natural | |
Rig Natural | |
Characteristic Natural | |
IntegralSemiring Natural | |
Commutative Natural | |
TriviallyInvolutive Natural | |
InvolutiveSemiring Natural | |
InvolutiveMultiplication Natural | |
AdditiveOrder Natural | |
OrderedRig Natural | |
LocallyFiniteOrder Natural | |
RightModule Natural Bool | |
RightModule Natural Int | |
RightModule Natural Int8 | |
RightModule Natural Int16 | |
RightModule Natural Int32 | |
RightModule Natural Int64 | |
RightModule Natural Integer | |
RightModule Natural Word | |
RightModule Natural Word8 | |
RightModule Natural Word16 | |
RightModule Natural Word32 | |
RightModule Natural Word64 | |
RightModule Natural Natural | |
RightModule Natural Euclidean | |
LeftModule Natural Bool | |
LeftModule Natural Int | |
LeftModule Natural Int8 | |
LeftModule Natural Int16 | |
LeftModule Natural Int32 | |
LeftModule Natural Int64 | |
LeftModule Natural Integer | |
LeftModule Natural Word | |
LeftModule Natural Word8 | |
LeftModule Natural Word16 | |
LeftModule Natural Word32 | |
LeftModule Natural Word64 | |
LeftModule Natural Natural | |
LeftModule Natural Euclidean | |
(Additive r, Rig r) => Quadrance r Natural | |
(Semiring Natural, Additive (BasisCoblade m)) => RightModule Natural (BasisCoblade m) | |
(Semiring Natural, Additive (Log r), Unital r) => RightModule Natural (Log r) | |
(Semiring Natural, Additive (RngRing r), Abelian r, Monoidal r) => RightModule Natural (RngRing r) | |
(Semiring Natural, Additive (ZeroRng r), Monoidal r) => RightModule Natural (ZeroRng r) | |
(Semiring Natural, Additive (BasisCoblade m)) => LeftModule Natural (BasisCoblade m) | |
(Semiring Natural, Additive (Log r), Unital r) => LeftModule Natural (Log r) | |
(Semiring Natural, Additive (RngRing r), Abelian r, Monoidal r) => LeftModule Natural (RngRing r) | |
(Semiring Natural, Additive (ZeroRng r), Monoidal r) => LeftModule Natural (ZeroRng r) | |
class Integral n => Whole n where
A refinement of Integral
to represent types that do not contain negative numbers.
Representable Additive
Representable Monoidal
Representable Group
Representable Multiplicative (via Algebra)
Representable Unital (via UnitalAlgebra)
Representable Rig (via Algebra)
Representable Ring (via Algebra)
Norm
class Additive r => Quadrance r m whereSource
Instances
Additive () => Quadrance () a | |
(Additive r, Rig r) => Quadrance r Word64 | |
(Additive r, Rig r) => Quadrance r Word32 | |
(Additive r, Rig r) => Quadrance r Word16 | |
(Additive r, Rig r) => Quadrance r Word8 | |
(Additive r, Rig r) => Quadrance r Int64 | |
(Additive r, Rig r) => Quadrance r Int32 | |
(Additive r, Rig r) => Quadrance r Int16 | |
(Additive r, Rig r) => Quadrance r Int8 | |
(Additive r, Rig r) => Quadrance r Integer | |
(Additive r, Rig r) => Quadrance r Natural | |
(Additive r, Rig r) => Quadrance r Word | |
(Additive r, Rig r) => Quadrance r Int | |
(Additive r, Rig r) => Quadrance r Bool | |
(Additive r, Monoidal r) => Quadrance r () | |
(Additive r, Commutative r, Rng r, InvolutiveSemiring r) => Quadrance r (Complex r) | |
(Additive r, TriviallyInvolutive r, Rng r) => Quadrance r (Quaternion r) | |
(Additive r, Commutative r, Rng r, InvolutiveSemiring r) => Quadrance r (Dual r) | |
(Additive r, Commutative r, InvolutiveSemiring r, Rng r) => Quadrance r (Hyper' r) | |
(Additive r, Commutative r, Rng r, InvolutiveSemiring r) => Quadrance r (Dual' r) | |
(Additive r, TriviallyInvolutive r, Rng r) => Quadrance r (Quaternion' r) | |
(Additive r, Quadrance r a, Quadrance r b) => Quadrance r (a, b) | |
(Additive r, Quadrance r a, Quadrance r b, Quadrance r c) => Quadrance r (a, b, c) | |
(Additive r, Quadrance r a, Quadrance r b, Quadrance r c, Quadrance r d) => Quadrance r (a, b, c, d) | |
(Additive r, Quadrance r a, Quadrance r b, Quadrance r c, Quadrance r d, Quadrance r e) => Quadrance r (a, b, c, d, e) | |
Covectors
newtype Covector r a Source
Linear functionals from elements of an (infinite) free module to a scalar
Instances
(Semiring r, Additive (Covector s m), RightModule r s) => RightModule r (Covector s m) | |
(Semiring r, Additive (Covector s m), LeftModule r s) => LeftModule r (Covector s m) | |
Monad (Covector r) | |
Functor (Covector r) | |
(Monad (Covector r), Monoidal r) => MonadPlus (Covector r) | |
Functor (Covector r) => Applicative (Covector r) | |
(Applicative (Covector r), Monoidal r) => Alternative (Covector r) | |
(Alt (Covector r), Monoidal r) => Plus (Covector r) | |
(Functor (Covector r), Additive r) => Alt (Covector r) | |
Functor (Covector r) => Apply (Covector r) | |
Apply (Covector r) => Bind (Covector r) | |
(Additive (Covector r a), Idempotent r) => Idempotent (Covector r a) | |
(Additive (Covector s a), Abelian s) => Abelian (Covector s a) | |
Additive r => Additive (Covector r a) | |
(LeftModule Natural (Covector s a), RightModule Natural (Covector s a), Monoidal s) => Monoidal (Covector s a) | |
(Additive (Covector r m), Abelian (Covector r m), Multiplicative (Covector r m), Coalgebra r m) => Semiring (Covector r m) | |
Coalgebra r m => Multiplicative (Covector r m) | |
(LeftModule Integer (Covector s a), RightModule Integer (Covector s a), Monoidal (Covector s a), Group s) => Group (Covector s a) | |
(Multiplicative (Covector r m), CounitalCoalgebra r m) => Unital (Covector r m) | |
(Multiplicative (Covector r a), Idempotent r, IdempotentCoalgebra r a) => Band (Covector r a) | |
(Semiring (Covector r m), Unital (Covector r m), Monoidal (Covector r m), Rig r, CounitalCoalgebra r m) => Rig (Covector r m) | |
(Rig (Covector r m), Rng (Covector r m), Ring r, CounitalCoalgebra r m) => Ring (Covector r m) | |
(Multiplicative (Covector r m), Commutative m, Coalgebra r m) => Commutative (Covector r m) | |
Distinguished a => Distinguished (Covector r a) | |
(Distinguished (Covector r a), Complicated a) => Complicated (Covector r a) | |
(Complicated (Covector r a), Hamiltonian a) => Hamiltonian (Covector r a) | |
(Distinguished (Covector r a), Infinitesimal a) => Infinitesimal (Covector r a) | |
Hyperbolic a => Hyperbolic (Covector r a) | |
Trigonometric a => Trigonometric (Covector r a) | |
(Semiring (Covector r m), Additive (Covector r m), Coalgebra r m) => RightModule (Covector r m) (Covector r m) | |
(Semiring (Covector r m), Additive (Covector r m), Coalgebra r m) => LeftModule (Covector r m) (Covector r m) | |
Covectors as linear functionals