eigen-2.1.4: test/solve-sparse.hs
import qualified Data.Eigen.Matrix as M
import Data.Eigen.SparseMatrix
import Data.Eigen.SparseLA as LA
import Control.Monad.Trans
main = do
let
a :: SparseMatrixXd
b :: SparseMatrixXd
a = fromDenseList [[1,2,3], [4,5,6], [7,8,10]]
b = fromDenseList [[3],[3],[4]]
putStrLn "Here is the matrix A:"
print $ a
putStrLn "Here is the vector b:"
print $ b
runSolverT (SparseLU COLAMDOrdering) $ do
compute a
x <- solve b
info >>= lift.print
determinant >>= lift.print
lift $ putStrLn "The solution is:"
lift $ print x