July 03, 2015
This question is not only about "D linear algebra libraries" but also for other linear algebra libraries in other languages.

I am working with some scientific developers in my current project.

When we were talking I said "I know a great linear algebra library LAPACK" but my friend who is very experienced about numeric told me LAPACK isn't the best library for performance especially if matrix is sparse. In fact he said every numeric developer will try to avoid LAPACK.

Now I want to implement some statistical methods like Bayes, GMM. And I need a linear algebra library. I am looking for a native "module" code which I can directly include my project without dll or I am looking for a library without any dependency. But I see all linear algebra libraries has dependency to LAPACK.

I am sure I am asking this question because I am lacking domain information about maths and linear algebra. But why all libraries has dependency to LAPACK. What make LAPACK irreplaceable ?

Ps: I am not sure if asking questions related to D but not %100 about D is a bad habit. If it is please warn me.
July 04, 2015
On Friday, 3 July 2015 at 23:51:30 UTC, kerdemdemir wrote:
> This question is not only about "D linear algebra libraries" but also for other linear algebra libraries in other languages.
>
> I am working with some scientific developers in my current project.
>
> When we were talking I said "I know a great linear algebra library LAPACK" but my friend who is very experienced about numeric told me LAPACK isn't the best library for performance especially if matrix is sparse. In fact he said every numeric developer will try to avoid LAPACK.
>
> Now I want to implement some statistical methods like Bayes, GMM. And I need a linear algebra library. I am looking for a native "module" code which I can directly include my project without dll or I am looking for a library without any dependency. But I see all linear algebra libraries has dependency to LAPACK.
>
> I am sure I am asking this question because I am lacking domain information about maths and linear algebra. But why all libraries has dependency to LAPACK. What make LAPACK irreplaceable ?
>
> Ps: I am not sure if asking questions related to D but not %100 about D is a bad habit. If it is please warn me.

You are mixing two things together. An optimized BLAS/LAPACK like Intel's MKL or AMD's ACML will deliver great performance. There's no reason to avoid them if you use them for the problem they were intended to solve, which is matrix algebra for dense matrices. A plain vanilla LAPACK with no optimizations definitely won't give the best performance (but for many uses even that will be sufficiently performant if you're using a language like D or C).

LAPACK is not designed for sparse matrices. As that's outside my area, I am not sure what is the best library. The matrix package for R calls CSPARSE http://people.sc.fsu.edu/~jburkardt/c_src/csparse/csparse.html You might want to look at that. It's easy enough to call C libraries from D.