lp-diagrams-2.0: An EDSL for diagrams based based on linear constraints

Safe HaskellSafe
LanguageHaskell2010

Algebra.AD

Documentation

data D v c Source #

Constructors

D 

Fields

Instances

(Ord v, Ring c) => Module c (D v c) Source # 

Methods

(*^) :: c -> D v c -> D v c #

Eq c => Eq (D v c) Source # 

Methods

(==) :: D v c -> D v c -> Bool #

(/=) :: D v c -> D v c -> Bool #

Ord c => Ord (D v c) Source # 

Methods

compare :: D v c -> D v c -> Ordering #

(<) :: D v c -> D v c -> Bool #

(<=) :: D v c -> D v c -> Bool #

(>) :: D v c -> D v c -> Bool #

(>=) :: D v c -> D v c -> Bool #

max :: D v c -> D v c -> D v c #

min :: D v c -> D v c -> D v c #

(Show v, Show c) => Show (D v c) Source # 

Methods

showsPrec :: Int -> D v c -> ShowS #

show :: D v c -> String #

showList :: [D v c] -> ShowS #

(Ord v, Additive c) => Additive (D v c) Source # 

Methods

(+) :: D v c -> D v c -> D v c #

zero :: D v c #

times :: Natural -> D v c -> D v c #

(AbelianAdditive c, Ord v) => AbelianAdditive (D v c) Source # 
(Ord v, Group c) => Group (D v c) Source # 

Methods

(-) :: D v c -> D v c -> D v c #

negate :: D v c -> D v c #

mult :: Integer -> D v c -> D v c #

(Ord v, Ring c) => Multiplicative (D v c) Source # 

Methods

(*) :: D v c -> D v c -> D v c #

one :: D v c #

(^) :: D v c -> Natural -> D v c #

(Ord v, Ring c) => Ring (D v c) Source # 

Methods

fromInteger :: Integer -> D v c #

(Field c, Ord v) => Division (D v c) Source # 

Methods

recip :: D v c -> D v c #

(/) :: D v c -> D v c -> D v c #

(Ord v, Ring c) => Module (D v c) (D v c) Source # 

Methods

(*^) :: D v c -> D v c -> D v c #

newtype E v c Source #

Constructors

E 

Fields

Instances

(Ord v, Ring c) => Module c (E v c) Source # 

Methods

(*^) :: c -> E v c -> E v c #

(Ord v, Additive c) => Additive (E v c) Source # 

Methods

(+) :: E v c -> E v c -> E v c #

zero :: E v c #

times :: Natural -> E v c -> E v c #

(Ord v, Ring c) => AbelianAdditive (E v c) Source # 
(Ord v, Group c) => Group (E v c) Source # 

Methods

(-) :: E v c -> E v c -> E v c #

negate :: E v c -> E v c #

mult :: Integer -> E v c -> E v c #

(Ord v, Ring c) => Multiplicative (E v c) Source # 

Methods

(*) :: E v c -> E v c -> E v c #

one :: E v c #

(^) :: E v c -> Natural -> E v c #

(Ord v, Ring c) => Ring (E v c) Source # 

Methods

fromInteger :: Integer -> E v c #

(Field c, Ord v) => Division (E v c) Source # 

Methods

recip :: E v c -> E v c #

(/) :: E v c -> E v c -> E v c #

(Ord v, Ring c) => Module (E v c) (E v c) Source # 

Methods

(*^) :: E v c -> E v c -> E v c #

subst :: E v c -> (v -> E v c) -> E v c Source #

dVar :: forall v c. Ring c => v -> c -> D v c Source #

var :: (Multiplicative c, Additive c, Ord v) => v -> E v c Source #

sqrtE :: forall t t1. (Floating t1, Ord t, Field t1) => E t t1 -> E t t1 Source #