matrix library

Vlad Levenfeld via Digitalmars-d-announce digitalmars-d-announce at puremagic.com
Mon May 23 00:28:20 PDT 2016


https://github.com/evenex/linalg

I've some heard people (including me) asking about matrix 
libraries for D, and while there is gl3n it only goes to 4x4 
matrices and was written before all the multidimensional indexing 
stuff.

So I was using gl3n for awhile until I needed some 6x6s and threw 
together a syntax-sugary sort of wrapper over 
std.experimental.ndslice and cblas for matrix math.

You can slice submatrices, assign to them, and perform ops on 
them with other matrices or 2-dimensional array slices... though, 
for implementation-ish reasons, ops involving 2-d arrays are 
elementwise (you'll have to call the Matrix constructor to use 
matrix multiplication again).

It was built in kind of an ad-hoc way and I will be adding stuff 
to it as the need arises, so there's nothing there yet beyond the 
bare basics and you should expect bugs. All the matrices hold 
static arrays because I don't want to mess with reference 
problems right now. A matrix past a certain size will be more 
efficient to store as a dynamic array, of course. But, right now, 
I need this to make writing linear algebra code comfortable for 
myself rather than try to win at benchmarks.

Bugs/Pull/Feature requests welcome.



More information about the Digitalmars-d-announce mailing list