Description
We use breeze for linear algebra operations. Breeze operations are user-friendly but there are some concerns:
1. creating temp objects, e.g., `val z = a * x + b * y`
2. multi-method is not used in some operators, e.g., `axpy`. If we pass in SparseVector as a generic Vector, it will use activeIterator, which is slow
3. calling native BLAS if it is available, which might not be good for level-1 methods
Having some basic BLAS operations implemented in MLlib can help simplify the current implementation and improve some performance.
Attachments
Issue Links
- links to