summaryrefslogtreecommitdiff
path: root/lib/Numeric/HMatrix.hs
blob: 8e0b4a271b1863dfdfc51e69784f5b63dbf4b9c4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
-----------------------------------------------------------------------------
{- |
Module      :  Numeric.HMatrix
Copyright   :  (c) Alberto Ruiz 2006-14
License     :  GPL

Maintainer  :  Alberto Ruiz
Stability   :  provisional

This module reexports the most common Linear Algebra functions.

-}
-----------------------------------------------------------------------------
module Numeric.HMatrix (

    -- * Basic types and data processing    
    module Numeric.HMatrix.Data,
    
    -- | The standard numeric classes are defined elementwise.
    --
    -- >>> fromList [1,2,3] * fromList [3,0,-2 :: Double]
    -- fromList [3.0,0.0,-6.0]
    -- 
    -- In arithmetic operations single-element vectors and matrices automatically
    -- expand to match the dimensions of the other operand.
    -- 
    -- >>> 2 * ident 3
    -- 2 * ident 3 :: Matrix Double
    -- (3><3)
    -- [ 2.0, 0.0, 0.0
    -- , 0.0, 2.0, 0.0
    -- , 0.0, 0.0, 2.0 ]
    --

    -- * Products
    (<>), (·), outer, kronecker, cross,
    optimiseMult, scale,
    sumElements, prodElements, absSum,
    
    -- * Linear Systems
    (<\>),
    linearSolve,
    linearSolveLS,
    linearSolveSVD,
    luSolve,
    cholSolve,
    
    -- * Inverse and pseudoinverse
    inv, pinv, pinvTol,

    -- * Determinant and rank
    rcond, rank, ranksv, 
    det, invlndet,
    
    -- * Singular value decomposition
    svd,
    fullSVD,
    thinSVD,
    compactSVD,
    singularValues,
    leftSV, rightSV,
    
    -- * Eigensystems
    eig, eigSH, eigSH',
    eigenvalues, eigenvaluesSH, eigenvaluesSH',
    geigSH',

    -- * QR
    qr, rq,

    -- * Cholesky
    chol, cholSH, mbCholSH,

    -- * Hessenberg
    hess,

    -- * Schur
    schur,

    -- * LU
    lu, luPacked,
    
    -- * Matrix functions
    expm,
    sqrtm,
    matFunc,

    -- * Nullspace
    nullspacePrec,
    nullVector,
    nullspaceSVD,
    null1, null1sym,
    
    orth,

    -- * Norms
    norm1, norm2, normInf,

    -- * Correlation and Convolution
    corr, conv, corrMin, corr2, conv2,

    -- * Random arrays
    rand, randn, RandDist(..), randomVector, gaussianSample, uniformSample,
    
    -- * Misc
    meanCov, peps, relativeError, haussholder
) where

import Numeric.HMatrix.Data

import Numeric.Matrix()
import Numeric.Vector()
import Numeric.Container
import Numeric.LinearAlgebra.Algorithms
import Numeric.LinearAlgebra.Util