• Stars
    star
    156
  • Rank 239,589 (Top 5 %)
  • Language
    C++
  • License
    BSD 3-Clause "New...
  • Created over 7 years ago
  • Updated 6 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

BLAS extension to xtensor

xtensor

Travis Appveyor Azure Documentation Binder Join the Gitter Chat

Introduction

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:

Binder

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

http://xtensor-blas.readthedocs.io/

Dependency on xtensor

xtensor-blas depends on the xtensor package

xtensor-blas xtensor
master ^0.24.0
0.20.0 ^0.24.0
0.19.2 ^0.23.3
0.19.1 ^0.23.3
0.19.0 ^0.23.0
0.18.0 ^0.22.0
0.17.2 ^0.21.4
0.17.1 ^0.21.2
0.17.0 ^0.21.1
0.16.1 ^0.20.4
0.16.0 ^0.20.0

License

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.

More Repositories

1

xtensor

C++ tensors with broadcasting and lazy computing
C++
3,282
star
2

xsimd

C++ wrappers for SIMD intrinsics and parallelized, optimized mathematical functions (SSE, AVX, AVX512, NEON, SVE))
C++
2,105
star
3

xtensor-python

Python bindings for xtensor
C++
345
star
4

xframe

C++ multi-dimensional labeled arrays and dataframe based on xtensor
C++
303
star
5

xtl

The x template library
C++
200
star
6

xtensor-r

R bindings for xtensor
C++
87
star
7

xtensor-io

xtensor plugin to read and write images, audio files, numpy (compressed) npz and HDF5
C++
84
star
8

xtensor-fftw

FFTW bindings for the xtensor C++14 multi-dimensional array library
Jupyter Notebook
47
star
9

Xtensor.jl

Julia package for xtensor-julia
Julia
40
star
10

xtensor-zarr

Implementation of the Zarr core protocol (version 2 and 3) based on xtensor.
C++
38
star
11

xtensor-python-cookiecutter

Cookiecutter for a Python project making use of xtensor
Python
31
star
12

xtensor-sparse

C++
30
star
13

zarray

Dynamically typed N-D expression system based on xtensor
C++
25
star
14

xtensor-benchmark

Easy to use benchmarks for linear algebra frameworks
C++
24
star
15

xtensor-julia

Julia bindings for xtensor
C++
19
star
16

Xtensor.R

R package for xtensor-r
C++
17
star
17

xtensor-polyglot

An interactive demo of the xtensor language bindings.
Jupyter Notebook
9
star
18

xtensor-signal

Signal processing features based on xtensor
C++
8
star
19

xtensor-julia-cookiecutter

Cookiecutter for a Julia project making use of xtensor
CMake
7
star
20

xtensor-stack.github.io

Organization and project management for xtensor and related projects https://xtensor-stack.github.io
HTML
2
star
21

xsimd-algorithm

STL-like algorithms vectorized with xsimd
1
star