[Haskell-cafe] Simple matrix
Jared Updike
jupdike at gmail.com
Wed Jun 21 12:15:05 EDT 2006
> fromInteger x = [[fromInteger x]]
Wouldn't you want the expression
[[1,0],[0,2]] + 10
to yield
[[11,10],[10,12]]
instead of [[11]] ? I guess you would need some complicated machinery
so this is one thing you have to ignore to keep your otherwise nifty
instance nice and simple.
Jared.
--
http://www.updike.org/~jared/
reverse ")-:"
> abs x = map (map abs) x
> (+) [ ] y = y
> (+) x [ ] = x
> (+) x y = zipWith (zipWith (+)) x y
> (*) x y = map (matrixXvector x) y
> where
> -- matrixXvector :: Num a => [[a]] -> [a] -> [[a]]
> matrixXvector m v = foldl vectorsum [] $ zipWith vectorXnumber m v
> -- vectorXnumber :: Num a => [a] -> a -> [a]
> vectorXnumber v n = map (n*) v
> -- vectorsum :: [a] -> [a] -> [a]
> vectorsum [] y = y
> vectorsum x [] = x
> vectorsum x y = zipWith (+) x y
>
>
>
> _______________________________________________________
> Novidade no Yahoo! Mail: receba alertas de novas mensagens no seu celular. Registre seu aparelho agora!
> http://br.mobile.yahoo.com/mailalertas/
>
>
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
>
More information about the Haskell-Cafe
mailing list