summaryrefslogtreecommitdiff
path: root/lib/Numeric/LinearAlgebra/Algorithms.hs
diff options
context:
space:
mode:
authorAlberto Ruiz <aruiz@um.es>2012-03-19 12:24:53 +0100
committerAlberto Ruiz <aruiz@um.es>2012-03-19 12:24:53 +0100
commit355eae1c5dcd83be84ae6d3379480b98a675dc08 (patch)
tree25b49789d04304e00a7e34e9e95e586eba5d747d /lib/Numeric/LinearAlgebra/Algorithms.hs
parentb0424cacf0453d8294fb37ab1325be256fd7be3e (diff)
orth
Diffstat (limited to 'lib/Numeric/LinearAlgebra/Algorithms.hs')
-rw-r--r--lib/Numeric/LinearAlgebra/Algorithms.hs8
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/Numeric/LinearAlgebra/Algorithms.hs b/lib/Numeric/LinearAlgebra/Algorithms.hs
index 435cc5a..9ae5e32 100644
--- a/lib/Numeric/LinearAlgebra/Algorithms.hs
+++ b/lib/Numeric/LinearAlgebra/Algorithms.hs
@@ -64,6 +64,7 @@ module Numeric.LinearAlgebra.Algorithms (
64 nullspacePrec, 64 nullspacePrec,
65 nullVector, 65 nullVector,
66 nullspaceSVD, 66 nullspaceSVD,
67 orth,
67-- * Norms 68-- * Norms
68 Normed(..), NormType(..), 69 Normed(..), NormType(..),
69 relativeError, 70 relativeError,
@@ -445,6 +446,13 @@ nullspacePrec t m = nullspaceSVD (Left (t*eps)) m (rightSV m)
445nullVector :: Field t => Matrix t -> Vector t 446nullVector :: Field t => Matrix t -> Vector t
446nullVector = last . nullspacePrec 1 447nullVector = last . nullspacePrec 1
447 448
449orth :: Field t => Matrix t -> [Vector t]
450-- ^ Return an orthonormal basis of the range space of a matrix
451orth m = take r $ toColumns u
452 where
453 (u,s,_) = compactSVD m
454 r = ranksv eps (max (rows m) (cols m)) (toList s)
455
448------------------------------------------------------------------------ 456------------------------------------------------------------------------
449 457
450{- Pseudoinverse of a real matrix with the desired tolerance, expressed as a 458{- Pseudoinverse of a real matrix with the desired tolerance, expressed as a