Thread overview |
---|
June 13, 2017 Lubeck: Hight Level Linear Algebra for Dlang | ||||
---|---|---|---|---|
| ||||
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 |
June 15, 2017 Re: Lubeck: Hight Level Linear Algebra for Dlang | ||||
---|---|---|---|---|
| ||||
Posted in reply to 9il | On Tuesday, 13 June 2017 at 08:26:20 UTC, 9il wrote:
> [1] http://code.dlang.org/packages/lubeck
> https://github.com/kaleidicassociates/lubeck/tree/master/example
Nice.
Will there be any matrix, vector, scalar, types with operator overloads?
|
June 15, 2017 Re: Lubeck: Hight Level Linear Algebra for Dlang | ||||
---|---|---|---|---|
| ||||
Posted in reply to Nordlöw | On Thursday, 15 June 2017 at 12:22:25 UTC, Nordlöw wrote:
> On Tuesday, 13 June 2017 at 08:26:20 UTC, 9il wrote:
>> [1] http://code.dlang.org/packages/lubeck
>> https://github.com/kaleidicassociates/lubeck/tree/master/example
>
> Nice.
>
> Will there be any matrix, vector, scalar, types with operator overloads?
I'm guessing such a solution is not generic enough partly because D cannot define non-member operator overloads and partly because the algorithms operates on ranges.
|
June 15, 2017 Re: Lubeck: Hight Level Linear Algebra for Dlang | ||||
---|---|---|---|---|
| ||||
Posted in reply to Nordlöw | On Thursday, 15 June 2017 at 13:44:33 UTC, Nordlöw wrote: > On Thursday, 15 June 2017 at 12:22:25 UTC, Nordlöw wrote: >> On Tuesday, 13 June 2017 at 08:26:20 UTC, 9il wrote: >>> [1] http://code.dlang.org/packages/lubeck >>> https://github.com/kaleidicassociates/lubeck/tree/master/example >> >> Nice. >> >> Will there be any matrix, vector, scalar, types with operator overloads? > > I'm guessing such a solution is not generic enough partly because D cannot define non-member operator overloads and partly because the algorithms operates on ranges. mir.ndslice.slice has CanonicalMatrix/ContinguousMatrix, and similar versions for vectors and tensors and all the algorithms that operate on ranges in mir seem to work fine with them. Ilya has expressed his intention in the past for higher level abstractions on mir, including operator overloading. I brought up the operator overloading issue on the gradient descent thread: https://forum.dlang.org/post/ohjsuphzuapaxktgwfsp@forum.dlang.org |
June 15, 2017 Re: Lubeck: Hight Level Linear Algebra for Dlang | ||||
---|---|---|---|---|
| ||||
Posted in reply to jmh530 | On Thursday, 15 June 2017 at 14:23:29 UTC, jmh530 wrote:
> mir.ndslice.slice has CanonicalMatrix/ContinguousMatrix, and similar versions for vectors and tensors and all the algorithms that operate on ranges in mir seem to work fine with them.
>
> Ilya has expressed his intention in the past for higher level abstractions on mir, including operator overloading. I brought up the operator overloading issue on the gradient descent thread:
> https://forum.dlang.org/post/ohjsuphzuapaxktgwfsp@forum.dlang.org
Thanks.
|
June 17, 2017 Re: Lubeck: Hight Level Linear Algebra for Dlang | ||||
---|---|---|---|---|
| ||||
Posted in reply to 9il | On Tuesday, 13 June 2017 at 08:26:20 UTC, 9il wrote: > 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. > > 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. > This work has been sponsored by Symmetry Investments[7] and Kaleidic Associates[8]. > > Best regards, > Ilya This is great news! as I said in a previous discussion (https://forum.dlang.org/post/nrbcrpnvcrlqvpqholuv@forum.dlang.org) a library like this is pretty important for numerical computing in D and together with Mir can form the basis of implementing algorithms for a myriad of applications in analysis. Many thanks to all those involved! |
Copyright © 1999-2021 by the D Language Foundation