add svd using lanczos method

1. fixed the bug of dot product a spartan matrix with numpy vector.
2. add sparse svd.