lightweight sprase matrix vector multiply