algebra-4.3.1: Constructive abstract algebra

Safe HaskellNone
LanguageHaskell98

Numeric.Coalgebra.Trigonometric

Documentation

class Trigonometric r where Source #

Minimal complete definition

cos, sin

Methods

cos :: r Source #

sin :: r Source #

data TrigBasis Source #

Constructors

Cos 
Sin 

Instances

Bounded TrigBasis Source # 
Enum TrigBasis Source # 
Eq TrigBasis Source # 
Data TrigBasis Source # 

Methods

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

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

toConstr :: TrigBasis -> Constr #

dataTypeOf :: TrigBasis -> DataType #

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

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

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

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

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

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

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

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

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

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

Ord TrigBasis Source # 
Read TrigBasis Source # 
Show TrigBasis Source # 
Ix TrigBasis Source # 
Trigonometric TrigBasis Source # 
Distinguished TrigBasis Source # 

Methods

e :: TrigBasis Source #

Complicated TrigBasis Source # 

Methods

i :: TrigBasis Source #

MonadReader TrigBasis Trig Source # 

Methods

ask :: Trig TrigBasis #

local :: (TrigBasis -> TrigBasis) -> Trig a -> Trig a #

reader :: (TrigBasis -> a) -> Trig a #

(Commutative k, Rng k) => Coalgebra k TrigBasis Source # 

Methods

comult :: (TrigBasis -> k) -> TrigBasis -> TrigBasis -> k Source #

(Commutative k, Rng k) => Algebra k TrigBasis Source # 

Methods

mult :: (TrigBasis -> TrigBasis -> k) -> TrigBasis -> k Source #

(Commutative k, Rng k) => Bialgebra k TrigBasis Source # 
(Commutative k, Rng k) => CounitalCoalgebra k TrigBasis Source # 

Methods

counit :: (TrigBasis -> k) -> k Source #

(Commutative k, Rng k) => UnitalAlgebra k TrigBasis Source # 

Methods

unit :: k -> TrigBasis -> k Source #

(Commutative k, Group k, InvolutiveSemiring k) => HopfAlgebra k TrigBasis Source # 

Methods

antipode :: (TrigBasis -> k) -> TrigBasis -> k Source #

(Commutative k, Group k, InvolutiveSemiring k) => InvolutiveCoalgebra k TrigBasis Source # 

Methods

coinv :: (TrigBasis -> k) -> TrigBasis -> k Source #

(Commutative k, Group k, InvolutiveSemiring k) => InvolutiveAlgebra k TrigBasis Source # 

Methods

inv :: (TrigBasis -> k) -> TrigBasis -> k Source #

Rig r => Trigonometric (TrigBasis -> r) Source # 

Methods

cos :: TrigBasis -> r Source #

sin :: TrigBasis -> r Source #

Rig r => Distinguished (TrigBasis -> r) Source # 

Methods

e :: TrigBasis -> r Source #

Rig r => Complicated (TrigBasis -> r) Source # 

Methods

i :: TrigBasis -> r Source #

data Trig a Source #

Constructors

Trig a a 

Instances

Monad Trig Source # 

Methods

(>>=) :: Trig a -> (a -> Trig b) -> Trig b #

(>>) :: Trig a -> Trig b -> Trig b #

return :: a -> Trig a #

fail :: String -> Trig a #

Functor Trig Source # 

Methods

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

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

Applicative Trig Source # 

Methods

pure :: a -> Trig a #

(<*>) :: Trig (a -> b) -> Trig a -> Trig b #

liftA2 :: (a -> b -> c) -> Trig a -> Trig b -> Trig c #

(*>) :: Trig a -> Trig b -> Trig b #

(<*) :: Trig a -> Trig b -> Trig a #

Foldable Trig Source # 

Methods

fold :: Monoid m => Trig m -> m #

foldMap :: Monoid m => (a -> m) -> Trig a -> m #

foldr :: (a -> b -> b) -> b -> Trig a -> b #

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

foldl :: (b -> a -> b) -> b -> Trig a -> b #

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

foldr1 :: (a -> a -> a) -> Trig a -> a #

foldl1 :: (a -> a -> a) -> Trig a -> a #

toList :: Trig a -> [a] #

null :: Trig a -> Bool #

length :: Trig a -> Int #

elem :: Eq a => a -> Trig a -> Bool #

maximum :: Ord a => Trig a -> a #

minimum :: Ord a => Trig a -> a #

sum :: Num a => Trig a -> a #

product :: Num a => Trig a -> a #

Traversable Trig Source # 

Methods

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

sequenceA :: Applicative f => Trig (f a) -> f (Trig a) #

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

sequence :: Monad m => Trig (m a) -> m (Trig a) #

Distributive Trig Source # 

Methods

distribute :: Functor f => f (Trig a) -> Trig (f a) #

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

distributeM :: Monad m => m (Trig a) -> Trig (m a) #

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

Representable Trig Source # 

Associated Types

type Rep (Trig :: * -> *) :: * #

Methods

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

index :: Trig a -> Rep Trig -> a #

Traversable1 Trig Source # 

Methods

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

sequence1 :: Apply f => Trig (f b) -> f (Trig b) #

Foldable1 Trig Source # 

Methods

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

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

toNonEmpty :: Trig a -> NonEmpty a #

Apply Trig Source # 

Methods

(<.>) :: Trig (a -> b) -> Trig a -> Trig b #

(.>) :: Trig a -> Trig b -> Trig b #

(<.) :: Trig a -> Trig b -> Trig a #

Bind Trig Source # 

Methods

(>>-) :: Trig a -> (a -> Trig b) -> Trig b #

join :: Trig (Trig a) -> Trig a #

MonadReader TrigBasis Trig Source # 

Methods

ask :: Trig TrigBasis #

local :: (TrigBasis -> TrigBasis) -> Trig a -> Trig a #

reader :: (TrigBasis -> a) -> Trig a #

RightModule r s => RightModule r (Trig s) Source # 

Methods

(*.) :: Trig s -> r -> Trig s Source #

LeftModule r s => LeftModule r (Trig s) Source # 

Methods

(.*) :: r -> Trig s -> Trig s Source #

Eq a => Eq (Trig a) Source # 

Methods

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

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

Data a => Data (Trig a) Source # 

Methods

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

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

toConstr :: Trig a -> Constr #

dataTypeOf :: Trig a -> DataType #

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

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

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

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

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

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

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

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

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

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

Read a => Read (Trig a) Source # 
Show a => Show (Trig a) Source # 

Methods

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

show :: Trig a -> String #

showList :: [Trig a] -> ShowS #

Idempotent r => Idempotent (Trig r) Source # 
Abelian r => Abelian (Trig r) Source # 
Partitionable r => Partitionable (Trig r) Source # 

Methods

partitionWith :: (Trig r -> Trig r -> r) -> Trig r -> NonEmpty r Source #

Additive r => Additive (Trig r) Source # 

Methods

(+) :: Trig r -> Trig r -> Trig r Source #

sinnum1p :: Natural -> Trig r -> Trig r Source #

sumWith1 :: Foldable1 f => (a -> Trig r) -> f a -> Trig r Source #

Monoidal r => Monoidal (Trig r) Source # 

Methods

zero :: Trig r Source #

sinnum :: Natural -> Trig r -> Trig r Source #

sumWith :: Foldable f => (a -> Trig r) -> f a -> Trig r Source #

(Commutative k, Rng k) => Semiring (Trig k) Source # 
(Commutative k, Rng k) => Multiplicative (Trig k) Source # 

Methods

(*) :: Trig k -> Trig k -> Trig k Source #

pow1p :: Trig k -> Natural -> Trig k Source #

productWith1 :: Foldable1 f => (a -> Trig k) -> f a -> Trig k Source #

Group r => Group (Trig r) Source # 

Methods

(-) :: Trig r -> Trig r -> Trig r Source #

negate :: Trig r -> Trig r Source #

subtract :: Trig r -> Trig r -> Trig r Source #

times :: Integral n => n -> Trig r -> Trig r Source #

(Commutative k, Ring k) => Unital (Trig k) Source # 

Methods

one :: Trig k Source #

pow :: Trig k -> Natural -> Trig k Source #

productWith :: Foldable f => (a -> Trig k) -> f a -> Trig k Source #

(Commutative k, Rng k) => Commutative (Trig k) Source # 
(Commutative r, Rng r, InvolutiveSemiring r) => InvolutiveSemiring (Trig r) Source # 
(Commutative r, Rng r, InvolutiveMultiplication r) => InvolutiveMultiplication (Trig r) Source # 

Methods

adjoint :: Trig r -> Trig r Source #

(Commutative r, Ring r) => Rig (Trig r) Source # 
(Commutative r, Ring r) => Ring (Trig r) Source # 
Rig r => Trigonometric (Trig r) Source # 

Methods

cos :: Trig r Source #

sin :: Trig r Source #

Rig r => Distinguished (Trig r) Source # 

Methods

e :: Trig r Source #

Rig r => Complicated (Trig r) Source # 

Methods

i :: Trig r Source #

(Commutative r, Rng r) => RightModule (Trig r) (Trig r) Source # 

Methods

(*.) :: Trig r -> Trig r -> Trig r Source #

(Commutative r, Rng r) => LeftModule (Trig r) (Trig r) Source # 

Methods

(.*) :: Trig r -> Trig r -> Trig r Source #

type Rep Trig Source #