hmatrix-0.5.1.1: Linear algebra and numerical computations

Portabilityportable
Stabilityprovisional
MaintainerAlberto Ruiz <aruiz@um.es>

Data.Packed.Vector

Description

A representation of 1D arrays suitable for numeric computations using external libraries.

Synopsis

Documentation

data Vector t Source

A one-dimensional array of objects stored in a contiguous memory block.

fromList :: Storable a => [a] -> Vector aSource

creates a Vector from a list:

> fromList [2,3,5,7]
4 |> [2.0,3.0,5.0,7.0]

(|>) :: Storable a => Int -> [a] -> Vector aSource

an alternative to fromList with explicit dimension, used also in the instances for Show (Vector a).

toList :: Storable a => Vector a -> [a]Source

extracts the Vector elements to a list

> toList (linspace 5 (1,10))
[1.0,3.25,5.5,7.75,10.0]

dim :: Vector t -> IntSource

number of elements

(@>) :: Storable t => Vector t -> Int -> tSource

Reads a vector position:

> fromList [0..9] @> 7
7.0

subVectorSource

Arguments

:: Storable t 
=> Int

index of the starting element

-> Int

number of elements to extract

-> Vector t

source

-> Vector t

result

takes a number of consecutive elements from a Vector

> subVector 2 3 (fromList [1..10])
3 |> [3.0,4.0,5.0]

join :: Storable t => [Vector t] -> Vector tSource

creates a new Vector by joining a list of Vectors

> join [fromList [1..5], constant 1 3]
8 |> [1.0,2.0,3.0,4.0,5.0,1.0,1.0,1.0]

constant :: Element a => a -> Int -> Vector aSource

creates a vector with a given number of equal components:

> constant 2 7
7 |> [2.0,2.0,2.0,2.0,2.0,2.0,2.0]

linspace :: Int -> (Double, Double) -> Vector DoubleSource

Creates a real vector containing a range of values:

> linspace 5 (-3,7)
5 |> [-3.0,-0.5,2.0,4.5,7.0]

liftVector :: (Storable a, Storable b) => (a -> b) -> Vector a -> Vector bSource

liftVector2 :: (Storable a, Storable b, Storable c) => (a -> b -> c) -> Vector a -> Vector b -> Vector cSource

foldLoop :: (Int -> t -> t) -> t -> Int -> tSource

foldVector :: (Double -> b -> b) -> b -> Vector Double -> bSource

foldVectorG :: Storable a => (Int -> (Int -> a) -> t -> t) -> t -> Vector a -> tSource

mapVector :: (Storable a, Storable b) => (a -> b) -> Vector a -> Vector bSource

map on Vectors

zipVector :: (Storable a, Storable b, Storable c) => (a -> b -> c) -> Vector a -> Vector b -> Vector cSource

zipWith for Vectors