Closed tab58 closed 8 years ago
Awesome! Closely related things that may be useful for testing, comparison, reference, etc:
The banded stuff is pretty straightforward, but gets to more of those details where strided vs. getter/setter vs. vanilla array vs. ndarray stuff starts to surface.
But all of that aside, specific thoughts:
ndarrays
mostly alleviate the need for transposes since, roughly speaking, gbmv(..., A.transpose(1, 0), ...)
is way easier than coding gbmv
to account for transposes. So lots of the upper
/lower
flags of blas may just not be relevant.:+1:
Also, need to investigate exactly how BLAS handles compressed formats like diagonal matrices. Does BLAS deal strictly in dense full-storage formats and things like compressed banded storage are a completely separate problem?
AFAIK, BLAS only handles full matrices, with the exception of triangular packed matrices. There may be support in other libraries like LAPACK to take advantage of compressed banded matrices, but I think that's outside the scope of this library.
Are there any other things that I need to do on this before this can get merged in?
PTAL @rreusser.