Lubeck: Hight Level Linear Algebra for Dlang
9il via Digitalmars-d-announce
digitalmars-d-announce at puremagic.com
Tue Jun 13 01:26:20 PDT 2017
Hi
I am pleased to announce the Lubeck [1] linear algebra library
for Dlang.
It is very easy to use and it has been tested in real world.
See the dub project example [9] to start. libblas, libcblas, and
liblapack should be installed and defined in user's DUB
configuration. Alternatively, user can install and link OpenBLAS,
Apple Accelerate, ATLAS, or Intel MKL libraries.
The following functionality is implemented:
1. `mtimes` - General matrix-matrix, row-matrix, matrix-column,
and row-column multiplications.
2. `mldivide` - Solve systems of linear equations AX = B for X.
Computes minimum-norm solution to a linear least squares problem
if A is not a square matrix.
3. `inv` - Inverse of matrix.
4. `svd` - Singular value decomposition.
5. `pca` - Principal component analysis of raw data.
6. `pinv` - Moore-Penrose pseudoinverse of matrix.
7. `det`/`detSymmetric` - General/symmetric matrix determinant.
8. `eigSymmetric` - Eigenvalues and eigenvectors of symmetric
matrix.
The package depends on mir-blas, mir-lapack, and mir-algorithm.
The dependency structure is:
---------------------------
cblas ->
> mir-blas ->
mir-algorithm -> > Lubeck
> mir-lapack ->
lapack ->
---------------------------
cblas [2] and lapack [3] are plain D headers for CBLAS and LAPACK.
mir-blas [4] and mir-lapack [5] are minimal generic betterC
NDSlice[6] wrappers for BLAS and LAPACK.
This work has been sponsored by Symmetry Investments[7] and
Kaleidic Associates[8].
[1] http://code.dlang.org/packages/lubeck
[2] http://code.dlang.org/packages/cblas
[3] http://code.dlang.org/packages/lapack
[4] http://code.dlang.org/packages/mir-blas
[5] http://code.dlang.org/packages/mir-lapack
[6] http://code.dlang.org/packages/mir-algorithm
[7] http://symmetryinvestments.com/
[8] https://github.com/kaleidicassociates
[9]
https://github.com/kaleidicassociates/lubeck/tree/master/example
Best regards,
Ilya
More information about the Digitalmars-d-announce
mailing list