algebra-4.3.1: Constructive abstract algebra

Safe HaskellSafe
LanguageHaskell98

Numeric.Coalgebra.Dual

Synopsis

Documentation

class Distinguished t where #

Minimal complete definition

e

Methods

e :: t #

Instances
Distinguished TrigBasis # 
Instance details

Defined in Numeric.Coalgebra.Trigonometric

Methods

e :: TrigBasis #

Distinguished QuaternionBasis' # 
Instance details

Defined in Numeric.Coalgebra.Quaternion

Methods

e :: QuaternionBasis' #

Distinguished DualBasis' # 
Instance details

Defined in Numeric.Coalgebra.Dual

Methods

e :: DualBasis' #

Distinguished QuaternionBasis # 
Instance details

Defined in Numeric.Algebra.Quaternion

Methods

e :: QuaternionBasis #

Distinguished DualBasis # 
Instance details

Defined in Numeric.Algebra.Dual

Methods

e :: DualBasis #

Distinguished ComplexBasis # 
Instance details

Defined in Numeric.Algebra.Complex

Methods

e :: ComplexBasis #

Rig r => Distinguished (Trig r) # 
Instance details

Defined in Numeric.Coalgebra.Trigonometric

Methods

e :: Trig r #

Rig r => Distinguished (Quaternion' r) # 
Instance details

Defined in Numeric.Coalgebra.Quaternion

Methods

e :: Quaternion' r #

Rig r => Distinguished (Dual' r) # 
Instance details

Defined in Numeric.Coalgebra.Dual

Methods

e :: Dual' r #

Rig r => Distinguished (Quaternion r) # 
Instance details

Defined in Numeric.Algebra.Quaternion

Methods

e :: Quaternion r #

Rig r => Distinguished (Dual r) # 
Instance details

Defined in Numeric.Algebra.Dual

Methods

e :: Dual r #

Rig r => Distinguished (Complex r) # 
Instance details

Defined in Numeric.Algebra.Complex

Methods

e :: Complex r #

Rig r => Distinguished (TrigBasis -> r) # 
Instance details

Defined in Numeric.Coalgebra.Trigonometric

Methods

e :: TrigBasis -> r #

Rig r => Distinguished (QuaternionBasis' -> r) # 
Instance details

Defined in Numeric.Coalgebra.Quaternion

Methods

e :: QuaternionBasis' -> r #

Rig r => Distinguished (DualBasis' -> r) # 
Instance details

Defined in Numeric.Coalgebra.Dual

Methods

e :: DualBasis' -> r #

Rig r => Distinguished (QuaternionBasis -> r) # 
Instance details

Defined in Numeric.Algebra.Quaternion

Methods

e :: QuaternionBasis -> r #

Rig r => Distinguished (DualBasis -> r) # 
Instance details

Defined in Numeric.Algebra.Dual

Methods

e :: DualBasis -> r #

Rig r => Distinguished (ComplexBasis -> r) # 
Instance details

Defined in Numeric.Algebra.Complex

Methods

e :: ComplexBasis -> r #

Distinguished a => Distinguished (Covector r a) # 
Instance details

Defined in Numeric.Algebra.Distinguished.Class

Methods

e :: Covector r a #

class Distinguished t => Infinitesimal t where #

Minimal complete definition

d

Methods

d :: t #

Instances
Infinitesimal DualBasis' # 
Instance details

Defined in Numeric.Coalgebra.Dual

Methods

d :: DualBasis' #

Infinitesimal DualBasis # 
Instance details

Defined in Numeric.Algebra.Dual

Methods

d :: DualBasis #

Rig r => Infinitesimal (Dual' r) # 
Instance details

Defined in Numeric.Coalgebra.Dual

Methods

d :: Dual' r #

Rig r => Infinitesimal (Dual r) # 
Instance details

Defined in Numeric.Algebra.Dual

Methods

d :: Dual r #

Rig r => Infinitesimal (DualBasis' -> r) # 
Instance details

Defined in Numeric.Coalgebra.Dual

Methods

d :: DualBasis' -> r #

Rig r => Infinitesimal (DualBasis -> r) # 
Instance details

Defined in Numeric.Algebra.Dual

Methods

d :: DualBasis -> r #

Infinitesimal a => Infinitesimal (Covector r a) # 
Instance details

Defined in Numeric.Algebra.Dual.Class

Methods

d :: Covector r a #

data DualBasis' #

dual number basis, D^2 = 0. D /= 0.

Constructors

E 
D 
Instances
Bounded DualBasis' # 
Instance details

Defined in Numeric.Coalgebra.Dual

Enum DualBasis' # 
Instance details

Defined in Numeric.Coalgebra.Dual

Eq DualBasis' # 
Instance details

Defined in Numeric.Coalgebra.Dual

Data DualBasis' # 
Instance details

Defined in Numeric.Coalgebra.Dual

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> DualBasis' -> c DualBasis' #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c DualBasis' #

toConstr :: DualBasis' -> Constr #

dataTypeOf :: DualBasis' -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c DualBasis') #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c DualBasis') #

gmapT :: (forall b. Data b => b -> b) -> DualBasis' -> DualBasis' #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> DualBasis' -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> DualBasis' -> r #

gmapQ :: (forall d. Data d => d -> u) -> DualBasis' -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> DualBasis' -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> DualBasis' -> m DualBasis' #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> DualBasis' -> m DualBasis' #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> DualBasis' -> m DualBasis' #

Ord DualBasis' # 
Instance details

Defined in Numeric.Coalgebra.Dual

Read DualBasis' # 
Instance details

Defined in Numeric.Coalgebra.Dual

Show DualBasis' # 
Instance details

Defined in Numeric.Coalgebra.Dual

Ix DualBasis' # 
Instance details

Defined in Numeric.Coalgebra.Dual

Distinguished DualBasis' # 
Instance details

Defined in Numeric.Coalgebra.Dual

Methods

e :: DualBasis' #

Infinitesimal DualBasis' # 
Instance details

Defined in Numeric.Coalgebra.Dual

Methods

d :: DualBasis' #

MonadReader DualBasis' Dual' # 
Instance details

Defined in Numeric.Coalgebra.Dual

Methods

ask :: Dual' DualBasis' #

local :: (DualBasis' -> DualBasis') -> Dual' a -> Dual' a #

reader :: (DualBasis' -> a) -> Dual' a #

Rng k => Coalgebra k DualBasis' # 
Instance details

Defined in Numeric.Coalgebra.Dual

Methods

comult :: (DualBasis' -> k) -> DualBasis' -> DualBasis' -> k #

Semiring k => Algebra k DualBasis' # 
Instance details

Defined in Numeric.Coalgebra.Dual

Methods

mult :: (DualBasis' -> DualBasis' -> k) -> DualBasis' -> k #

Rng k => Bialgebra k DualBasis' # 
Instance details

Defined in Numeric.Coalgebra.Dual

Rng k => CounitalCoalgebra k DualBasis' # 
Instance details

Defined in Numeric.Coalgebra.Dual

Methods

counit :: (DualBasis' -> k) -> k #

Semiring k => UnitalAlgebra k DualBasis' # 
Instance details

Defined in Numeric.Coalgebra.Dual

Methods

unit :: k -> DualBasis' -> k #

(InvolutiveSemiring k, Rng k) => HopfAlgebra k DualBasis' # 
Instance details

Defined in Numeric.Coalgebra.Dual

Methods

antipode :: (DualBasis' -> k) -> DualBasis' -> k #

(InvolutiveSemiring k, Rng k) => InvolutiveCoalgebra k DualBasis' # 
Instance details

Defined in Numeric.Coalgebra.Dual

Methods

coinv :: (DualBasis' -> k) -> DualBasis' -> k #

(InvolutiveSemiring k, Rng k) => InvolutiveAlgebra k DualBasis' # 
Instance details

Defined in Numeric.Coalgebra.Dual

Methods

inv :: (DualBasis' -> k) -> DualBasis' -> k #

Rig r => Distinguished (DualBasis' -> r) # 
Instance details

Defined in Numeric.Coalgebra.Dual

Methods

e :: DualBasis' -> r #

Rig r => Infinitesimal (DualBasis' -> r) # 
Instance details

Defined in Numeric.Coalgebra.Dual

Methods

d :: DualBasis' -> r #

data Dual' a #

Constructors

Dual' a a 
Instances
Monad Dual' # 
Instance details

Defined in Numeric.Coalgebra.Dual

Methods

(>>=) :: Dual' a -> (a -> Dual' b) -> Dual' b #

(>>) :: Dual' a -> Dual' b -> Dual' b #

return :: a -> Dual' a #

fail :: String -> Dual' a #

Functor Dual' # 
Instance details

Defined in Numeric.Coalgebra.Dual

Methods

fmap :: (a -> b) -> Dual' a -> Dual' b #

(<$) :: a -> Dual' b -> Dual' a #

Applicative Dual' # 
Instance details

Defined in Numeric.Coalgebra.Dual

Methods

pure :: a -> Dual' a #

(<*>) :: Dual' (a -> b) -> Dual' a -> Dual' b #

liftA2 :: (a -> b -> c) -> Dual' a -> Dual' b -> Dual' c #

(*>) :: Dual' a -> Dual' b -> Dual' b #

(<*) :: Dual' a -> Dual' b -> Dual' a #

Foldable Dual' # 
Instance details

Defined in Numeric.Coalgebra.Dual

Methods

fold :: Monoid m => Dual' m -> m #

foldMap :: Monoid m => (a -> m) -> Dual' a -> m #

foldr :: (a -> b -> b) -> b -> Dual' a -> b #

foldr' :: (a -> b -> b) -> b -> Dual' a -> b #

foldl :: (b -> a -> b) -> b -> Dual' a -> b #

foldl' :: (b -> a -> b) -> b -> Dual' a -> b #

foldr1 :: (a -> a -> a) -> Dual' a -> a #

foldl1 :: (a -> a -> a) -> Dual' a -> a #

toList :: Dual' a -> [a] #

null :: Dual' a -> Bool #

length :: Dual' a -> Int #

elem :: Eq a => a -> Dual' a -> Bool #

maximum :: Ord a => Dual' a -> a #

minimum :: Ord a => Dual' a -> a #

sum :: Num a => Dual' a -> a #

product :: Num a => Dual' a -> a #

Traversable Dual' # 
Instance details

Defined in Numeric.Coalgebra.Dual

Methods

traverse :: Applicative f => (a -> f b) -> Dual' a -> f (Dual' b) #

sequenceA :: Applicative f => Dual' (f a) -> f (Dual' a) #

mapM :: Monad m => (a -> m b) -> Dual' a -> m (Dual' b) #

sequence :: Monad m => Dual' (m a) -> m (Dual' a) #

Distributive Dual' # 
Instance details

Defined in Numeric.Coalgebra.Dual

Methods

distribute :: Functor f => f (Dual' a) -> Dual' (f a) #

collect :: Functor f => (a -> Dual' b) -> f a -> Dual' (f b) #

distributeM :: Monad m => m (Dual' a) -> Dual' (m a) #

collectM :: Monad m => (a -> Dual' b) -> m a -> Dual' (m b) #

Representable Dual' # 
Instance details

Defined in Numeric.Coalgebra.Dual

Associated Types

type Rep Dual' :: * #

Methods

tabulate :: (Rep Dual' -> a) -> Dual' a #

index :: Dual' a -> Rep Dual' -> a #

Traversable1 Dual' # 
Instance details

Defined in Numeric.Coalgebra.Dual

Methods

traverse1 :: Apply f => (a -> f b) -> Dual' a -> f (Dual' b) #

sequence1 :: Apply f => Dual' (f b) -> f (Dual' b) #

Foldable1 Dual' # 
Instance details

Defined in Numeric.Coalgebra.Dual

Methods

fold1 :: Semigroup m => Dual' m -> m #

foldMap1 :: Semigroup m => (a -> m) -> Dual' a -> m #

toNonEmpty :: Dual' a -> NonEmpty a #

Apply Dual' # 
Instance details

Defined in Numeric.Coalgebra.Dual

Methods

(<.>) :: Dual' (a -> b) -> Dual' a -> Dual' b #

(.>) :: Dual' a -> Dual' b -> Dual' b #

(<.) :: Dual' a -> Dual' b -> Dual' a #

liftF2 :: (a -> b -> c) -> Dual' a -> Dual' b -> Dual' c #

Bind Dual' # 
Instance details

Defined in Numeric.Coalgebra.Dual

Methods

(>>-) :: Dual' a -> (a -> Dual' b) -> Dual' b #

join :: Dual' (Dual' a) -> Dual' a #

MonadReader DualBasis' Dual' # 
Instance details

Defined in Numeric.Coalgebra.Dual

Methods

ask :: Dual' DualBasis' #

local :: (DualBasis' -> DualBasis') -> Dual' a -> Dual' a #

reader :: (DualBasis' -> a) -> Dual' a #

RightModule r s => RightModule r (Dual' s) # 
Instance details

Defined in Numeric.Coalgebra.Dual

Methods

(*.) :: Dual' s -> r -> Dual' s #

LeftModule r s => LeftModule r (Dual' s) # 
Instance details

Defined in Numeric.Coalgebra.Dual

Methods

(.*) :: r -> Dual' s -> Dual' s #

(Commutative r, Rng r, InvolutiveSemiring r) => Quadrance r (Dual' r) # 
Instance details

Defined in Numeric.Coalgebra.Dual

Methods

quadrance :: Dual' r -> r #

Eq a => Eq (Dual' a) # 
Instance details

Defined in Numeric.Coalgebra.Dual

Methods

(==) :: Dual' a -> Dual' a -> Bool #

(/=) :: Dual' a -> Dual' a -> Bool #

Data a => Data (Dual' a) # 
Instance details

Defined in Numeric.Coalgebra.Dual

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Dual' a -> c (Dual' a) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Dual' a) #

toConstr :: Dual' a -> Constr #

dataTypeOf :: Dual' a -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Dual' a)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Dual' a)) #

gmapT :: (forall b. Data b => b -> b) -> Dual' a -> Dual' a #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Dual' a -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Dual' a -> r #

gmapQ :: (forall d. Data d => d -> u) -> Dual' a -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Dual' a -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Dual' a -> m (Dual' a) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Dual' a -> m (Dual' a) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Dual' a -> m (Dual' a) #

Read a => Read (Dual' a) # 
Instance details

Defined in Numeric.Coalgebra.Dual

Show a => Show (Dual' a) # 
Instance details

Defined in Numeric.Coalgebra.Dual

Methods

showsPrec :: Int -> Dual' a -> ShowS #

show :: Dual' a -> String #

showList :: [Dual' a] -> ShowS #

Idempotent r => Idempotent (Dual' r) # 
Instance details

Defined in Numeric.Coalgebra.Dual

Abelian r => Abelian (Dual' r) # 
Instance details

Defined in Numeric.Coalgebra.Dual

Partitionable r => Partitionable (Dual' r) # 
Instance details

Defined in Numeric.Coalgebra.Dual

Methods

partitionWith :: (Dual' r -> Dual' r -> r0) -> Dual' r -> NonEmpty r0 #

Additive r => Additive (Dual' r) # 
Instance details

Defined in Numeric.Coalgebra.Dual

Methods

(+) :: Dual' r -> Dual' r -> Dual' r #

sinnum1p :: Natural -> Dual' r -> Dual' r #

sumWith1 :: Foldable1 f => (a -> Dual' r) -> f a -> Dual' r #

Monoidal r => Monoidal (Dual' r) # 
Instance details

Defined in Numeric.Coalgebra.Dual

Methods

zero :: Dual' r #

sinnum :: Natural -> Dual' r -> Dual' r #

sumWith :: Foldable f => (a -> Dual' r) -> f a -> Dual' r #

(Commutative r, Rng r) => Semiring (Dual' r) # 
Instance details

Defined in Numeric.Coalgebra.Dual

(Commutative r, Rng r) => Multiplicative (Dual' r) # 
Instance details

Defined in Numeric.Coalgebra.Dual

Methods

(*) :: Dual' r -> Dual' r -> Dual' r #

pow1p :: Dual' r -> Natural -> Dual' r #

productWith1 :: Foldable1 f => (a -> Dual' r) -> f a -> Dual' r #

Group r => Group (Dual' r) # 
Instance details

Defined in Numeric.Coalgebra.Dual

Methods

(-) :: Dual' r -> Dual' r -> Dual' r #

negate :: Dual' r -> Dual' r #

subtract :: Dual' r -> Dual' r -> Dual' r #

times :: Integral n => n -> Dual' r -> Dual' r #

(Commutative r, Ring r) => Unital (Dual' r) # 
Instance details

Defined in Numeric.Coalgebra.Dual

Methods

one :: Dual' r #

pow :: Dual' r -> Natural -> Dual' r #

productWith :: Foldable f => (a -> Dual' r) -> f a -> Dual' r #

(Commutative r, InvolutiveSemiring r, DivisionRing r) => Division (Dual' r) # 
Instance details

Defined in Numeric.Coalgebra.Dual

Methods

recip :: Dual' r -> Dual' r #

(/) :: Dual' r -> Dual' r -> Dual' r #

(\\) :: Dual' r -> Dual' r -> Dual' r #

(^) :: Integral n => Dual' r -> n -> Dual' r #

(TriviallyInvolutive r, Rng r) => Commutative (Dual' r) # 
Instance details

Defined in Numeric.Coalgebra.Dual

(Commutative r, Rng r, InvolutiveSemiring r) => InvolutiveSemiring (Dual' r) # 
Instance details

Defined in Numeric.Coalgebra.Dual

(Commutative r, Rng r, InvolutiveSemiring r) => InvolutiveMultiplication (Dual' r) # 
Instance details

Defined in Numeric.Coalgebra.Dual

Methods

adjoint :: Dual' r -> Dual' r #

(Commutative r, Ring r) => Rig (Dual' r) # 
Instance details

Defined in Numeric.Coalgebra.Dual

Methods

fromNatural :: Natural -> Dual' r #

(Commutative r, Ring r) => Ring (Dual' r) # 
Instance details

Defined in Numeric.Coalgebra.Dual

Methods

fromInteger :: Integer -> Dual' r #

Rig r => Distinguished (Dual' r) # 
Instance details

Defined in Numeric.Coalgebra.Dual

Methods

e :: Dual' r #

Rig r => Infinitesimal (Dual' r) # 
Instance details

Defined in Numeric.Coalgebra.Dual

Methods

d :: Dual' r #

(Commutative r, Rng r) => RightModule (Dual' r) (Dual' r) # 
Instance details

Defined in Numeric.Coalgebra.Dual

Methods

(*.) :: Dual' r -> Dual' r -> Dual' r #

(Commutative r, Rng r) => LeftModule (Dual' r) (Dual' r) # 
Instance details

Defined in Numeric.Coalgebra.Dual

Methods

(.*) :: Dual' r -> Dual' r -> Dual' r #

type Rep Dual' # 
Instance details

Defined in Numeric.Coalgebra.Dual