diff --git a/Data/Algorithm/CubicSpline.hs b/Data/Algorithm/CubicSpline.hs
--- a/Data/Algorithm/CubicSpline.hs
+++ b/Data/Algorithm/CubicSpline.hs
@@ -9,9 +9,9 @@
 
 -- | Given a list of (x,y) co-ordinates, produces a list of coefficients to cubic equations, with knots at each of the initially provided x co-ordinates. Natural cubic spline interpololation is used. See: <http://en.wikipedia.org/wiki/Spline_interpolation#Interpolation_using_natural_cubic_spline>.
 cubicSplineCoefficients :: [(Double, Double)] -> [PolyCos]
-cubicSplineCoefficients xs = chunkBy 4 . concat . toLists $ linearSolve matrix solution
+cubicSplineCoefficients xs = chunkBy 4 . concat . toLists $ linearSolveSVD mx solution
     where
-      (matrix,solution) = (fromLists *** trans . fromLists . (:[])) .
+      (mx,solution) = (fromLists *** tr' . fromLists . (:[])) .
                            unzip . map (first fillOut) . (extraConditions ++) . initNote "cubicSpline" . initNote "cubicSpline" . concat .
                            zipWith (map . first . (++)) (iterate (++[0,0,0,0]) []) $
                            map genEquations (xs `zip` drop 1 xs)
diff --git a/cubicspline.cabal b/cubicspline.cabal
--- a/cubicspline.cabal
+++ b/cubicspline.cabal
@@ -1,5 +1,5 @@
 name:                cubicspline
-version:             0.1.1
+version:             0.1.2
 synopsis:            Natural cubic spline interpolation.
 description:         Natural cubic spline interpolation.
 category:            algorithms, math
@@ -12,7 +12,7 @@
 Cabal-Version:       >= 1.6
 
 library
-  build-depends:     base >= 4, base < 5, hmatrix, safe
+  build-depends:     base >= 4, base < 5, hmatrix >= 0.17, safe
   exposed-modules:   Data.Algorithm.CubicSpline
   ghc-options:       -Wall
 
