rings-0.0.3: Ring-like objects.

Safe HaskellSafe
LanguageHaskell2010

Data.Algebra.Dual

Synopsis

Documentation

type D = Dual Source #

data Dual a Source #

Constructors

Dual a a 
Instances
Functor Dual Source # 
Instance details

Defined in Data.Algebra.Dual

Methods

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

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

Applicative Dual Source # 
Instance details

Defined in Data.Algebra.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 Source # 
Instance details

Defined in Data.Algebra.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 Source # 
Instance details

Defined in Data.Algebra.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 Source # 
Instance details

Defined in Data.Algebra.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 Source # 
Instance details

Defined in Data.Algebra.Dual

Associated Types

type Rep Dual :: Type #

Methods

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

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

Show1 Dual Source # 
Instance details

Defined in Data.Algebra.Dual

Methods

liftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> Dual a -> ShowS #

liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [Dual a] -> ShowS #

Foldable1 Dual Source # 
Instance details

Defined in Data.Algebra.Dual

Methods

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

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

toNonEmpty :: Dual a -> NonEmpty a #

Semiring a => Bisemimodule a a (Dual a) Source # 
Instance details

Defined in Data.Algebra.Dual

Methods

discale :: a -> a -> Dual a -> Dual a Source #

Semiring a => RightSemimodule a (Dual a) Source # 
Instance details

Defined in Data.Algebra.Dual

Methods

rscale :: a -> Dual a -> Dual a Source #

Semiring a => LeftSemimodule a (Dual a) Source # 
Instance details

Defined in Data.Algebra.Dual

Methods

lscale :: a -> Dual a -> Dual a Source #

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

Defined in Data.Algebra.Dual

Methods

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

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

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

Defined in Data.Algebra.Dual

Methods

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

show :: Dual a -> String #

showList :: [Dual a] -> ShowS #

(Additive - Semigroup) a => Semigroup (Additive (Dual a)) Source # 
Instance details

Defined in Data.Algebra.Dual

Methods

(<>) :: Additive (Dual a) -> Additive (Dual a) -> Additive (Dual a) #

sconcat :: NonEmpty (Additive (Dual a)) -> Additive (Dual a) #

stimes :: Integral b => b -> Additive (Dual a) -> Additive (Dual a) #

(Additive - Monoid) a => Monoid (Additive (Dual a)) Source # 
Instance details

Defined in Data.Algebra.Dual

Methods

mempty :: Additive (Dual a) #

mappend :: Additive (Dual a) -> Additive (Dual a) -> Additive (Dual a) #

mconcat :: [Additive (Dual a)] -> Additive (Dual a) #

(Additive - Group) a => Group (Additive (Dual a)) Source # 
Instance details

Defined in Data.Algebra.Dual

Methods

inv :: Additive (Dual a) -> Additive (Dual a) #

greplicate :: Integer -> Additive (Dual a) -> Additive (Dual a) #

(Additive - Group) a => Loop (Additive (Dual a)) Source # 
Instance details

Defined in Data.Algebra.Dual

(Additive - Group) a => Quasigroup (Additive (Dual a)) Source # 
Instance details

Defined in Data.Algebra.Dual

Methods

(//) :: Additive (Dual a) -> Additive (Dual a) -> Additive (Dual a) #

(\\) :: Additive (Dual a) -> Additive (Dual a) -> Additive (Dual a) #

(Additive - Group) a => Magma (Additive (Dual a)) Source # 
Instance details

Defined in Data.Algebra.Dual

Methods

(<<) :: Additive (Dual a) -> Additive (Dual a) -> Additive (Dual a) #

type Rep Dual Source # 
Instance details

Defined in Data.Algebra.Dual

type Rep Dual = D2