On Tuesday, 22 March 2016 at 14:42:18 UTC, jmh530 wrote:
On Tuesday, 22 March 2016 at 14:08:55 UTC, _d0s_ wrote:
Idea2: Matrix Solvers
Have some base algorithms to solve linear and quadtratic
systems on top of those matrices. (LU, QR, ...)
You would be interested in
https://github.com/DlangScience
They have cblas for matrix multiplication and scid.linalg has
an interface to LAPACK (the most common way to do LU/QR/etc). I
don't have experience with these, but I think they were created
before std.experimental.ndslice, so I'm not sure how well they
inter-operate. I believe there is work being done on this, but
I'm sure John Colvin et al would appreciate any help you would
be able to provide.
With respect to your point about about sparse vs. dense matrix
types and other special layouts, it would probably be possible
to build some of that functionality on top of ndslice. I'd
prefer there to be a focus of getting blas/LAPACK working
seamlessly with ndslice before that.
Mir v0.15.0-beta2 contains sparse matrixes/tensors in DOK and
CSR/CSR formats. Also some COO ranges are supported too. Current
state is half of future API.
https://github.com/DlangScience/mir/blob/sparse/source/mir/ndslice/sparse.d
Dub: http://code.dlang.org/packages/mir