noether-0.0.1: Math in Haskell.

Safe HaskellNone
LanguageHaskell2010

Noether.Algebra.Single.Magma

Documentation

class MagmaK op a s where Source #

Minimal complete definition

binaryOpK

Methods

binaryOpK :: Proxy op -> Proxy s -> a -> a -> a Source #

Instances

MagmaK BinaryBoolean And Bool MagmaPrim Source # 
MagmaK BinaryBoolean Or Bool MagmaPrim Source # 
Num a => MagmaK BinaryNumeric Add a MagmaNum Source # 
Num a => MagmaK BinaryNumeric Mul a MagmaNum Source # 
MagmaK k op a s => MagmaK k op a (MagmaNamed sym s) Source # 

Methods

binaryOpK :: Proxy op a -> Proxy MagmaE s -> MagmaNamed sym s -> MagmaNamed sym s -> MagmaNamed sym s Source #

MagmaK k op a s => MagmaK k op (i -> a) (MagmaTagged FunctionLift s) Source # 
(Unbox v, MagmaK k op v s) => MagmaK k op (UVector n v) (MagmaTagged UVectorLift s) Source #

Lifting addition and multiplication coordinatewise (Hadamard?)

MagmaK k1 op v s => MagmaK k1 op (BVector k n v) (MagmaTagged BVectorLift s) Source #

Lifting addition and multiplication coordinatewise (Hadamard?)

type Magma op a = MagmaK op a (MagmaS op a) Source #

type family MagmaS (op :: k) (a :: Type) = (r :: MagmaE) Source #

Instances

type MagmaS BinaryBoolean _ Bool Source # 
type MagmaS BinaryNumeric _ Rational Source # 
type MagmaS BinaryNumeric _ Rational Source # 
type MagmaS BinaryNumeric _ Double Source # 
type MagmaS BinaryNumeric _ Float Source # 
type MagmaS BinaryNumeric _ Integer Source # 
type MagmaS BinaryNumeric _ Int Source # 
type MagmaS BinaryNumeric op (Complex a) Source # 
type MagmaS BinaryNumeric _ (Ratio Int64) Source # 
type MagmaS BinaryNumeric _ (Ratio Int64) Source # 
type MagmaS BinaryNumeric _ (Ratio Int32) Source # 
type MagmaS BinaryNumeric _ (Ratio Int32) Source # 
type MagmaS BinaryNumeric _ (Ratio Int16) Source # 
type MagmaS BinaryNumeric _ (Ratio Int16) Source # 
type MagmaS BinaryNumeric _ (Ratio Int8) Source # 
type MagmaS BinaryNumeric _ (Ratio Int8) Source # 
type MagmaS BinaryNumeric _ (Ratio Int8) Source # 
type MagmaS BinaryNumeric _ (Ratio Int8) Source # 
type MagmaS BinaryNumeric op (UVector n a) Source # 
type MagmaS BinaryNumeric op (BVector k n a) Source #