summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--hmatrix.cabal1
-rw-r--r--lib/Numeric/LinearAlgebra/Data.hs78
-rw-r--r--lib/Numeric/LinearAlgebra/Data/Devel.hs63
3 files changed, 142 insertions, 0 deletions
diff --git a/hmatrix.cabal b/hmatrix.cabal
index 03d1e74..adf06fc 100644
--- a/hmatrix.cabal
+++ b/hmatrix.cabal
@@ -108,6 +108,7 @@ library
108 Data.Packed.Development 108 Data.Packed.Development
109 Graphics.Plot, 109 Graphics.Plot,
110 Numeric.LinearAlgebra.Data 110 Numeric.LinearAlgebra.Data
111 Numeric.LinearAlgebra.Data.Devel
111 other-modules: Data.Packed.Internal, 112 other-modules: Data.Packed.Internal,
112 Data.Packed.Internal.Common, 113 Data.Packed.Internal.Common,
113 Data.Packed.Internal.Signatures, 114 Data.Packed.Internal.Signatures,
diff --git a/lib/Numeric/LinearAlgebra/Data.hs b/lib/Numeric/LinearAlgebra/Data.hs
index 10ad650..6e5dcef 100644
--- a/lib/Numeric/LinearAlgebra/Data.hs
+++ b/lib/Numeric/LinearAlgebra/Data.hs
@@ -11,6 +11,84 @@ Stability : provisional
11-------------------------------------------------------------------------------- 11--------------------------------------------------------------------------------
12 12
13module Numeric.LinearAlgebra.Data( 13module Numeric.LinearAlgebra.Data(
14 -- * Vector
15 Vector, (|>), dim, (@>),
14 16
17 -- * Matrix
18 Matrix, (><), size, (@@>), trans, ctrans,
19
20 -- * Construction functions
21
22 scalar, konst, build, assoc, accum, linspace, -- ones, zeros,
23
24 -- * Data manipulation
25
26 fromList, toList, subVector, takesV, vjoin,
27
28 flatten, reshape, asRow, asColumn, row, col,
29
30 fromRows, toRows, fromColumns, toColumns, fromLists, toLists,
31
32 takeRows, dropRows, takeColumns, dropColumns, subMatrix, (?), (¿), fliprl, flipud,
33
34 -- * Diagonal matrices
35
36 ident, diag, diagl, diagRect, takeDiag,
37
38 -- * Block matrices
39
40 fromBlocks, (¦), (——), diagBlock, repmat, toBlocks, toBlocksEvery,
41
42 -- * Mapping functions
43
44 conj, cmap, step, cond,
45
46 -- * Find elements
47
48 find, maxIndex, minIndex, maxElement, minElement, atIndex,
49
50 -- * Products
51
52 (<>), (·), scale, outer, kronecker, cross,
53 sumElements, prodElements, absSum,
54 optimiseMult,
55
56 corr, conv, corrMin, corr2, conv2,
57
58 LSDiv(..),
59
60 -- * Random arrays
61
62 rand, randn, RandDist(..), randomVector, gaussianSample, uniformSample,
63
64 -- * IO
65
66 disp, dispf, disps, dispcf, vecdisp, latexFormat, format,
67 loadMatrix, saveMatrix, fromFile, fileDimensions,
68 readMatrix,
69 fscanfVector, fprintfVector, freadVector, fwriteVector,
70
71-- * Element conversion
72 Convert(..),
73 Complexable(),
74 RealElement(),
75
76 RealOf, ComplexOf, SingleOf, DoubleOf,
77
78 IndexOf,
79
80 module Data.Complex,
81
82 -- * Misc
83 meanCov, arctan2,
84 separable,
85 fromArray2D
86
15) where 87) where
16 88
89import Data.Packed.Vector
90import Data.Packed.Matrix
91import Numeric.Container
92import Numeric.LinearAlgebra.Util
93import Data.Complex
94
diff --git a/lib/Numeric/LinearAlgebra/Data/Devel.hs b/lib/Numeric/LinearAlgebra/Data/Devel.hs
new file mode 100644
index 0000000..6358d1f
--- /dev/null
+++ b/lib/Numeric/LinearAlgebra/Data/Devel.hs
@@ -0,0 +1,63 @@
1--------------------------------------------------------------------------------
2{- |
3Module : Numeric.LinearAlgebra.Data.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.LinearAlgebra.Data.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
55) where
56
57import Data.Packed.Foreign
58import Data.Packed.Development
59import Data.Packed.ST
60import Numeric.Container(Container)
61import Data.Packed
62
63