http://hackage.haskell.org/package/hmatrix-0.8.1.1
it wraps gls, blas and lapack (so you need to install the libraries). On Tue, Feb 2, 2010 at 4:08 PM, Job Vranish <jvran...@gmail.com> wrote: > I have a little haskell matrix library for fixed sized matricies on github: > http://github.com/jvranish/VectorMatix > which I've just realized is horribly out of date...I'll update it tonight > and probably push it to hackage too... > > but if you're really want to stick with the [[Double]] type, > you can add a Foldable and Traversable instance to ZipLists and do this: > > instance Foldable ZipList where > foldMap f (ZipList x) = foldMap f x > > instance Traversable ZipList where > traverse f (ZipList x) = ZipList <$> traverse f x > > toZipList a = ZipList $ fmap ZipList a > fromZipList a = getZipList $ fmap getZipList a > > multMM :: (Num a) => [[a]] -> [[a]] -> [[a]] > multMM a b = fromZipList $ multMMA (toZipList a) (toZipList b) > > -- I about fell off my chair when I discovered you could do matrix > multiplication like this: > multMMA :: (Traversable f, Num a, Applicative f, Applicative row, > Applicative col, Traversable col) => > row (f a) -> f (col a) -> row (col a) > multMMA a b = traverse (liftA2 dot a . pure) (sequenceA b) > > dot :: (Foldable t, Num a, Applicative t) => t a -> t a -> a > dot a b = sum $ pure (*) <*> a <*> b > > > My matrix library uses a Gaussian elimination function (which operates on > lists) as well as det and inv functions which should be easily adaptable to > work on lists. > > I'll make sure to push the updated code up tonight. > > - Job > > > > > > On Tue, Feb 2, 2010 at 7:15 AM, 조광래 <kwangrae...@gmail.com> wrote: > >> define functions >> >> type Matrix=[[Double]] >> >> multMM :: Matrix -> Matrix -> Matrix --multiplies two matrices >> det :: Matrix -> Double --computes the determinant of a matrix >> inv :: Matrix -> Matrix --inverts a matrix >> >> i stuck on those problems >> >> can any one help me out? >> >> _______________________________________________ >> Haskell-Cafe mailing list >> Haskell-Cafe@haskell.org >> http://www.haskell.org/mailman/listinfo/haskell-cafe >> >> > > _______________________________________________ > Haskell-Cafe mailing list > Haskell-Cafe@haskell.org > http://www.haskell.org/mailman/listinfo/haskell-cafe > > -- happy hacking... man
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe