Numeric.Algebra: exported symbols usage examples

Symbols

  • Natural No usage example found for this symbol :( Collapse [-]
    sinnum1pIdempotent No usage example found for this symbol :( Collapse [-]
    sum1 No usage example found for this symbol :( Collapse [-]
    Abelian No usage example found for this symbol :( Collapse [-]
    Additive No usage example found for this symbol :( Collapse [-]
    Idempotent No usage example found for this symbol :( Collapse [-]
    Partitionable No usage example found for this symbol :( Collapse [-]
    product1 No usage example found for this symbol :( Collapse [-]
    sinnumIdempotent No usage example found for this symbol :( Collapse [-]
    sum See 1 Occurences [+] Collapse [-]
    Found in Numeric.Map from the package algebra
      , convolveMap
      ) where
    
    import Control.Applicative
    import Control.Arrow
    import Control.Category
    import Control.Monad
    import Control.Monad.Reader.Class
    import Data.Functor.Rep
    import Data.Functor.Bind
    import Data.Functor.Plus hiding (zero)
    import qualified Data.Functor.Plus as Plus
    import Data.Semigroupoid
    import Numeric.Algebra
    import Prelude hiding ((*), (+), negate, subtract,(-), recip, (/), foldr, sum, product, replicate, concat, (.), id, fst, snd)
    
    -- | linear maps from elements of a free module to another free module over r
    --
    -- > f $# x + y = (f $# x) + (f $# y)
    -- > f $# (r .* x) = r .* (f $# x)
    

    Algebra No usage example found for this symbol :( Collapse [-]
    Coalgebra No usage example found for this symbol :( Collapse [-]
    LeftModule No usage example found for this symbol :( Collapse [-]
    Module No usage example found for this symbol :( Collapse [-]
    Monoidal No usage example found for this symbol :( Collapse [-]
    Multiplicative No usage example found for this symbol :( Collapse [-]
    RightModule No usage example found for this symbol :( Collapse [-]
    Semiring No usage example found for this symbol :( Collapse [-]
    Group No usage example found for this symbol :( Collapse [-]
    Factorable No usage example found for this symbol :( Collapse [-]
    product See 1 Occurences [+] Collapse [-]
    Found in Numeric.Map from the package algebra
      , convolveMap
      ) where
    
    import Control.Applicative
    import Control.Arrow
    import Control.Category
    import Control.Monad
    import Control.Monad.Reader.Class
    import Data.Functor.Rep
    import Data.Functor.Bind
    import Data.Functor.Plus hiding (zero)
    import qualified Data.Functor.Plus as Plus
    import Data.Semigroupoid
    import Numeric.Algebra
    import Prelude hiding ((*), (+), negate, subtract,(-), recip, (/), foldr, sum, product, replicate, concat, (.), id, fst, snd)
    
    -- | linear maps from elements of a free module to another free module over r
    --
    -- > f $# x + y = (f $# x) + (f $# y)
    -- > f $# (r .* x) = r .* (f $# x)
    

    Bialgebra No usage example found for this symbol :( Collapse [-]
    CounitalCoalgebra No usage example found for this symbol :( Collapse [-]
    Unital No usage example found for this symbol :( Collapse [-]
    UnitalAlgebra No usage example found for this symbol :( Collapse [-]
    pow1pBand No usage example found for this symbol :( Collapse [-]
    powBand No usage example found for this symbol :( Collapse [-]
    Band No usage example found for this symbol :( Collapse [-]
    IdempotentAlgebra No usage example found for this symbol :( Collapse [-]
    IdempotentBialgebra No usage example found for this symbol :( Collapse [-]
    HopfAlgebra No usage example found for this symbol :( Collapse [-]
    Division No usage example found for this symbol :( Collapse [-]
    DivisionAlgebra No usage example found for this symbol :( Collapse [-]
    CocommutativeCoalgebra No usage example found for this symbol :( Collapse [-]
    Commutative No usage example found for this symbol :( Collapse [-]
    CommutativeAlgebra No usage example found for this symbol :( Collapse [-]
    CommutativeBialgebra No usage example found for this symbol :( Collapse [-]
    InvolutiveAlgebra No usage example found for this symbol :( Collapse [-]
    InvolutiveBialgebra No usage example found for this symbol :( Collapse [-]
    InvolutiveCoalgebra No usage example found for this symbol :( Collapse [-]
    InvolutiveMultiplication No usage example found for this symbol :( Collapse [-]
    InvolutiveSemiring No usage example found for this symbol :( Collapse [-]
    TriviallyInvolutive No usage example found for this symbol :( Collapse [-]
    TriviallyInvolutiveAlgebra No usage example found for this symbol :( Collapse [-]
    TriviallyInvolutiveBialgebra No usage example found for this symbol :( Collapse [-]
    TriviallyInvolutiveCoalgebra No usage example found for this symbol :( Collapse [-]
    DecidableAssociates No usage example found for this symbol :( Collapse [-]
    DecidableUnits No usage example found for this symbol :( Collapse [-]
    DecidableZero No usage example found for this symbol :( Collapse [-]
    Dioid No usage example found for this symbol :( Collapse [-]
    Order No usage example found for this symbol :( Collapse [-]
    AdditiveOrder No usage example found for this symbol :( Collapse [-]
    Rig No usage example found for this symbol :( Collapse [-]
    charInt No usage example found for this symbol :( Collapse [-]
    charWord No usage example found for this symbol :( Collapse [-]
    Characteristic No usage example found for this symbol :( Collapse [-]
    Quadrance No usage example found for this symbol :( Collapse [-]
    OrderedRig No usage example found for this symbol :( Collapse [-]
    Rng No usage example found for this symbol :( Collapse [-]
    Ring No usage example found for this symbol :( Collapse [-]
    LocalRing No usage example found for this symbol :( Collapse [-]
    DivisionRing No usage example found for this symbol :( Collapse [-]
    LocallyFiniteOrder No usage example found for this symbol :( Collapse [-]
    addRep See 8 Occurences [+] Collapse [-]
    Found in Numeric.Algebra.Complex from the package algebra
    instance Foldable Complex where
      foldMap f (Complex a b) = f a `mappend` f b
    
    instance Traversable Complex where
      traverse f (Complex a b) = Complex <$> f a <*> f b
    
    instance Foldable1 Complex where
      foldMap1 f (Complex a b) = f a <> f b
    
    instance Traversable1 Complex where
      traverse1 f (Complex a b) = Complex <$> f a <.> f b
    
    instance Additive r => Additive (Complex r) where
      (+) = addRep 
      sinnum1p = sinnum1pRep
    
    instance LeftModule r s => LeftModule r (Complex s) where
      r .* Complex a b = Complex (r .* a) (r .* b)
    

    Found in Numeric.Algebra.Dual from the package algebra
    instance Foldable Dual where
      foldMap f (Dual a b) = f a `mappend` f b
    
    instance Traversable Dual where
      traverse f (Dual a b) = Dual <$> f a <*> f b
    
    instance Foldable1 Dual where
      foldMap1 f (Dual a b) = f a <> f b
    
    instance Traversable1 Dual where
      traverse1 f (Dual a b) = Dual <$> f a <.> f b
    
    instance Additive r => Additive (Dual r) where
      (+) = addRep 
      sinnum1p = sinnum1pRep
    
    instance LeftModule r s => LeftModule r (Dual s) where
      r .* Dual a b = Dual (r .* a) (r .* b)
    

    Found in Numeric.Algebra.Hyperbolic from the package algebra
    instance Foldable Hyper' where
      foldMap f (Hyper' a b) = f a `mappend` f b
    
    instance Traversable Hyper' where
      traverse f (Hyper' a b) = Hyper' <$> f a <*> f b
    
    instance Foldable1 Hyper' where
      foldMap1 f (Hyper' a b) = f a <> f b
    
    instance Traversable1 Hyper' where
      traverse1 f (Hyper' a b) = Hyper' <$> f a <.> f b
    
    instance Additive r => Additive (Hyper' r) where
      (+) = addRep 
      sinnum1p = sinnum1pRep
    
    instance LeftModule r s => LeftModule r (Hyper' s) where
      r .* Hyper' a b = Hyper' (r .* a) (r .* b)
    

    Found in Numeric.Algebra.Quaternion from the package algebra
    instance Traversable Quaternion where
      traverse f (Quaternion a b c d) = 
        Quaternion <$> f a <*> f b <*> f c <*> f d
    
    instance Foldable1 Quaternion where
      foldMap1 f (Quaternion a b c d) = 
        f a <> f b <> f c <> f d
    
    instance Traversable1 Quaternion where
      traverse1 f (Quaternion a b c d) = 
        Quaternion <$> f a <.> f b <.> f c <.> f d
    
    instance Additive r => Additive (Quaternion r) where
      (+) = addRep 
      sinnum1p = sinnum1pRep
    
    instance LeftModule r s => LeftModule r (Quaternion s) where
      r .* Quaternion a b c d =
        Quaternion (r .* a) (r .* b) (r .* c) (r .* d)
    

    Found in Numeric.Coalgebra.Dual from the package algebra
    instance Foldable Dual' where
      foldMap f (Dual' a b) = f a `mappend` f b
    
    instance Traversable Dual' where
      traverse f (Dual' a b) = Dual' <$> f a <*> f b
    
    instance Foldable1 Dual' where
      foldMap1 f (Dual' a b) = f a <> f b
    
    instance Traversable1 Dual' where
      traverse1 f (Dual' a b) = Dual' <$> f a <.> f b
    
    instance Additive r => Additive (Dual' r) where
      (+) = addRep 
      sinnum1p = sinnum1pRep
    
    instance LeftModule r s => LeftModule r (Dual' s) where
      r .* Dual' a b = Dual' (r .* a) (r .* b)
    

    Found in Numeric.Coalgebra.Hyperbolic from the package algebra
    instance Foldable Hyper where
      foldMap f (Hyper a b) = f a `mappend` f b
    
    instance Traversable Hyper where
      traverse f (Hyper a b) = Hyper <$> f a <*> f b
    
    instance Foldable1 Hyper where
      foldMap1 f (Hyper a b) = f a <> f b
    
    instance Traversable1 Hyper where
      traverse1 f (Hyper a b) = Hyper <$> f a <.> f b
    
    instance Additive r => Additive (Hyper r) where
      (+) = addRep 
      sinnum1p = sinnum1pRep
    
    instance LeftModule r s => LeftModule r (Hyper s) where
      r .* Hyper a b = Hyper (r .* a) (r .* b)
    

    Found in Numeric.Coalgebra.Quaternion from the package algebra
    instance Traversable Quaternion' where
      traverse f (Quaternion' a b c d) =
        Quaternion' <$> f a <*> f b <*> f c <*> f d
    
    instance Foldable1 Quaternion' where
      foldMap1 f (Quaternion' a b c d) =
        f a <> f b <> f c <> f d
    
    instance Traversable1 Quaternion' where
      traverse1 f (Quaternion' a b c d) =
        Quaternion' <$> f a <.> f b <.> f c <.> f d
    
    instance Additive r => Additive (Quaternion' r) where
      (+) = addRep
      sinnum1p = sinnum1pRep
    
    instance LeftModule r s => LeftModule r (Quaternion' s) where
      r .* Quaternion' a b c d =
        Quaternion' (r .* a) (r .* b) (r .* c) (r .* d)
    

    Found in Numeric.Coalgebra.Trigonometric from the package algebra
    instance Foldable Trig where
      foldMap f (Trig a b) = f a `mappend` f b
    
    instance Traversable Trig where
      traverse f (Trig a b) = Trig <$> f a <*> f b
    
    instance Foldable1 Trig where
      foldMap1 f (Trig a b) = f a <> f b
    
    instance Traversable1 Trig where
      traverse1 f (Trig a b) = Trig <$> f a <.> f b
    
    instance Additive r => Additive (Trig r) where
      (+) = addRep 
      sinnum1p = sinnum1pRep
    
    instance LeftModule r s => LeftModule r (Trig s) where
      r .* Trig a b = Trig (r .* a) (r .* b)
    

    fromIntegerRep No usage example found for this symbol :( Collapse [-]
    fromNaturalRep No usage example found for this symbol :( Collapse [-]
    minusRep See 8 Occurences [+] Collapse [-]
    Found in Numeric.Algebra.Complex from the package algebra
      (+) = addRep 
      sinnum1p = sinnum1pRep
    
    instance LeftModule r s => LeftModule r (Complex s) where
      r .* Complex a b = Complex (r .* a) (r .* b)
    
    instance RightModule r s => RightModule r (Complex s) where
      Complex a b *. r = Complex (a *. r) (b *. r)
    
    instance Monoidal r => Monoidal (Complex r) where
      zero = zeroRep
      sinnum = sinnumRep
    
    instance Group r => Group (Complex r) where
      (-) = minusRep
      negate = negateRep
      subtract = subtractRep
      times = timesRep
    
    instance Abelian r => Abelian (Complex r)
    

    Found in Numeric.Algebra.Dual from the package algebra
      (+) = addRep 
      sinnum1p = sinnum1pRep
    
    instance LeftModule r s => LeftModule r (Dual s) where
      r .* Dual a b = Dual (r .* a) (r .* b)
    
    instance RightModule r s => RightModule r (Dual s) where
      Dual a b *. r = Dual (a *. r) (b *. r)
    
    instance Monoidal r => Monoidal (Dual r) where
      zero = zeroRep
      sinnum = sinnumRep
    
    instance Group r => Group (Dual r) where
      (-) = minusRep
      negate = negateRep
      subtract = subtractRep
      times = timesRep
    
    instance Abelian r => Abelian (Dual r)
    

    Found in Numeric.Algebra.Hyperbolic from the package algebra
      (+) = addRep 
      sinnum1p = sinnum1pRep
    
    instance LeftModule r s => LeftModule r (Hyper' s) where
      r .* Hyper' a b = Hyper' (r .* a) (r .* b)
    
    instance RightModule r s => RightModule r (Hyper' s) where
      Hyper' a b *. r = Hyper' (a *. r) (b *. r)
    
    instance Monoidal r => Monoidal (Hyper' r) where
      zero = zeroRep
      sinnum = sinnumRep
    
    instance Group r => Group (Hyper' r) where
      (-) = minusRep
      negate = negateRep
      subtract = subtractRep
      times = timesRep
    
    instance Abelian r => Abelian (Hyper' r)
    

    Found in Numeric.Algebra.Quaternion from the package algebra
    instance LeftModule r s => LeftModule r (Quaternion s) where
      r .* Quaternion a b c d =
        Quaternion (r .* a) (r .* b) (r .* c) (r .* d)
    
    instance RightModule r s => RightModule r (Quaternion s) where
      Quaternion a b c d *. r =
        Quaternion (a *. r) (b *. r) (c *. r) (d *. r)
    
    instance Monoidal r => Monoidal (Quaternion r) where
      zero = zeroRep
      sinnum = sinnumRep
    
    instance Group r => Group (Quaternion r) where
      (-) = minusRep
      negate = negateRep
      subtract = subtractRep
      times = timesRep
    
    instance Abelian r => Abelian (Quaternion r)
    

    Found in Numeric.Coalgebra.Dual from the package algebra
      (+) = addRep 
      sinnum1p = sinnum1pRep
    
    instance LeftModule r s => LeftModule r (Dual' s) where
      r .* Dual' a b = Dual' (r .* a) (r .* b)
    
    instance RightModule r s => RightModule r (Dual' s) where
      Dual' a b *. r = Dual' (a *. r) (b *. r)
    
    instance Monoidal r => Monoidal (Dual' r) where
      zero = zeroRep
      sinnum = sinnumRep
    
    instance Group r => Group (Dual' r) where
      (-) = minusRep
      negate = negateRep
      subtract = subtractRep
      times = timesRep
    
    instance Abelian r => Abelian (Dual' r)
    

    Found in Numeric.Coalgebra.Hyperbolic from the package algebra
      (+) = addRep 
      sinnum1p = sinnum1pRep
    
    instance LeftModule r s => LeftModule r (Hyper s) where
      r .* Hyper a b = Hyper (r .* a) (r .* b)
    
    instance RightModule r s => RightModule r (Hyper s) where
      Hyper a b *. r = Hyper (a *. r) (b *. r)
    
    instance Monoidal r => Monoidal (Hyper r) where
      zero = zeroRep
      sinnum = sinnumRep
    
    instance Group r => Group (Hyper r) where
      (-) = minusRep
      negate = negateRep
      subtract = subtractRep
      times = timesRep
    
    instance Abelian r => Abelian (Hyper r)
    

    Found in Numeric.Coalgebra.Quaternion from the package algebra
    instance LeftModule r s => LeftModule r (Quaternion' s) where
      r .* Quaternion' a b c d =
        Quaternion' (r .* a) (r .* b) (r .* c) (r .* d)
    
    instance RightModule r s => RightModule r (Quaternion' s) where
      Quaternion' a b c d *. r =
        Quaternion' (a *. r) (b *. r) (c *. r) (d *. r)
    
    instance Monoidal r => Monoidal (Quaternion' r) where
      zero = zeroRep
      sinnum = sinnumRep
    
    instance Group r => Group (Quaternion' r) where
      (-) = minusRep
      negate = negateRep
      subtract = subtractRep
      times = timesRep
    
    instance Abelian r => Abelian (Quaternion' r)
    

    Found in Numeric.Coalgebra.Trigonometric from the package algebra
      (+) = addRep 
      sinnum1p = sinnum1pRep
    
    instance LeftModule r s => LeftModule r (Trig s) where
      r .* Trig a b = Trig (r .* a) (r .* b)
    
    instance RightModule r s => RightModule r (Trig s) where
      Trig a b *. r = Trig (a *. r) (b *. r)
    
    instance Monoidal r => Monoidal (Trig r) where
      zero = zeroRep
      sinnum = sinnumRep
    
    instance Group r => Group (Trig r) where
      (-) = minusRep
      negate = negateRep
      subtract = subtractRep
      times = timesRep
    
    instance Abelian r => Abelian (Trig r)
    

    mulRep See 8 Occurences [+] Collapse [-]
    Found in Numeric.Algebra.Complex from the package algebra
    instance (InvolutiveSemiring k, Rng k) => InvolutiveAlgebra k ComplexBasis where
      inv f = f' where
        afe = adjoint (f E)
        nfi = negate (f I)
        f' E = afe
        f' I = nfi
    
    instance (InvolutiveSemiring k, Rng k) => InvolutiveCoalgebra k ComplexBasis where
      coinv = inv
    
    instance (InvolutiveSemiring k, Rng k) => HopfAlgebra k ComplexBasis where
      antipode = inv
    
    instance (Commutative r, Rng r) => Multiplicative (Complex r) where
      (*) = mulRep
    
    instance (TriviallyInvolutive r, Rng r) => Commutative (Complex r)
    
    instance (Commutative r, Rng r) => Semiring (Complex r)
    

    Found in Numeric.Algebra.Dual from the package algebra
    instance (InvolutiveSemiring k, Rng k) => InvolutiveAlgebra k DualBasis where
      inv f = f' where
        afe = adjoint (f E)
        nfd = negate (f D)
        f' E = afe
        f' D = nfd
    
    instance (InvolutiveSemiring k, Rng k) => InvolutiveCoalgebra k DualBasis where
      coinv = inv
    
    instance (InvolutiveSemiring k, Rng k) => HopfAlgebra k DualBasis where
      antipode = inv
    
    instance (Commutative r, Rng r) => Multiplicative (Dual r) where
      (*) = mulRep
    
    instance (TriviallyInvolutive r, Rng r) => Commutative (Dual r)
    
    instance (Commutative r, Rng r) => Semiring (Dual r)
    

    Found in Numeric.Algebra.Hyperbolic from the package algebra
    instance (Commutative k, Group k, InvolutiveSemiring k) => InvolutiveAlgebra k HyperBasis' where
      inv f = f' where
        afc = adjoint (f Cosh')
        nfs = negate (f Sinh')
        f' Cosh' = afc
        f' Sinh' = nfs
    
    instance (Commutative k, Group k, InvolutiveSemiring k) => InvolutiveCoalgebra k HyperBasis' where
      coinv = inv
    
    instance (Commutative k, Group k, InvolutiveSemiring k) => HopfAlgebra k HyperBasis' where
      antipode = inv
    
    instance (Commutative k, Semiring k) => Multiplicative (Hyper' k) where
      (*) = mulRep
    
    instance (Commutative k, Semiring k) => Commutative (Hyper' k)
    
    instance (Commutative k, Semiring k) => Semiring (Hyper' k)
    

    Found in Numeric.Algebra.Quaternion from the package algebra
    instance (TriviallyInvolutive r, Rng r)  => Bialgebra r QuaternionBasis 
    
    instance (TriviallyInvolutive r, InvolutiveSemiring r, Rng r)  => InvolutiveAlgebra r QuaternionBasis where
      inv f E = f E
      inv f b = negate (f b)
    
    instance (TriviallyInvolutive r, InvolutiveSemiring r, Rng r) => InvolutiveCoalgebra r QuaternionBasis where
      coinv = inv
    
    instance (TriviallyInvolutive r, InvolutiveSemiring r, Rng r) => HopfAlgebra r QuaternionBasis where
      antipode = inv
    
    instance (TriviallyInvolutive r, Rng r) => Multiplicative (Quaternion r) where
      (*) = mulRep
    
    instance (TriviallyInvolutive r, Rng r) => Semiring (Quaternion r)
    
    instance (TriviallyInvolutive r, Ring r) => Unital (Quaternion r) where
      one = oneRep
    

    Found in Numeric.Coalgebra.Dual from the package algebra
    instance (InvolutiveSemiring k, Rng k) => InvolutiveAlgebra k DualBasis' where
      inv f = f' where
        afe = adjoint (f E)
        nfd = negate (f D)
        f' E = afe
        f' D = nfd
    
    instance (InvolutiveSemiring k, Rng k) => InvolutiveCoalgebra k DualBasis' where
      coinv = inv
    
    instance (InvolutiveSemiring k, Rng k) => HopfAlgebra k DualBasis' where
      antipode = inv
    
    instance (Commutative r, Rng r) => Multiplicative (Dual' r) where
      (*) = mulRep
    
    instance (TriviallyInvolutive r, Rng r) => Commutative (Dual' r)
    
    instance (Commutative r, Rng r) => Semiring (Dual' r)
    

    Found in Numeric.Coalgebra.Hyperbolic from the package algebra
    instance (Commutative k, Group k, InvolutiveSemiring k) => InvolutiveAlgebra k HyperBasis where
      inv f = f' where
        afc = adjoint (f Cosh)
        nfs = negate (f Sinh)
        f' Cosh = afc
        f' Sinh = nfs
    
    instance (Commutative k, Group k, InvolutiveSemiring k) => InvolutiveCoalgebra k HyperBasis where
      coinv = inv
    
    instance (Commutative k, Group k, InvolutiveSemiring k) => HopfAlgebra k HyperBasis where
      antipode = inv
    
    instance (Commutative k, Semiring k) => Multiplicative (Hyper k) where
      (*) = mulRep
    
    instance (Commutative k, Semiring k) => Commutative (Hyper k)
    
    instance (Commutative k, Semiring k) => Semiring (Hyper k)
    

    Found in Numeric.Coalgebra.Quaternion from the package algebra
    instance (TriviallyInvolutive r, Rng r)  => Bialgebra r QuaternionBasis'
    
    instance (TriviallyInvolutive r, InvolutiveSemiring r, Rng r)  => InvolutiveAlgebra r QuaternionBasis' where
      inv f E' = f E'
      inv f b = negate (f b)
    
    instance (TriviallyInvolutive r, InvolutiveSemiring r, Rng r) => InvolutiveCoalgebra r QuaternionBasis' where
      coinv = inv
    
    instance (TriviallyInvolutive r, InvolutiveSemiring r, Rng r) => HopfAlgebra r QuaternionBasis' where
      antipode = inv
    
    instance (TriviallyInvolutive r, Semiring r) => Multiplicative (Quaternion' r) where
      (*) = mulRep
    
    instance (TriviallyInvolutive r, Semiring r) => Semiring (Quaternion' r)
    
    instance (TriviallyInvolutive r, Ring r) => Unital (Quaternion' r) where
      one = oneRep
    

    Found in Numeric.Coalgebra.Trigonometric from the package algebra
        nfs = negate (f Sin)
        f' Cos = afc
        f' Sin = nfs
    
    instance (Commutative k, Group k, InvolutiveSemiring k) => InvolutiveCoalgebra k TrigBasis where
      coinv = inv
    
    instance (Commutative k, Group k, InvolutiveSemiring k) => HopfAlgebra k TrigBasis where
      antipode = inv
    
    instance (Commutative k, Rng k) => CounitalCoalgebra k TrigBasis where
      counit f = f Cos
    
    instance (Commutative k, Rng k) => Multiplicative (Trig k) where
      (*) = mulRep
    
    instance (Commutative k, Rng k) => Commutative (Trig k)
    
    instance (Commutative k, Rng k) => Semiring (Trig k)
    

    negateRep See 8 Occurences [+] Collapse [-]
    Found in Numeric.Algebra.Complex from the package algebra
      sinnum1p = sinnum1pRep
    
    instance LeftModule r s => LeftModule r (Complex s) where
      r .* Complex a b = Complex (r .* a) (r .* b)
    
    instance RightModule r s => RightModule r (Complex s) where
      Complex a b *. r = Complex (a *. r) (b *. r)
    
    instance Monoidal r => Monoidal (Complex r) where
      zero = zeroRep
      sinnum = sinnumRep
    
    instance Group r => Group (Complex r) where
      (-) = minusRep
      negate = negateRep
      subtract = subtractRep
      times = timesRep
    
    instance Abelian r => Abelian (Complex r)
    

    Found in Numeric.Algebra.Dual from the package algebra
      sinnum1p = sinnum1pRep
    
    instance LeftModule r s => LeftModule r (Dual s) where
      r .* Dual a b = Dual (r .* a) (r .* b)
    
    instance RightModule r s => RightModule r (Dual s) where
      Dual a b *. r = Dual (a *. r) (b *. r)
    
    instance Monoidal r => Monoidal (Dual r) where
      zero = zeroRep
      sinnum = sinnumRep
    
    instance Group r => Group (Dual r) where
      (-) = minusRep
      negate = negateRep
      subtract = subtractRep
      times = timesRep
    
    instance Abelian r => Abelian (Dual r)
    

    Found in Numeric.Algebra.Hyperbolic from the package algebra
      sinnum1p = sinnum1pRep
    
    instance LeftModule r s => LeftModule r (Hyper' s) where
      r .* Hyper' a b = Hyper' (r .* a) (r .* b)
    
    instance RightModule r s => RightModule r (Hyper' s) where
      Hyper' a b *. r = Hyper' (a *. r) (b *. r)
    
    instance Monoidal r => Monoidal (Hyper' r) where
      zero = zeroRep
      sinnum = sinnumRep
    
    instance Group r => Group (Hyper' r) where
      (-) = minusRep
      negate = negateRep
      subtract = subtractRep
      times = timesRep
    
    instance Abelian r => Abelian (Hyper' r)
    

    Found in Numeric.Algebra.Quaternion from the package algebra
    instance LeftModule r s => LeftModule r (Quaternion s) where
      r .* Quaternion a b c d =
        Quaternion (r .* a) (r .* b) (r .* c) (r .* d)
    
    instance RightModule r s => RightModule r (Quaternion s) where
      Quaternion a b c d *. r =
        Quaternion (a *. r) (b *. r) (c *. r) (d *. r)
    
    instance Monoidal r => Monoidal (Quaternion r) where
      zero = zeroRep
      sinnum = sinnumRep
    
    instance Group r => Group (Quaternion r) where
      (-) = minusRep
      negate = negateRep
      subtract = subtractRep
      times = timesRep
    
    instance Abelian r => Abelian (Quaternion r)
    

    Found in Numeric.Coalgebra.Dual from the package algebra
      sinnum1p = sinnum1pRep
    
    instance LeftModule r s => LeftModule r (Dual' s) where
      r .* Dual' a b = Dual' (r .* a) (r .* b)
    
    instance RightModule r s => RightModule r (Dual' s) where
      Dual' a b *. r = Dual' (a *. r) (b *. r)
    
    instance Monoidal r => Monoidal (Dual' r) where
      zero = zeroRep
      sinnum = sinnumRep
    
    instance Group r => Group (Dual' r) where
      (-) = minusRep
      negate = negateRep
      subtract = subtractRep
      times = timesRep
    
    instance Abelian r => Abelian (Dual' r)
    

    Found in Numeric.Coalgebra.Hyperbolic from the package algebra
      sinnum1p = sinnum1pRep
    
    instance LeftModule r s => LeftModule r (Hyper s) where
      r .* Hyper a b = Hyper (r .* a) (r .* b)
    
    instance RightModule r s => RightModule r (Hyper s) where
      Hyper a b *. r = Hyper (a *. r) (b *. r)
    
    instance Monoidal r => Monoidal (Hyper r) where
      zero = zeroRep
      sinnum = sinnumRep
    
    instance Group r => Group (Hyper r) where
      (-) = minusRep
      negate = negateRep
      subtract = subtractRep
      times = timesRep
    
    instance Abelian r => Abelian (Hyper r)
    

    Found in Numeric.Coalgebra.Quaternion from the package algebra
    instance LeftModule r s => LeftModule r (Quaternion' s) where
      r .* Quaternion' a b c d =
        Quaternion' (r .* a) (r .* b) (r .* c) (r .* d)
    
    instance RightModule r s => RightModule r (Quaternion' s) where
      Quaternion' a b c d *. r =
        Quaternion' (a *. r) (b *. r) (c *. r) (d *. r)
    
    instance Monoidal r => Monoidal (Quaternion' r) where
      zero = zeroRep
      sinnum = sinnumRep
    
    instance Group r => Group (Quaternion' r) where
      (-) = minusRep
      negate = negateRep
      subtract = subtractRep
      times = timesRep
    
    instance Abelian r => Abelian (Quaternion' r)
    

    Found in Numeric.Coalgebra.Trigonometric from the package algebra
      sinnum1p = sinnum1pRep
    
    instance LeftModule r s => LeftModule r (Trig s) where
      r .* Trig a b = Trig (r .* a) (r .* b)
    
    instance RightModule r s => RightModule r (Trig s) where
      Trig a b *. r = Trig (a *. r) (b *. r)
    
    instance Monoidal r => Monoidal (Trig r) where
      zero = zeroRep
      sinnum = sinnumRep
    
    instance Group r => Group (Trig r) where
      (-) = minusRep
      negate = negateRep
      subtract = subtractRep
      times = timesRep
    
    instance Abelian r => Abelian (Trig r)
    

    oneRep See 5 Occurences [+] Collapse [-]
    Found in Numeric.Algebra.Complex from the package algebra
    instance (InvolutiveSemiring k, Rng k) => InvolutiveCoalgebra k ComplexBasis where
      coinv = inv
    
    instance (InvolutiveSemiring k, Rng k) => HopfAlgebra k ComplexBasis where
      antipode = inv
    
    instance (Commutative r, Rng r) => Multiplicative (Complex r) where
      (*) = mulRep
    
    instance (TriviallyInvolutive r, Rng r) => Commutative (Complex r)
    
    instance (Commutative r, Rng r) => Semiring (Complex r)
    
    instance (Commutative r, Ring r) => Unital (Complex r) where
      one = oneRep
    
    instance (Commutative r, Ring r) => Rig (Complex r) where
      fromNatural n = Complex (fromNatural n) zero
    
    instance (Commutative r, Ring r) => Ring (Complex r) where
    

    Found in Numeric.Algebra.Dual from the package algebra
    instance (InvolutiveSemiring k, Rng k) => InvolutiveCoalgebra k DualBasis where
      coinv = inv
    
    instance (InvolutiveSemiring k, Rng k) => HopfAlgebra k DualBasis where
      antipode = inv
    
    instance (Commutative r, Rng r) => Multiplicative (Dual r) where
      (*) = mulRep
    
    instance (TriviallyInvolutive r, Rng r) => Commutative (Dual r)
    
    instance (Commutative r, Rng r) => Semiring (Dual r)
    
    instance (Commutative r, Ring r) => Unital (Dual r) where
      one = oneRep
    
    instance (Commutative r, Ring r) => Rig (Dual r) where
      fromNatural n = Dual (fromNatural n) zero
    
    instance (Commutative r, Ring r) => Ring (Dual r) where
    

    Found in Numeric.Algebra.Quaternion from the package algebra
      inv f b = negate (f b)
    
    instance (TriviallyInvolutive r, InvolutiveSemiring r, Rng r) => InvolutiveCoalgebra r QuaternionBasis where
      coinv = inv
    
    instance (TriviallyInvolutive r, InvolutiveSemiring r, Rng r) => HopfAlgebra r QuaternionBasis where
      antipode = inv
    
    instance (TriviallyInvolutive r, Rng r) => Multiplicative (Quaternion r) where
      (*) = mulRep
    
    instance (TriviallyInvolutive r, Rng r) => Semiring (Quaternion r)
    
    instance (TriviallyInvolutive r, Ring r) => Unital (Quaternion r) where
      one = oneRep
    
    instance (TriviallyInvolutive r, Ring r) => Rig (Quaternion r) where
      fromNatural n = Quaternion (fromNatural n) zero zero zero
    
    instance (TriviallyInvolutive r, Ring r) => Ring (Quaternion r) where
    

    Found in Numeric.Coalgebra.Dual from the package algebra
    instance (InvolutiveSemiring k, Rng k) => InvolutiveCoalgebra k DualBasis' where
      coinv = inv
    
    instance (InvolutiveSemiring k, Rng k) => HopfAlgebra k DualBasis' where
      antipode = inv
    
    instance (Commutative r, Rng r) => Multiplicative (Dual' r) where
      (*) = mulRep
    
    instance (TriviallyInvolutive r, Rng r) => Commutative (Dual' r)
    
    instance (Commutative r, Rng r) => Semiring (Dual' r)
    
    instance (Commutative r, Ring r) => Unital (Dual' r) where
      one = oneRep
    
    instance (Commutative r, Ring r) => Rig (Dual' r) where
      fromNatural n = Dual' (fromNatural n) zero
    
    instance (Commutative r, Ring r) => Ring (Dual' r) where
    

    Found in Numeric.Coalgebra.Quaternion from the package algebra
      inv f b = negate (f b)
    
    instance (TriviallyInvolutive r, InvolutiveSemiring r, Rng r) => InvolutiveCoalgebra r QuaternionBasis' where
      coinv = inv
    
    instance (TriviallyInvolutive r, InvolutiveSemiring r, Rng r) => HopfAlgebra r QuaternionBasis' where
      antipode = inv
    
    instance (TriviallyInvolutive r, Semiring r) => Multiplicative (Quaternion' r) where
      (*) = mulRep
    
    instance (TriviallyInvolutive r, Semiring r) => Semiring (Quaternion' r)
    
    instance (TriviallyInvolutive r, Ring r) => Unital (Quaternion' r) where
      one = oneRep
    
    instance (TriviallyInvolutive r, Ring r) => Rig (Quaternion' r) where
      fromNatural n = Quaternion' (fromNatural n) zero zero zero
    
    instance (TriviallyInvolutive r, Ring r) => Ring (Quaternion' r) where
    

    sinnum1pRep See 8 Occurences [+] Collapse [-]
    Found in Numeric.Algebra.Complex from the package algebra
    instance Foldable Complex where
      foldMap f (Complex a b) = f a `mappend` f b
    
    instance Traversable Complex where
      traverse f (Complex a b) = Complex <$> f a <*> f b
    
    instance Foldable1 Complex where
      foldMap1 f (Complex a b) = f a <> f b
    
    instance Traversable1 Complex where
      traverse1 f (Complex a b) = Complex <$> f a <.> f b
    
    instance Additive r => Additive (Complex r) where
      (+) = addRep 
      sinnum1p = sinnum1pRep
    
    instance LeftModule r s => LeftModule r (Complex s) where
      r .* Complex a b = Complex (r .* a) (r .* b)
    
    instance RightModule r s => RightModule r (Complex s) where
    

    Found in Numeric.Algebra.Dual from the package algebra
    instance Foldable Dual where
      foldMap f (Dual a b) = f a `mappend` f b
    
    instance Traversable Dual where
      traverse f (Dual a b) = Dual <$> f a <*> f b
    
    instance Foldable1 Dual where
      foldMap1 f (Dual a b) = f a <> f b
    
    instance Traversable1 Dual where
      traverse1 f (Dual a b) = Dual <$> f a <.> f b
    
    instance Additive r => Additive (Dual r) where
      (+) = addRep 
      sinnum1p = sinnum1pRep
    
    instance LeftModule r s => LeftModule r (Dual s) where
      r .* Dual a b = Dual (r .* a) (r .* b)
    
    instance RightModule r s => RightModule r (Dual s) where
    

    Found in Numeric.Algebra.Hyperbolic from the package algebra
    instance Foldable Hyper' where
      foldMap f (Hyper' a b) = f a `mappend` f b
    
    instance Traversable Hyper' where
      traverse f (Hyper' a b) = Hyper' <$> f a <*> f b
    
    instance Foldable1 Hyper' where
      foldMap1 f (Hyper' a b) = f a <> f b
    
    instance Traversable1 Hyper' where
      traverse1 f (Hyper' a b) = Hyper' <$> f a <.> f b
    
    instance Additive r => Additive (Hyper' r) where
      (+) = addRep 
      sinnum1p = sinnum1pRep
    
    instance LeftModule r s => LeftModule r (Hyper' s) where
      r .* Hyper' a b = Hyper' (r .* a) (r .* b)
    
    instance RightModule r s => RightModule r (Hyper' s) where
    

    Found in Numeric.Algebra.Quaternion from the package algebra
    instance Traversable Quaternion where
      traverse f (Quaternion a b c d) = 
        Quaternion <$> f a <*> f b <*> f c <*> f d
    
    instance Foldable1 Quaternion where
      foldMap1 f (Quaternion a b c d) = 
        f a <> f b <> f c <> f d
    
    instance Traversable1 Quaternion where
      traverse1 f (Quaternion a b c d) = 
        Quaternion <$> f a <.> f b <.> f c <.> f d
    
    instance Additive r => Additive (Quaternion r) where
      (+) = addRep 
      sinnum1p = sinnum1pRep
    
    instance LeftModule r s => LeftModule r (Quaternion s) where
      r .* Quaternion a b c d =
        Quaternion (r .* a) (r .* b) (r .* c) (r .* d)
    

    Found in Numeric.Coalgebra.Dual from the package algebra
    instance Foldable Dual' where
      foldMap f (Dual' a b) = f a `mappend` f b
    
    instance Traversable Dual' where
      traverse f (Dual' a b) = Dual' <$> f a <*> f b
    
    instance Foldable1 Dual' where
      foldMap1 f (Dual' a b) = f a <> f b
    
    instance Traversable1 Dual' where
      traverse1 f (Dual' a b) = Dual' <$> f a <.> f b
    
    instance Additive r => Additive (Dual' r) where
      (+) = addRep 
      sinnum1p = sinnum1pRep
    
    instance LeftModule r s => LeftModule r (Dual' s) where
      r .* Dual' a b = Dual' (r .* a) (r .* b)
    
    instance RightModule r s => RightModule r (Dual' s) where
    

    Found in Numeric.Coalgebra.Hyperbolic from the package algebra
    instance Foldable Hyper where
      foldMap f (Hyper a b) = f a `mappend` f b
    
    instance Traversable Hyper where
      traverse f (Hyper a b) = Hyper <$> f a <*> f b
    
    instance Foldable1 Hyper where
      foldMap1 f (Hyper a b) = f a <> f b
    
    instance Traversable1 Hyper where
      traverse1 f (Hyper a b) = Hyper <$> f a <.> f b
    
    instance Additive r => Additive (Hyper r) where
      (+) = addRep 
      sinnum1p = sinnum1pRep
    
    instance LeftModule r s => LeftModule r (Hyper s) where
      r .* Hyper a b = Hyper (r .* a) (r .* b)
    
    instance RightModule r s => RightModule r (Hyper s) where
    

    Found in Numeric.Coalgebra.Quaternion from the package algebra
    instance Traversable Quaternion' where
      traverse f (Quaternion' a b c d) =
        Quaternion' <$> f a <*> f b <*> f c <*> f d
    
    instance Foldable1 Quaternion' where
      foldMap1 f (Quaternion' a b c d) =
        f a <> f b <> f c <> f d
    
    instance Traversable1 Quaternion' where
      traverse1 f (Quaternion' a b c d) =
        Quaternion' <$> f a <.> f b <.> f c <.> f d
    
    instance Additive r => Additive (Quaternion' r) where
      (+) = addRep
      sinnum1p = sinnum1pRep
    
    instance LeftModule r s => LeftModule r (Quaternion' s) where
      r .* Quaternion' a b c d =
        Quaternion' (r .* a) (r .* b) (r .* c) (r .* d)
    

    Found in Numeric.Coalgebra.Trigonometric from the package algebra
    instance Foldable Trig where
      foldMap f (Trig a b) = f a `mappend` f b
    
    instance Traversable Trig where
      traverse f (Trig a b) = Trig <$> f a <*> f b
    
    instance Foldable1 Trig where
      foldMap1 f (Trig a b) = f a <> f b
    
    instance Traversable1 Trig where
      traverse1 f (Trig a b) = Trig <$> f a <.> f b
    
    instance Additive r => Additive (Trig r) where
      (+) = addRep 
      sinnum1p = sinnum1pRep
    
    instance LeftModule r s => LeftModule r (Trig s) where
      r .* Trig a b = Trig (r .* a) (r .* b)
    
    instance RightModule r s => RightModule r (Trig s) where
    

    sinnumRep See 8 Occurences [+] Collapse [-]
    Found in Numeric.Algebra.Complex from the package algebra
      traverse1 f (Complex a b) = Complex <$> f a <.> f b
    
    instance Additive r => Additive (Complex r) where
      (+) = addRep 
      sinnum1p = sinnum1pRep
    
    instance LeftModule r s => LeftModule r (Complex s) where
      r .* Complex a b = Complex (r .* a) (r .* b)
    
    instance RightModule r s => RightModule r (Complex s) where
      Complex a b *. r = Complex (a *. r) (b *. r)
    
    instance Monoidal r => Monoidal (Complex r) where
      zero = zeroRep
      sinnum = sinnumRep
    
    instance Group r => Group (Complex r) where
      (-) = minusRep
      negate = negateRep
      subtract = subtractRep
    

    Found in Numeric.Algebra.Dual from the package algebra
      traverse1 f (Dual a b) = Dual <$> f a <.> f b
    
    instance Additive r => Additive (Dual r) where
      (+) = addRep 
      sinnum1p = sinnum1pRep
    
    instance LeftModule r s => LeftModule r (Dual s) where
      r .* Dual a b = Dual (r .* a) (r .* b)
    
    instance RightModule r s => RightModule r (Dual s) where
      Dual a b *. r = Dual (a *. r) (b *. r)
    
    instance Monoidal r => Monoidal (Dual r) where
      zero = zeroRep
      sinnum = sinnumRep
    
    instance Group r => Group (Dual r) where
      (-) = minusRep
      negate = negateRep
      subtract = subtractRep
    

    Found in Numeric.Algebra.Hyperbolic from the package algebra
      traverse1 f (Hyper' a b) = Hyper' <$> f a <.> f b
    
    instance Additive r => Additive (Hyper' r) where
      (+) = addRep 
      sinnum1p = sinnum1pRep
    
    instance LeftModule r s => LeftModule r (Hyper' s) where
      r .* Hyper' a b = Hyper' (r .* a) (r .* b)
    
    instance RightModule r s => RightModule r (Hyper' s) where
      Hyper' a b *. r = Hyper' (a *. r) (b *. r)
    
    instance Monoidal r => Monoidal (Hyper' r) where
      zero = zeroRep
      sinnum = sinnumRep
    
    instance Group r => Group (Hyper' r) where
      (-) = minusRep
      negate = negateRep
      subtract = subtractRep
    

    Found in Numeric.Algebra.Quaternion from the package algebra
    instance Additive r => Additive (Quaternion r) where
      (+) = addRep 
      sinnum1p = sinnum1pRep
    
    instance LeftModule r s => LeftModule r (Quaternion s) where
      r .* Quaternion a b c d =
        Quaternion (r .* a) (r .* b) (r .* c) (r .* d)
    
    instance RightModule r s => RightModule r (Quaternion s) where
      Quaternion a b c d *. r =
        Quaternion (a *. r) (b *. r) (c *. r) (d *. r)
    
    instance Monoidal r => Monoidal (Quaternion r) where
      zero = zeroRep
      sinnum = sinnumRep
    
    instance Group r => Group (Quaternion r) where
      (-) = minusRep
      negate = negateRep
      subtract = subtractRep
    

    Found in Numeric.Coalgebra.Dual from the package algebra
      traverse1 f (Dual' a b) = Dual' <$> f a <.> f b
    
    instance Additive r => Additive (Dual' r) where
      (+) = addRep 
      sinnum1p = sinnum1pRep
    
    instance LeftModule r s => LeftModule r (Dual' s) where
      r .* Dual' a b = Dual' (r .* a) (r .* b)
    
    instance RightModule r s => RightModule r (Dual' s) where
      Dual' a b *. r = Dual' (a *. r) (b *. r)
    
    instance Monoidal r => Monoidal (Dual' r) where
      zero = zeroRep
      sinnum = sinnumRep
    
    instance Group r => Group (Dual' r) where
      (-) = minusRep
      negate = negateRep
      subtract = subtractRep
    

    Found in Numeric.Coalgebra.Hyperbolic from the package algebra
      traverse1 f (Hyper a b) = Hyper <$> f a <.> f b
    
    instance Additive r => Additive (Hyper r) where
      (+) = addRep 
      sinnum1p = sinnum1pRep
    
    instance LeftModule r s => LeftModule r (Hyper s) where
      r .* Hyper a b = Hyper (r .* a) (r .* b)
    
    instance RightModule r s => RightModule r (Hyper s) where
      Hyper a b *. r = Hyper (a *. r) (b *. r)
    
    instance Monoidal r => Monoidal (Hyper r) where
      zero = zeroRep
      sinnum = sinnumRep
    
    instance Group r => Group (Hyper r) where
      (-) = minusRep
      negate = negateRep
      subtract = subtractRep
    

    Found in Numeric.Coalgebra.Quaternion from the package algebra
    instance Additive r => Additive (Quaternion' r) where
      (+) = addRep
      sinnum1p = sinnum1pRep
    
    instance LeftModule r s => LeftModule r (Quaternion' s) where
      r .* Quaternion' a b c d =
        Quaternion' (r .* a) (r .* b) (r .* c) (r .* d)
    
    instance RightModule r s => RightModule r (Quaternion' s) where
      Quaternion' a b c d *. r =
        Quaternion' (a *. r) (b *. r) (c *. r) (d *. r)
    
    instance Monoidal r => Monoidal (Quaternion' r) where
      zero = zeroRep
      sinnum = sinnumRep
    
    instance Group r => Group (Quaternion' r) where
      (-) = minusRep
      negate = negateRep
      subtract = subtractRep
    

    Found in Numeric.Coalgebra.Trigonometric from the package algebra
      traverse1 f (Trig a b) = Trig <$> f a <.> f b
    
    instance Additive r => Additive (Trig r) where
      (+) = addRep 
      sinnum1p = sinnum1pRep
    
    instance LeftModule r s => LeftModule r (Trig s) where
      r .* Trig a b = Trig (r .* a) (r .* b)
    
    instance RightModule r s => RightModule r (Trig s) where
      Trig a b *. r = Trig (a *. r) (b *. r)
    
    instance Monoidal r => Monoidal (Trig r) where
      zero = zeroRep
      sinnum = sinnumRep
    
    instance Group r => Group (Trig r) where
      (-) = minusRep
      negate = negateRep
      subtract = subtractRep
    

    subtractRep See 8 Occurences [+] Collapse [-]
    Found in Numeric.Algebra.Complex from the package algebra
    instance LeftModule r s => LeftModule r (Complex s) where
      r .* Complex a b = Complex (r .* a) (r .* b)
    
    instance RightModule r s => RightModule r (Complex s) where
      Complex a b *. r = Complex (a *. r) (b *. r)
    
    instance Monoidal r => Monoidal (Complex r) where
      zero = zeroRep
      sinnum = sinnumRep
    
    instance Group r => Group (Complex r) where
      (-) = minusRep
      negate = negateRep
      subtract = subtractRep
      times = timesRep
    
    instance Abelian r => Abelian (Complex r)
    
    instance Idempotent r => Idempotent (Complex r)
    

    Found in Numeric.Algebra.Dual from the package algebra
    instance LeftModule r s => LeftModule r (Dual s) where
      r .* Dual a b = Dual (r .* a) (r .* b)
    
    instance RightModule r s => RightModule r (Dual s) where
      Dual a b *. r = Dual (a *. r) (b *. r)
    
    instance Monoidal r => Monoidal (Dual r) where
      zero = zeroRep
      sinnum = sinnumRep
    
    instance Group r => Group (Dual r) where
      (-) = minusRep
      negate = negateRep
      subtract = subtractRep
      times = timesRep
    
    instance Abelian r => Abelian (Dual r)
    
    instance Idempotent r => Idempotent (Dual r)
    

    Found in Numeric.Algebra.Hyperbolic from the package algebra
    instance LeftModule r s => LeftModule r (Hyper' s) where
      r .* Hyper' a b = Hyper' (r .* a) (r .* b)
    
    instance RightModule r s => RightModule r (Hyper' s) where
      Hyper' a b *. r = Hyper' (a *. r) (b *. r)
    
    instance Monoidal r => Monoidal (Hyper' r) where
      zero = zeroRep
      sinnum = sinnumRep
    
    instance Group r => Group (Hyper' r) where
      (-) = minusRep
      negate = negateRep
      subtract = subtractRep
      times = timesRep
    
    instance Abelian r => Abelian (Hyper' r)
    
    instance Idempotent r => Idempotent (Hyper' r)
    

    Found in Numeric.Algebra.Quaternion from the package algebra
      r .* Quaternion a b c d =
        Quaternion (r .* a) (r .* b) (r .* c) (r .* d)
    
    instance RightModule r s => RightModule r (Quaternion s) where
      Quaternion a b c d *. r =
        Quaternion (a *. r) (b *. r) (c *. r) (d *. r)
    
    instance Monoidal r => Monoidal (Quaternion r) where
      zero = zeroRep
      sinnum = sinnumRep
    
    instance Group r => Group (Quaternion r) where
      (-) = minusRep
      negate = negateRep
      subtract = subtractRep
      times = timesRep
    
    instance Abelian r => Abelian (Quaternion r)
    
    instance Idempotent r => Idempotent (Quaternion r)
    

    Found in Numeric.Coalgebra.Dual from the package algebra
    instance LeftModule r s => LeftModule r (Dual' s) where
      r .* Dual' a b = Dual' (r .* a) (r .* b)
    
    instance RightModule r s => RightModule r (Dual' s) where
      Dual' a b *. r = Dual' (a *. r) (b *. r)
    
    instance Monoidal r => Monoidal (Dual' r) where
      zero = zeroRep
      sinnum = sinnumRep
    
    instance Group r => Group (Dual' r) where
      (-) = minusRep
      negate = negateRep
      subtract = subtractRep
      times = timesRep
    
    instance Abelian r => Abelian (Dual' r)
    
    instance Idempotent r => Idempotent (Dual' r)
    

    Found in Numeric.Coalgebra.Hyperbolic from the package algebra
    instance LeftModule r s => LeftModule r (Hyper s) where
      r .* Hyper a b = Hyper (r .* a) (r .* b)
    
    instance RightModule r s => RightModule r (Hyper s) where
      Hyper a b *. r = Hyper (a *. r) (b *. r)
    
    instance Monoidal r => Monoidal (Hyper r) where
      zero = zeroRep
      sinnum = sinnumRep
    
    instance Group r => Group (Hyper r) where
      (-) = minusRep
      negate = negateRep
      subtract = subtractRep
      times = timesRep
    
    instance Abelian r => Abelian (Hyper r)
    
    instance Idempotent r => Idempotent (Hyper r)
    

    Found in Numeric.Coalgebra.Quaternion from the package algebra
      r .* Quaternion' a b c d =
        Quaternion' (r .* a) (r .* b) (r .* c) (r .* d)
    
    instance RightModule r s => RightModule r (Quaternion' s) where
      Quaternion' a b c d *. r =
        Quaternion' (a *. r) (b *. r) (c *. r) (d *. r)
    
    instance Monoidal r => Monoidal (Quaternion' r) where
      zero = zeroRep
      sinnum = sinnumRep
    
    instance Group r => Group (Quaternion' r) where
      (-) = minusRep
      negate = negateRep
      subtract = subtractRep
      times = timesRep
    
    instance Abelian r => Abelian (Quaternion' r)
    
    instance Idempotent r => Idempotent (Quaternion' r)
    

    Found in Numeric.Coalgebra.Trigonometric from the package algebra
    instance LeftModule r s => LeftModule r (Trig s) where
      r .* Trig a b = Trig (r .* a) (r .* b)
    
    instance RightModule r s => RightModule r (Trig s) where
      Trig a b *. r = Trig (a *. r) (b *. r)
    
    instance Monoidal r => Monoidal (Trig r) where
      zero = zeroRep
      sinnum = sinnumRep
    
    instance Group r => Group (Trig r) where
      (-) = minusRep
      negate = negateRep
      subtract = subtractRep
      times = timesRep
    
    instance Abelian r => Abelian (Trig r)
    
    instance Idempotent r => Idempotent (Trig r)
    

    timesRep See 8 Occurences [+] Collapse [-]
    Found in Numeric.Algebra.Complex from the package algebra
    instance LeftModule r s => LeftModule r (Complex s) where
      r .* Complex a b = Complex (r .* a) (r .* b)
    
    instance RightModule r s => RightModule r (Complex s) where
      Complex a b *. r = Complex (a *. r) (b *. r)
    
    instance Monoidal r => Monoidal (Complex r) where
      zero = zeroRep
      sinnum = sinnumRep
    
    instance Group r => Group (Complex r) where
      (-) = minusRep
      negate = negateRep
      subtract = subtractRep
      times = timesRep
    
    instance Abelian r => Abelian (Complex r)
    
    instance Idempotent r => Idempotent (Complex r)
    

    Found in Numeric.Algebra.Dual from the package algebra
    instance LeftModule r s => LeftModule r (Dual s) where
      r .* Dual a b = Dual (r .* a) (r .* b)
    
    instance RightModule r s => RightModule r (Dual s) where
      Dual a b *. r = Dual (a *. r) (b *. r)
    
    instance Monoidal r => Monoidal (Dual r) where
      zero = zeroRep
      sinnum = sinnumRep
    
    instance Group r => Group (Dual r) where
      (-) = minusRep
      negate = negateRep
      subtract = subtractRep
      times = timesRep
    
    instance Abelian r => Abelian (Dual r)
    
    instance Idempotent r => Idempotent (Dual r)
    

    Found in Numeric.Algebra.Hyperbolic from the package algebra
    instance LeftModule r s => LeftModule r (Hyper' s) where
      r .* Hyper' a b = Hyper' (r .* a) (r .* b)
    
    instance RightModule r s => RightModule r (Hyper' s) where
      Hyper' a b *. r = Hyper' (a *. r) (b *. r)
    
    instance Monoidal r => Monoidal (Hyper' r) where
      zero = zeroRep
      sinnum = sinnumRep
    
    instance Group r => Group (Hyper' r) where
      (-) = minusRep
      negate = negateRep
      subtract = subtractRep
      times = timesRep
    
    instance Abelian r => Abelian (Hyper' r)
    
    instance Idempotent r => Idempotent (Hyper' r)
    

    Found in Numeric.Algebra.Quaternion from the package algebra
        Quaternion (r .* a) (r .* b) (r .* c) (r .* d)
    
    instance RightModule r s => RightModule r (Quaternion s) where
      Quaternion a b c d *. r =
        Quaternion (a *. r) (b *. r) (c *. r) (d *. r)
    
    instance Monoidal r => Monoidal (Quaternion r) where
      zero = zeroRep
      sinnum = sinnumRep
    
    instance Group r => Group (Quaternion r) where
      (-) = minusRep
      negate = negateRep
      subtract = subtractRep
      times = timesRep
    
    instance Abelian r => Abelian (Quaternion r)
    
    instance Idempotent r => Idempotent (Quaternion r)
    

    Found in Numeric.Coalgebra.Dual from the package algebra
    instance LeftModule r s => LeftModule r (Dual' s) where
      r .* Dual' a b = Dual' (r .* a) (r .* b)
    
    instance RightModule r s => RightModule r (Dual' s) where
      Dual' a b *. r = Dual' (a *. r) (b *. r)
    
    instance Monoidal r => Monoidal (Dual' r) where
      zero = zeroRep
      sinnum = sinnumRep
    
    instance Group r => Group (Dual' r) where
      (-) = minusRep
      negate = negateRep
      subtract = subtractRep
      times = timesRep
    
    instance Abelian r => Abelian (Dual' r)
    
    instance Idempotent r => Idempotent (Dual' r)
    

    Found in Numeric.Coalgebra.Hyperbolic from the package algebra
    instance LeftModule r s => LeftModule r (Hyper s) where
      r .* Hyper a b = Hyper (r .* a) (r .* b)
    
    instance RightModule r s => RightModule r (Hyper s) where
      Hyper a b *. r = Hyper (a *. r) (b *. r)
    
    instance Monoidal r => Monoidal (Hyper r) where
      zero = zeroRep
      sinnum = sinnumRep
    
    instance Group r => Group (Hyper r) where
      (-) = minusRep
      negate = negateRep
      subtract = subtractRep
      times = timesRep
    
    instance Abelian r => Abelian (Hyper r)
    
    instance Idempotent r => Idempotent (Hyper r)
    

    Found in Numeric.Coalgebra.Quaternion from the package algebra
        Quaternion' (r .* a) (r .* b) (r .* c) (r .* d)
    
    instance RightModule r s => RightModule r (Quaternion' s) where
      Quaternion' a b c d *. r =
        Quaternion' (a *. r) (b *. r) (c *. r) (d *. r)
    
    instance Monoidal r => Monoidal (Quaternion' r) where
      zero = zeroRep
      sinnum = sinnumRep
    
    instance Group r => Group (Quaternion' r) where
      (-) = minusRep
      negate = negateRep
      subtract = subtractRep
      times = timesRep
    
    instance Abelian r => Abelian (Quaternion' r)
    
    instance Idempotent r => Idempotent (Quaternion' r)
    

    Found in Numeric.Coalgebra.Trigonometric from the package algebra
    instance LeftModule r s => LeftModule r (Trig s) where
      r .* Trig a b = Trig (r .* a) (r .* b)
    
    instance RightModule r s => RightModule r (Trig s) where
      Trig a b *. r = Trig (a *. r) (b *. r)
    
    instance Monoidal r => Monoidal (Trig r) where
      zero = zeroRep
      sinnum = sinnumRep
    
    instance Group r => Group (Trig r) where
      (-) = minusRep
      negate = negateRep
      subtract = subtractRep
      times = timesRep
    
    instance Abelian r => Abelian (Trig r)
    
    instance Idempotent r => Idempotent (Trig r)
    

    zeroRep See 8 Occurences [+] Collapse [-]
    Found in Numeric.Algebra.Complex from the package algebra
    instance Traversable1 Complex where
      traverse1 f (Complex a b) = Complex <$> f a <.> f b
    
    instance Additive r => Additive (Complex r) where
      (+) = addRep 
      sinnum1p = sinnum1pRep
    
    instance LeftModule r s => LeftModule r (Complex s) where
      r .* Complex a b = Complex (r .* a) (r .* b)
    
    instance RightModule r s => RightModule r (Complex s) where
      Complex a b *. r = Complex (a *. r) (b *. r)
    
    instance Monoidal r => Monoidal (Complex r) where
      zero = zeroRep
      sinnum = sinnumRep
    
    instance Group r => Group (Complex r) where
      (-) = minusRep
      negate = negateRep
    

    Found in Numeric.Algebra.Dual from the package algebra
    instance Traversable1 Dual where
      traverse1 f (Dual a b) = Dual <$> f a <.> f b
    
    instance Additive r => Additive (Dual r) where
      (+) = addRep 
      sinnum1p = sinnum1pRep
    
    instance LeftModule r s => LeftModule r (Dual s) where
      r .* Dual a b = Dual (r .* a) (r .* b)
    
    instance RightModule r s => RightModule r (Dual s) where
      Dual a b *. r = Dual (a *. r) (b *. r)
    
    instance Monoidal r => Monoidal (Dual r) where
      zero = zeroRep
      sinnum = sinnumRep
    
    instance Group r => Group (Dual r) where
      (-) = minusRep
      negate = negateRep
    

    Found in Numeric.Algebra.Hyperbolic from the package algebra
    instance Traversable1 Hyper' where
      traverse1 f (Hyper' a b) = Hyper' <$> f a <.> f b
    
    instance Additive r => Additive (Hyper' r) where
      (+) = addRep 
      sinnum1p = sinnum1pRep
    
    instance LeftModule r s => LeftModule r (Hyper' s) where
      r .* Hyper' a b = Hyper' (r .* a) (r .* b)
    
    instance RightModule r s => RightModule r (Hyper' s) where
      Hyper' a b *. r = Hyper' (a *. r) (b *. r)
    
    instance Monoidal r => Monoidal (Hyper' r) where
      zero = zeroRep
      sinnum = sinnumRep
    
    instance Group r => Group (Hyper' r) where
      (-) = minusRep
      negate = negateRep
    

    Found in Numeric.Algebra.Quaternion from the package algebra
    instance Additive r => Additive (Quaternion r) where
      (+) = addRep 
      sinnum1p = sinnum1pRep
    
    instance LeftModule r s => LeftModule r (Quaternion s) where
      r .* Quaternion a b c d =
        Quaternion (r .* a) (r .* b) (r .* c) (r .* d)
    
    instance RightModule r s => RightModule r (Quaternion s) where
      Quaternion a b c d *. r =
        Quaternion (a *. r) (b *. r) (c *. r) (d *. r)
    
    instance Monoidal r => Monoidal (Quaternion r) where
      zero = zeroRep
      sinnum = sinnumRep
    
    instance Group r => Group (Quaternion r) where
      (-) = minusRep
      negate = negateRep
    

    Found in Numeric.Coalgebra.Dual from the package algebra
    instance Traversable1 Dual' where
      traverse1 f (Dual' a b) = Dual' <$> f a <.> f b
    
    instance Additive r => Additive (Dual' r) where
      (+) = addRep 
      sinnum1p = sinnum1pRep
    
    instance LeftModule r s => LeftModule r (Dual' s) where
      r .* Dual' a b = Dual' (r .* a) (r .* b)
    
    instance RightModule r s => RightModule r (Dual' s) where
      Dual' a b *. r = Dual' (a *. r) (b *. r)
    
    instance Monoidal r => Monoidal (Dual' r) where
      zero = zeroRep
      sinnum = sinnumRep
    
    instance Group r => Group (Dual' r) where
      (-) = minusRep
      negate = negateRep
    

    Found in Numeric.Coalgebra.Hyperbolic from the package algebra
    instance Traversable1 Hyper where
      traverse1 f (Hyper a b) = Hyper <$> f a <.> f b
    
    instance Additive r => Additive (Hyper r) where
      (+) = addRep 
      sinnum1p = sinnum1pRep
    
    instance LeftModule r s => LeftModule r (Hyper s) where
      r .* Hyper a b = Hyper (r .* a) (r .* b)
    
    instance RightModule r s => RightModule r (Hyper s) where
      Hyper a b *. r = Hyper (a *. r) (b *. r)
    
    instance Monoidal r => Monoidal (Hyper r) where
      zero = zeroRep
      sinnum = sinnumRep
    
    instance Group r => Group (Hyper r) where
      (-) = minusRep
      negate = negateRep
    

    Found in Numeric.Coalgebra.Quaternion from the package algebra
    instance Additive r => Additive (Quaternion' r) where
      (+) = addRep
      sinnum1p = sinnum1pRep
    
    instance LeftModule r s => LeftModule r (Quaternion' s) where
      r .* Quaternion' a b c d =
        Quaternion' (r .* a) (r .* b) (r .* c) (r .* d)
    
    instance RightModule r s => RightModule r (Quaternion' s) where
      Quaternion' a b c d *. r =
        Quaternion' (a *. r) (b *. r) (c *. r) (d *. r)
    
    instance Monoidal r => Monoidal (Quaternion' r) where
      zero = zeroRep
      sinnum = sinnumRep
    
    instance Group r => Group (Quaternion' r) where
      (-) = minusRep
      negate = negateRep
    

    Found in Numeric.Coalgebra.Trigonometric from the package algebra
    instance Traversable1 Trig where
      traverse1 f (Trig a b) = Trig <$> f a <.> f b
    
    instance Additive r => Additive (Trig r) where
      (+) = addRep 
      sinnum1p = sinnum1pRep
    
    instance LeftModule r s => LeftModule r (Trig s) where
      r .* Trig a b = Trig (r .* a) (r .* b)
    
    instance RightModule r s => RightModule r (Trig s) where
      Trig a b *. r = Trig (a *. r) (b *. r)
    
    instance Monoidal r => Monoidal (Trig r) where
      zero = zeroRep
      sinnum = sinnumRep
    
    instance Group r => Group (Trig r) where
      (-) = minusRep
      negate = negateRep
    

    antipodeM No usage example found for this symbol :( Collapse [-]
    coinvM No usage example found for this symbol :( Collapse [-]
    comultM No usage example found for this symbol :( Collapse [-]
    convolveM No usage example found for this symbol :( Collapse [-]
    counitM No usage example found for this symbol :( Collapse [-]
    invM No usage example found for this symbol :( Collapse [-]
    multM See 1 Occurences [+] Collapse [-]
    Found in Numeric.Coalgebra.Geometric from the package algebra
    -- reversion (A~) is an involution for the outer product
    reverse :: Group r => BasisCoblade m -> Comultivector r m
    reverse b = shiftR (g * (g - 1)) 1 `m1powTimes` return b where
      g = grade b
    
    cliffordConjugate :: Group r => BasisCoblade m -> Comultivector r m
    cliffordConjugate b = shiftR (g * (g + 1)) 1 `m1powTimes` return b where
      g = grade b
    
    -- A^
    gradeInversion :: Group r => BasisCoblade m -> Comultivector r m
    gradeInversion b = grade b `m1powTimes` return b
    
    geometric :: Eigenmetric r m => BasisCoblade m -> BasisCoblade m -> Comultivector r m  
    geometric = multM
    
    outer :: Eigenmetric r m => BasisCoblade m -> BasisCoblade m -> Comultivector r m
    outer m n | m .&. n == 0 = geometric m n 
              | otherwise    = zero
    

    unitM No usage example found for this symbol :( Collapse [-]
    Covector No usage example found for this symbol :( Collapse [-]
    Field No usage example found for this symbol :( Collapse [-]