Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
Synopsis
- data Transform2D a b = Transform2D {
- transform_diagonal :: a -> b
- transform_commutator :: a -> a -> b
- transform_symmetry :: a -> b -> a -> b
- inverseImage2D :: (a -> b) -> Transform2D b c -> Transform2D a c
- image2D :: (a :==: b) -> Transform2D c a -> Transform2D c b
- codiagonalsWith :: (Num a, Closed a) => Transform2D a b -> (Stream :*: Stream) a -> Stream b
- element2D :: a -> a -> Transform2D () a
- elementIter2D :: a -> a -> (a -> a) -> Transform2D () a
- vector2D :: (Floating (Scalar v), InnerProductSpace v) => (v -> Scalar v -> v -> Scalar v) -> Transform2D v (Scalar v)
- functor2D :: (FunctorArrow f arr arr, Category arr) => (arr a a -> arr a a -> arr (f a) (f a)) -> Transform2D (arr a a) (arr (f a) (f a))
- category2D :: Category cat => Transform2D (cat a a) (cat a a)
- arrow2D :: (BiArrow arr, Arrow arr) => Transform2D (a -> a) (arr a a)
- median2D :: MedianAlgebra a => Transform2D a a
- commutatorSum2D :: LieAlgebra a => Transform2D a a
- transpose2D :: Transform2D a b -> Transform2D a b
- applicative2D :: Applicative f => (a -> b) -> (a -> a -> b) -> Transform2D (f a) (f b)
- compose2D :: Transform2D b c -> Transform2D a b -> Transform2D a c
- nested2D :: (Transform2D a a -> Transform2D a a -> Transform2D a a -> Transform2D a a) -> Transform2D (Transform2D a a) (Transform2D a a)
- monoid2D :: Monoid a => (a -> a -> a -> a) -> Transform2D a a
- productSum2D :: Num a => Transform2D a a
- set2D :: Ord a => Transform2D a (Set a)
- project2D :: (a -> (a, a) -> a -> (a, a)) -> Transform2D a (a, a)
- flattenList2D :: Transform2D [a] [a]
- matrix2D :: (VectorSpace ((f :*: f) a), SupportsMatrixMultiplication f f f a) => ((f :*: f) a -> (f :*: f) a -> (f :*: f) a -> (f :*: f) a) -> Transform2D ((f :*: f) a) ((f :*: f) a)
- matrixProduct2D :: (SupportsMatrixMultiplication f f f a, VectorSpace ((f :*: f) a)) => Transform2D ((f :*: f) a) ((f :*: f) a)
- list2D :: Transform2D a [a]
- seq2D :: Transform2D a (Seq a)
Documentation
data Transform2D a b Source #
Transform2D | |
|
inverseImage2D :: (a -> b) -> Transform2D b c -> Transform2D a c Source #
image2D :: (a :==: b) -> Transform2D c a -> Transform2D c b Source #
codiagonalsWith :: (Num a, Closed a) => Transform2D a b -> (Stream :*: Stream) a -> Stream b Source #
This operation allows customizing the behaviour of the codiagonals transformation.
element2D :: a -> a -> Transform2D () a Source #
elementIter2D :: a -> a -> (a -> a) -> Transform2D () a Source #
vector2D :: (Floating (Scalar v), InnerProductSpace v) => (v -> Scalar v -> v -> Scalar v) -> Transform2D v (Scalar v) Source #
functor2D :: (FunctorArrow f arr arr, Category arr) => (arr a a -> arr a a -> arr (f a) (f a)) -> Transform2D (arr a a) (arr (f a) (f a)) Source #
category2D :: Category cat => Transform2D (cat a a) (cat a a) Source #
median2D :: MedianAlgebra a => Transform2D a a Source #
commutatorSum2D :: LieAlgebra a => Transform2D a a Source #
transpose2D :: Transform2D a b -> Transform2D a b Source #
applicative2D :: Applicative f => (a -> b) -> (a -> a -> b) -> Transform2D (f a) (f b) Source #
compose2D :: Transform2D b c -> Transform2D a b -> Transform2D a c Source #
nested2D :: (Transform2D a a -> Transform2D a a -> Transform2D a a -> Transform2D a a) -> Transform2D (Transform2D a a) (Transform2D a a) Source #
monoid2D :: Monoid a => (a -> a -> a -> a) -> Transform2D a a Source #
productSum2D :: Num a => Transform2D a a Source #
project2D :: (a -> (a, a) -> a -> (a, a)) -> Transform2D a (a, a) Source #
flattenList2D :: Transform2D [a] [a] Source #
matrix2D :: (VectorSpace ((f :*: f) a), SupportsMatrixMultiplication f f f a) => ((f :*: f) a -> (f :*: f) a -> (f :*: f) a -> (f :*: f) a) -> Transform2D ((f :*: f) a) ((f :*: f) a) Source #
matrixProduct2D :: (SupportsMatrixMultiplication f f f a, VectorSpace ((f :*: f) a)) => Transform2D ((f :*: f) a) ((f :*: f) a) Source #
list2D :: Transform2D a [a] Source #
seq2D :: Transform2D a (Seq a) Source #