rings-0.0.2.4: Groups, rings, semirings, and dioids.

Safe HaskellSafe
LanguageHaskell2010

Data.Semiring.V2

Documentation

data V2 a Source #

Constructors

V2 !a !a 
Instances
Functor V2 Source # 
Instance details

Defined in Data.Semiring.V2

Methods

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

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

Foldable V2 Source # 
Instance details

Defined in Data.Semiring.V2

Methods

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

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

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

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

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

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

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

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

toList :: V2 a -> [a] #

null :: V2 a -> Bool #

length :: V2 a -> Int #

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

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

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

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

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

Distributive V2 Source # 
Instance details

Defined in Data.Semiring.V2

Methods

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

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

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

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

Representable V2 Source # 
Instance details

Defined in Data.Semiring.V2

Associated Types

type Rep V2 :: Type #

Methods

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

index :: V2 a -> Rep V2 -> a #

Foldable1 V2 Source # 
Instance details

Defined in Data.Semiring.V2

Methods

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

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

toNonEmpty :: V2 a -> NonEmpty a #

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

Defined in Data.Semiring.V2

Methods

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

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

Ord a => Ord (V2 a) Source # 
Instance details

Defined in Data.Semiring.V2

Methods

compare :: V2 a -> V2 a -> Ordering #

(<) :: V2 a -> V2 a -> Bool #

(<=) :: V2 a -> V2 a -> Bool #

(>) :: V2 a -> V2 a -> Bool #

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

max :: V2 a -> V2 a -> V2 a #

min :: V2 a -> V2 a -> V2 a #

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

Defined in Data.Semiring.V2

Methods

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

show :: V2 a -> String #

showList :: [V2 a] -> ShowS #

Semigroup a => Semigroup (V2 a) Source #

Entry-wise vector or matrix addition.

>>> V2 (V3 1 2 3) (V3 4 5 6) <> V2 (V3 7 8 9) (V3 1 2 3)
V2 (V3 8 10 12) (V3 5 7 9)
Instance details

Defined in Data.Semiring.V2

Methods

(<>) :: V2 a -> V2 a -> V2 a #

sconcat :: NonEmpty (V2 a) -> V2 a #

stimes :: Integral b => b -> V2 a -> V2 a #

Monoid a => Monoid (V2 a) Source # 
Instance details

Defined in Data.Semiring.V2

Methods

mempty :: V2 a #

mappend :: V2 a -> V2 a -> V2 a #

mconcat :: [V2 a] -> V2 a #

Prd a => Prd (V2 a) Source # 
Instance details

Defined in Data.Semiring.V2

Methods

(<~) :: V2 a -> V2 a -> Bool #

(>~) :: V2 a -> V2 a -> Bool #

(=~) :: V2 a -> V2 a -> Bool #

(?~) :: V2 a -> V2 a -> Bool #

pcompare :: V2 a -> V2 a -> Maybe Ordering #

Group a => Group (V2 a) Source #

Entry-wise vector or matrix subtraction.

>>> V2 (V3 1 2 3) (V3 4 5 6) << V2 (V3 7 8 9) (V3 1 2 3)
V2 (V3 (-6) (-6) (-6)) (V3 3 3 3)
Instance details

Defined in Data.Semiring.V2

Methods

negate :: V2 a -> V2 a Source #

(<<) :: V2 a -> V2 a -> V2 a Source #

Unital a => Semiring (V2 a) Source #

Entry-wise vector or matrix multiplication.

>>> V2 (V3 1 2 3) (V3 4 5 6) >< V2 (V3 7 8 9) (V3 1 2 3)
V2 (V3 7 16 27) (V3 4 10 18)
Instance details

Defined in Data.Semiring.V2

Methods

(><) :: V2 a -> V2 a -> V2 a Source #

fromBoolean :: Bool -> V2 a Source #

(Monoid a, Dioid a) => Dioid (V2 a) Source # 
Instance details

Defined in Data.Semiring.V2

Methods

fromNatural :: Natural -> V2 a Source #

type Rep V2 Source # 
Instance details

Defined in Data.Semiring.V2

type Rep V2 = I2

data I2 Source #

Constructors

I21 
I22 
Instances
Eq I2 Source # 
Instance details

Defined in Data.Semiring.V2

Methods

(==) :: I2 -> I2 -> Bool #

(/=) :: I2 -> I2 -> Bool #

Ord I2 Source # 
Instance details

Defined in Data.Semiring.V2

Methods

compare :: I2 -> I2 -> Ordering #

(<) :: I2 -> I2 -> Bool #

(<=) :: I2 -> I2 -> Bool #

(>) :: I2 -> I2 -> Bool #

(>=) :: I2 -> I2 -> Bool #

max :: I2 -> I2 -> I2 #

min :: I2 -> I2 -> I2 #

Show I2 Source # 
Instance details

Defined in Data.Semiring.V2

Methods

showsPrec :: Int -> I2 -> ShowS #

show :: I2 -> String #

showList :: [I2] -> ShowS #

Prd I2 Source # 
Instance details

Defined in Data.Semiring.V2

Methods

(<~) :: I2 -> I2 -> Bool #

(>~) :: I2 -> I2 -> Bool #

(=~) :: I2 -> I2 -> Bool #

(?~) :: I2 -> I2 -> Bool #

pcompare :: I2 -> I2 -> Maybe Ordering #

Minimal I2 Source # 
Instance details

Defined in Data.Semiring.V2

Methods

minimal :: I2 #

Maximal I2 Source # 
Instance details

Defined in Data.Semiring.V2

Methods

maximal :: I2 #