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