Numo::Linalg : Linear Algebra library with BLAS/LAPACK binding to Numo::NArray
Under development!
Introduction
This is a binding of BLAS/LAPACK for Numo::NArray using dynamic linking loader. This desgin allows you to change backend libraries without re-compiling.
Numo::Linalg API
- Matrix and vector products
- dot, matmul
- Decomposition
- lu, lu_fact, lu_inv, lu_solve, ldl, cholesky, cho_fact, cho_inv, cho_solve, qr, svd, svdvals
- Matrix eigenvalues
- eig, eigh, eigvals, eigvalsh
- Norms and other numbers
- norm, cond, det, slogdet, matrix_rank, matrix_power
- Solving equations and inverting matrices
- solve, lstsq, inv, pinv
Low-level modules
- Numo::Linalg::Blas - Low-level BLAS functions
- Numo::Linalg::Lapack - Low-level LAPACK functions
Installation
-
Install Numo::NArray
-
Install LAPACK or alternative package.
-
Install Numo::Linalg
shell
$ gem install numo-linalg
or
shell
$ git clone https://github.com/ruby-numo/numo-linalg.git
$ cd linalg
$ rake build
$ gem install pkg/numo-linalg-*.gem
Using
- Load Numo::Linalg module with default backend:
ruby
require "numo/linalg"
- Read also instruction for Selecting Backend Library.
Authors
- Masahiro Tanaka
- Makoto Kishimoto
- Atsushi Tatsuma
Acknowledgement
- This work is partly supported by 2016 Ruby Association Grant.
ToDo
- More functions
- write test
- Documentation