You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
xtensor-blas is an extension to the xtensor library, offering bindings to BLAS and LAPACK libraries through cxxblas and cxxlapack from the FLENS project.
xtensor-blas currently provides non-broadcasting dot, norm (1- and 2-norm for vectors), inverse, solve,
eig, cross, det, slogdet, matrix_rank, inv, cholesky, qr, svd in the xt::linalg namespace (check the corresponding xlinalg.hpp header for the function signatures). The functions, and signatures, are trying to be 1-to-1 equivalent to NumPy.
Low-level functions to interface with BLAS or LAPACK with xtensor containers are also offered in the blas and lapack namespace.
xtensor and xtensor-blas require a modern C++ compiler supporting C++14. The following C++ compilers are supported:
On Windows platforms, Visual C++ 2015 Update 2, or more recent
On Unix platforms, gcc 4.9 or a recent version of Clang
Installation
xtensor-blas is a header-only library. We provide a package for the mamba (or conda) package manager.
mamba install -c conda-forge xtensor-blas
which will also install the core xtensor package.
Or you can directly install it from the sources:
cmake -D CMAKE_INSTALL_PREFIX=your_install_prefix
make install
To build the tests or actually use xtensor-blas, you will need binaries for
openblas
lapack
which are also available on conda-forge.
Trying it online
You can play with xtensor interactively in a Jupyter notebook right now! Just click on the binder link below:
The C++ support in Jupyter is powered by the xeus-cling C++ kernel. Together with xeus-cling, xtensor enables a similar workflow to that of NumPy with the IPython Jupyter kernel.
Documentation
For more information on using xtensor, check out the reference documentation