lubeck 0.0.6-beta

High level linear algebra library for Dlang


To use this package, run the following command in your project's root directory:

Manual usage
Put the following dependency into your project's dependences section:

Build Status

lubeck

High level linear algebra library for Dlang

Required static libraries

  • blas/cblas - CBLAS API
  • lapack - FORTRAN 77 LAPACK API

See the dub.sdl in the example folder.

API

  • mtimes - General matrix-matrix, row-matrix, matrix-column, and row-column multiplications.
  • 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.
  • inv - Inverse of matrix.
  • svd - Singular value decomposition.
  • pca - Principal component analysis of raw data.
  • pinv - Moore-Penrose pseudoinverse of matrix.
  • det/detSymmetric - General/symmetric matrix determinant.
  • eigSymmetric - Eigenvalues and eigenvectors of symmetric matrix.
  • Qr decomposition: qrDecomp with solve method
  • Cholesky: choleskyDecomp with solve method
  • LU decomposition: luDecomp with solve method
  • LDL decomposition: ldlDecomp with solve method

Example

/+dub.sdl:
dependency "lubeck" version="~>0.0.4"
libs "lapack" "blas"
+/
// or libs "openblas"
import std.stdio;
import mir.ndslice: magic, repeat, as, slice;
import lubeck: mtimes;

void main()
{
    auto n = 5;
    // Magic Square
    auto matrix = n.magic.as!double.slice;
    // [1 1 1 1 1]
    auto vec = 1.repeat(n).as!double.slice;
    // Uses CBLAS for multiplication
    matrix.mtimes(vec).writeln;
    matrix.mtimes(matrix).writeln;
}

Open on run.dlang.io

This work has been sponsored by Symmetry Investments and Kaleidic Associates.

About Kaleidic Associates

We are a boutique consultancy that advises a small number of hedge fund clients. We are not accepting new clients currently, but if you are interested in working either remotely or locally in London or Hong Kong, and if you are a talented hacker with a moral compass who aspires to excellence then feel free to drop me a line: laeeth at kaleidic.io

We work with our partner Symmetry Investments, and some background on the firm can be found here:

http://symmetryinvestments.com/about-us/

Authors:
  • Ilya Yaroshenko
  • Lars Tandle Kyllingstad (SciD author)
Dependencies:
mir-lapack, mir-blas, mir-random
Versions:
1.5.4 2023-Jul-24
1.5.3 2022-Nov-18
1.5.2 2022-Nov-17
1.5.1 2022-Feb-24
1.5.0 2021-Aug-20
Show all 40 versions
Download Stats:
  • 0 downloads today

  • 4 downloads this week

  • 92 downloads this month

  • 146561 downloads total

Score:
3.1
Short URL:
lubeck.dub.pm