Jump to content

Matrix multiplication: Difference between revisions

Line 2,250:
===With List and without transpose - shorter===
<lang Haskell>mult:: Num a => [[a]] -> [[a]] -> [[a]]
mult uss vss = map (foldl(\xs -> if null xs then [] else foldl1 (zipWith (+)) ts xs). zipWith (\vs u -> map (u*) vs) vss) uss
where ts = map (const 0).concat $ take 1 vss
main = mapM_ print $ mult [[1, 2],[3, 4]] [[-3, -8, 3],[-2, 1, 4]]</lang>
678

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.