linear-1.23.2: Linear Algebra

License | BSD-style (see the file LICENSE)
Maintainer | Edward Kmett <ekmett@gmail.com>
Stability | provisional
Portability | portable
Safe Haskell | Safe-Inferred
Language | Haskell2010

Linear.Covector

Description

Operations on affine spaces.

Synopsis

- newtype Covector r a = Covector {
  - runCovector :: (a -> r) -> r
  }
- ($*) :: Representable f => Covector r (Rep f) -> f r -> r

# Documentation

newtype Covector r a Source #

Linear functionals from elements of an (infinite) free module to a scalar

Constructors

Covector |

Fields

- runCovector :: (a -> r) -> r

#### Instances

Instances details

Num r => Alternative (Covector r) Source # |
Instance details Defined in Linear.Covector Methods empty :: Covector r a Source # (<|>) :: Covector r a -> Covector r a -> Covector r a Source # some :: Covector r a -> Covector r [a] Source # many :: Covector r a -> Covector r [a] Source #
Applicative (Covector r) Source # |
Instance details Defined in Linear.Covector Methods pure :: a -> Covector r a Source # (<*>) :: Covector r (a -> b) -> Covector r a -> Covector r b Source # liftA2 :: (a -> b -> c) -> Covector r a -> Covector r b -> Covector r c Source # (*>) :: Covector r a -> Covector r b -> Covector r b Source # (<*) :: Covector r a -> Covector r b -> Covector r a Source #
Functor (Covector r) Source # |
Instance details Defined in Linear.Covector Methods fmap :: (a -> b) -> Covector r a -> Covector r b Source # (<$) :: a -> Covector r b -> Covector r a Source #
Monad (Covector r) Source # |
Instance details Defined in Linear.Covector Methods (>>=) :: Covector r a -> (a -> Covector r b) -> Covector r b Source # (>>) :: Covector r a -> Covector r b -> Covector r b Source # return :: a -> Covector r a Source #
Num r => MonadPlus (Covector r) Source # |
Instance details Defined in Linear.Covector Methods mzero :: Covector r a Source # mplus :: Covector r a -> Covector r a -> Covector r a Source #
Num r => Alt (Covector r) Source # |
Instance details Defined in Linear.Covector Methods (<!>) :: Covector r a -> Covector r a -> Covector r a Source # some :: Applicative (Covector r) => Covector r a -> Covector r [a] Source # many :: Applicative (Covector r) => Covector r a -> Covector r [a] Source #
Apply (Covector r) Source # |
Instance details Defined in Linear.Covector Methods (<.>) :: Covector r (a -> b) -> Covector r a -> Covector r b Source # (.>) :: Covector r a -> Covector r b -> Covector r b Source # (<.) :: Covector r a -> Covector r b -> Covector r a Source # liftF2 :: (a -> b -> c) -> Covector r a -> Covector r b -> Covector r c Source #
Bind (Covector r) Source # |
Instance details Defined in Linear.Covector Methods (>>-) :: Covector r a -> (a -> Covector r b) -> Covector r b Source # join :: Covector r (Covector r a) -> Covector r a Source #
Num r => Plus (Covector r) Source # |
Instance details Defined in Linear.Covector Methods zero :: Covector r a Source #
Coalgebra r m => Num (Covector r m) Source # |

Instance details

Defined in Linear.Covector

Methods

(+) :: Covector r m -> Covector r m -> Covector r m Source #

(-) :: Covector r m -> Covector r m -> Covector r m Source #

(*) :: Covector r m -> Covector r m -> Covector r m Source #

negate :: Covector r m -> Covector r m Source #

abs :: Covector r m -> Covector r m Source #

signum :: Covector r m -> Covector r m Source #

fromInteger :: Integer -> Covector r m Source #

($*) :: Representable f => Covector r (Rep f) -> f r -> r infixr 0 Source #