-- | Outer product
outer :: (Eq a, Num a, DIM n, DIM m) => SparseVector n a -> SparseVector m a -> SparseMatrix n m a
outer (SV x) v = SM $ M.map (`scale` v) x
outer :: (Eq a, Num a, DIM n, DIM m) => SparseVector n a -> SparseVector m a -> SparseMatrix n m a
outer (SV x) v = SM $ M.map (`scale` v) x
outer (SV x) v = SM $ M.map (`scale` v) x