summaryrefslogtreecommitdiff
path: root/lib/Numeric/HMatrix
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Numeric/HMatrix')
-rw-r--r--lib/Numeric/HMatrix/Data.hs75
-rw-r--r--lib/Numeric/HMatrix/Devel.hs64
2 files changed, 139 insertions, 0 deletions
diff --git a/lib/Numeric/HMatrix/Data.hs b/lib/Numeric/HMatrix/Data.hs
new file mode 100644
index 0000000..49dad10
--- /dev/null
+++ b/lib/Numeric/HMatrix/Data.hs
@@ -0,0 +1,75 @@
1--------------------------------------------------------------------------------
2{- |
3Module : Numeric.HMatrix.Data
4Copyright : (c) Alberto Ruiz 2014
5License : GPL
6
7Maintainer : Alberto Ruiz
8Stability : provisional
9
10Basic data processing.
11
12-}
13--------------------------------------------------------------------------------
14
15module Numeric.HMatrix.Data(
16
17 -- * Vector
18 -- | 1D arrays are storable vectors from the vector package.
19
20 Vector, (|>), dim, (@>),
21
22 -- * Matrix
23 Matrix, (><), size, (@@>), trans, ctrans,
24
25 -- * Construction
26 scalar, konst, build, assoc, accum, linspace, -- ones, zeros,
27
28 -- * Diagonal
29 ident, diag, diagl, diagRect, takeDiag,
30
31 -- * Data manipulation
32 fromList, toList, subVector, takesV, vjoin,
33 flatten, reshape, asRow, asColumn, row, col,
34 fromRows, toRows, fromColumns, toColumns, fromLists, toLists, fromArray2D,
35 takeRows, dropRows, takeColumns, dropColumns, subMatrix, (?), (¿), fliprl, flipud,
36
37 -- * Block matrix
38 fromBlocks, (¦), (——), diagBlock, repmat, toBlocks, toBlocksEvery,
39
40 -- * Mapping functions
41 conj, cmap, step, cond,
42
43 -- * Find elements
44 find, maxIndex, minIndex, maxElement, minElement, atIndex,
45
46 -- * IO
47 disp, dispf, disps, dispcf, vecdisp, latexFormat, format,
48 loadMatrix, saveMatrix, fromFile, fileDimensions,
49 readMatrix,
50 fscanfVector, fprintfVector, freadVector, fwriteVector,
51
52-- * Conversion
53 Convert(..),
54 Complexable(),
55 RealElement(),
56
57 RealOf, ComplexOf, SingleOf, DoubleOf,
58
59 IndexOf,
60
61 -- * Misc
62 arctan2,
63 rows, cols,
64 separable,
65
66 module Data.Complex
67
68) where
69
70import Data.Packed.Vector
71import Data.Packed.Matrix
72import Numeric.Container
73import Numeric.LinearAlgebra.Util
74import Data.Complex
75
diff --git a/lib/Numeric/HMatrix/Devel.hs b/lib/Numeric/HMatrix/Devel.hs
new file mode 100644
index 0000000..37bf826
--- /dev/null
+++ b/lib/Numeric/HMatrix/Devel.hs
@@ -0,0 +1,64 @@
1--------------------------------------------------------------------------------
2{- |
3Module : Numeric.HMatrix.Devel
4Copyright : (c) Alberto Ruiz 2014
5License : GPL
6
7Maintainer : Alberto Ruiz
8Stability : provisional
9
10The library can be easily extended using the tools in this module.
11
12-}
13--------------------------------------------------------------------------------
14
15module Numeric.HMatrix.Devel(
16 -- * FFI helpers
17 -- | Sample usage, to upload a perspective matrix to a shader.
18 --
19 -- @ glUniformMatrix4fv 0 1 (fromIntegral gl_TRUE) \`appMatrix\` perspective 0.01 100 (pi\/2) (4\/3)
20 -- @
21 module Data.Packed.Foreign,
22
23 -- * FFI tools
24 -- | Illustrative usage examples can be found
25 -- in the @examples\/devel@ folder included in the package.
26 module Data.Packed.Development,
27
28 -- * ST
29 -- | In-place manipulation inside the ST monad.
30 -- See examples\/inplace.hs in the distribution.
31
32 -- ** Mutable Vectors
33 STVector, newVector, thawVector, freezeVector, runSTVector,
34 readVector, writeVector, modifyVector, liftSTVector,
35 -- ** Mutable Matrices
36 STMatrix, newMatrix, thawMatrix, freezeMatrix, runSTMatrix,
37 readMatrix, writeMatrix, modifyMatrix, liftSTMatrix,
38 -- ** Unsafe functions
39 newUndefinedVector,
40 unsafeReadVector, unsafeWriteVector,
41 unsafeThawVector, unsafeFreezeVector,
42 newUndefinedMatrix,
43 unsafeReadMatrix, unsafeWriteMatrix,
44 unsafeThawMatrix, unsafeFreezeMatrix,
45
46 -- * Special maps and zips
47 mapVectorWithIndex, zipVector, zipVectorWith, unzipVector, unzipVectorWith,
48 mapVectorM, mapVectorM_, mapVectorWithIndexM, mapVectorWithIndexM_,
49 foldLoop, foldVector, foldVectorG, foldVectorWithIndex,
50 mapMatrixWithIndex, mapMatrixWithIndexM, mapMatrixWithIndexM_,
51 liftMatrix, liftMatrix2, liftMatrix2Auto,
52
53 -- * Misc
54 Element, Container, Product, Contraction, LSDiv, Field
55) where
56
57import Data.Packed.Foreign
58import Data.Packed.Development
59import Data.Packed.ST
60import Numeric.Container(Container,Contraction,LSDiv,Product)
61import Data.Packed
62import Numeric.LinearAlgebra.Algorithms(Field)
63
64