summaryrefslogtreecommitdiff
path: root/packages/base/src/Numeric
diff options
context:
space:
mode:
authorAlberto Ruiz <aruiz@um.es>2014-06-20 11:30:59 +0200
committerAlberto Ruiz <aruiz@um.es>2014-06-20 11:30:59 +0200
commit2869503ccb552238e330562a62a076e48d567f79 (patch)
treeeb4e4ae8fd1960e30814dff0efd205017b6d6a53 /packages/base/src/Numeric
parent1e564ccf064a3486532aeb32d689e5ca4fd2e260 (diff)
dot, mul, app
Diffstat (limited to 'packages/base/src/Numeric')
-rw-r--r--packages/base/src/Numeric/LinearAlgebra/HMatrix.hs18
-rw-r--r--packages/base/src/Numeric/LinearAlgebra/Static.hs10
2 files changed, 18 insertions, 10 deletions
diff --git a/packages/base/src/Numeric/LinearAlgebra/HMatrix.hs b/packages/base/src/Numeric/LinearAlgebra/HMatrix.hs
index 54ddd68..d2cae6c 100644
--- a/packages/base/src/Numeric/LinearAlgebra/HMatrix.hs
+++ b/packages/base/src/Numeric/LinearAlgebra/HMatrix.hs
@@ -45,12 +45,12 @@ module Numeric.LinearAlgebra.HMatrix (
45 45
46 -- * Products 46 -- * Products
47 -- ** dot 47 -- ** dot
48 (<·>), 48 dot, (<·>),
49 -- ** matrix-vector 49 -- ** matrix-vector
50 (#>), (!#>), 50 app, (#>), (!#>),
51 -- ** matrix-matrix 51 -- ** matrix-matrix
52 (<>), 52 mul, (<>),
53 -- | The matrix x matrix product is also implemented in the "Data.Monoid" instance, where 53 -- | The matrix product is also implemented in the "Data.Monoid" instance, where
54 -- single-element matrices (created from numeric literals or using 'scalar') 54 -- single-element matrices (created from numeric literals or using 'scalar')
55 -- are used for scaling. 55 -- are used for scaling.
56 -- 56 --
@@ -96,7 +96,6 @@ module Numeric.LinearAlgebra.HMatrix (
96 96
97 -- * SVD 97 -- * SVD
98 svd, 98 svd,
99 fullSVD,
100 thinSVD, 99 thinSVD,
101 compactSVD, 100 compactSVD,
102 singularValues, 101 singularValues,
@@ -153,7 +152,7 @@ import Numeric.LinearAlgebra.Data
153 152
154import Numeric.Matrix() 153import Numeric.Matrix()
155import Numeric.Vector() 154import Numeric.Vector()
156import Data.Packed.Numeric hiding ((<>)) 155import Data.Packed.Numeric hiding ((<>), mul)
157import Numeric.LinearAlgebra.Algorithms hiding (linearSolve,Normed,orth) 156import Numeric.LinearAlgebra.Algorithms hiding (linearSolve,Normed,orth)
158import qualified Numeric.LinearAlgebra.Algorithms as A 157import qualified Numeric.LinearAlgebra.Algorithms as A
159import Numeric.LinearAlgebra.Util 158import Numeric.LinearAlgebra.Util
@@ -161,7 +160,7 @@ import Numeric.LinearAlgebra.Random
161import Numeric.Sparse((!#>)) 160import Numeric.Sparse((!#>))
162import Numeric.LinearAlgebra.Util.CG 161import Numeric.LinearAlgebra.Util.CG
163 162
164{- | dense matrix product 163{- | infix synonym of 'mul'
165 164
166>>> let a = (3><5) [1..] 165>>> let a = (3><5) [1..]
167>>> a 166>>> a
@@ -190,6 +189,11 @@ import Numeric.LinearAlgebra.Util.CG
190(<>) = mXm 189(<>) = mXm
191infixr 8 <> 190infixr 8 <>
192 191
192-- | dense matrix product
193mul :: Numeric t => Matrix t -> Matrix t -> Matrix t
194mul = mXm
195
196
193-- | Solve a linear system (for square coefficient matrix and several right-hand sides) using the LU decomposition, returning Nothing for a singular system. For underconstrained or overconstrained systems use 'linearSolveLS' or 'linearSolveSVD'. 197-- | Solve a linear system (for square coefficient matrix and several right-hand sides) using the LU decomposition, returning Nothing for a singular system. For underconstrained or overconstrained systems use 'linearSolveLS' or 'linearSolveSVD'.
194linearSolve m b = A.mbLinearSolve m b 198linearSolve m b = A.mbLinearSolve m b
195 199
diff --git a/packages/base/src/Numeric/LinearAlgebra/Static.hs b/packages/base/src/Numeric/LinearAlgebra/Static.hs
index 213c42c..cbcd4e2 100644
--- a/packages/base/src/Numeric/LinearAlgebra/Static.hs
+++ b/packages/base/src/Numeric/LinearAlgebra/Static.hs
@@ -25,6 +25,8 @@ Stability : experimental
25 25
26Experimental interface with statically checked dimensions. 26Experimental interface with statically checked dimensions.
27 27
28This module is under active development and the interface is subject to changes.
29
28-} 30-}
29 31
30module Numeric.LinearAlgebra.Static( 32module Numeric.LinearAlgebra.Static(
@@ -62,9 +64,11 @@ module Numeric.LinearAlgebra.Static(
62 64
63import GHC.TypeLits 65import GHC.TypeLits
64import Numeric.LinearAlgebra.HMatrix hiding ( 66import Numeric.LinearAlgebra.HMatrix hiding (
65 (<>),(#>),(<·>),Konst(..),diag, disp,(¦),(——),row,col,vector,matrix,linspace,toRows,toColumns, 67 (<>),(#>),(<·>),Konst(..),diag, disp,(¦),(——),
66 (<\>),fromList,takeDiag,svd,eig,eigSH,eigSH',eigenvalues,eigenvaluesSH,eigenvaluesSH',build, 68 row,col,vector,matrix,linspace,toRows,toColumns,
67 qr,size) 69 (<\>),fromList,takeDiag,svd,eig,eigSH,eigSH',
70 eigenvalues,eigenvaluesSH,eigenvaluesSH',build,
71 qr,size,app,mul,dot)
68import qualified Numeric.LinearAlgebra.HMatrix as LA 72import qualified Numeric.LinearAlgebra.HMatrix as LA
69import Data.Proxy(Proxy) 73import Data.Proxy(Proxy)
70import Numeric.LinearAlgebra.Static.Internal 74import Numeric.LinearAlgebra.Static.Internal