smarter sparse column multiplication