Completing the sparse matrix multiplication kernel

had to make a tweak in the start/end index picking to account for
completely diagonal matrices