| Copyright | (c) Ross Paterson 2023 |
|---|---|
| License | BSD-style (see the file LICENSE) |
| Maintainer | [email protected] |
| Stability | provisional |
| Portability | type-level literals |
| Safe Haskell | None |
| Language | Haskell2010 |
Data.YAP.Vector
Description
An example instance of the algebraic classes: vectors.
Synopsis
- data Vector (n :: Nat) a
- vector :: forall (n :: Nat) a. (KnownNat n, AdditiveMonoid a) => [a] -> Vector n a
- unsafeVector :: forall a (n :: Nat). [a] -> Vector n a
- coordinates :: forall (n :: Nat) a. Vector n a -> [a]
- dot :: forall a (n :: Nat). Semiring a => Vector n a -> Vector n a -> a
- sqnorm :: forall a (n :: Nat). Semiring a => Vector n a -> a
Documentation
data Vector (n :: Nat) a Source #
Vectors on n elements
Instances
| Foldable (Vector n) Source # | |
Defined in Data.YAP.Vector Methods fold :: Monoid m => Vector n m -> m # foldMap :: Monoid m => (a -> m) -> Vector n a -> m # foldMap' :: Monoid m => (a -> m) -> Vector n a -> m # foldr :: (a -> b -> b) -> b -> Vector n a -> b # foldr' :: (a -> b -> b) -> b -> Vector n a -> b # foldl :: (b -> a -> b) -> b -> Vector n a -> b # foldl' :: (b -> a -> b) -> b -> Vector n a -> b # foldr1 :: (a -> a -> a) -> Vector n a -> a # foldl1 :: (a -> a -> a) -> Vector n a -> a # elem :: Eq a => a -> Vector n a -> Bool # maximum :: Ord a => Vector n a -> a # minimum :: Ord a => Vector n a -> a # | |
| KnownNat n => Applicative (Vector n) Source # | |
| Functor (Vector n) Source # | |
| Show a => Show (Vector n a) Source # | |
| Eq a => Eq (Vector n a) Source # | |
| Ord a => Ord (Vector n a) Source # | |
| (KnownNat n, AbelianGroup a) => AbelianGroup (Vector n a) Source # | |
| (KnownNat n, AdditiveMonoid a) => AdditiveMonoid (Vector n a) Source # | |
vector :: forall (n :: Nat) a. (KnownNat n, AdditiveMonoid a) => [a] -> Vector n a Source #
Construct a vector from a list of coordinates, trimming or padding with zeros to obtain the required length.
unsafeVector :: forall a (n :: Nat). [a] -> Vector n a Source #
Construct a vector from a list of coordinates: valid only if the
list has length n.
coordinates :: forall (n :: Nat) a. Vector n a -> [a] Source #
The coordinates of a vector