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
norm (1- and 2-norm for vectors),
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
xtensor-blas require a modern C++ compiler supporting C++14. The following C++ compilers are supported:
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
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
which are also available on conda-forge.
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.
For more information on using
xtensor, check out the reference documentation
xtensor-blas depends on the
We use a shared copyright model that enables all contributors to maintain the copyright on their contributions.
This software is licensed under the BSD-3-Clause license. See the LICENSE file for details.