All Projects → xtensor-stack → Xtensor Blas

xtensor-stack / Xtensor Blas

Licence: bsd-3-clause
BLAS extension to xtensor

Projects that are alternatives of or similar to Xtensor Blas

mfi
Modern Fortran Interfaces to BLAS and LAPACK
Stars: ✭ 31 (-69.61%)
Mutual labels:  linear-algebra, blas
Lacaml
OCaml bindings for BLAS/LAPACK (high-performance linear algebra Fortran libraries)
Stars: ✭ 101 (-0.98%)
Mutual labels:  linear-algebra, blas
fml
Fused Matrix Library
Stars: ✭ 24 (-76.47%)
Mutual labels:  linear-algebra, blas
Cotila
A compile-time linear algebra system for C++
Stars: ✭ 78 (-23.53%)
Mutual labels:  linear-algebra, blas
Armadillo Code
Armadillo: fast C++ library for linear algebra & scientific computing - http://arma.sourceforge.net
Stars: ✭ 388 (+280.39%)
Mutual labels:  linear-algebra, blas
linnea
Linnea is an experimental tool for the automatic generation of optimized code for linear algebra problems.
Stars: ✭ 60 (-41.18%)
Mutual labels:  linear-algebra, blas
optimath
A #[no_std] LinAlg library
Stars: ✭ 47 (-53.92%)
Mutual labels:  linear-algebra, blas
Blasfeo
Basic linear algebra subroutines for embedded optimization
Stars: ✭ 120 (+17.65%)
Mutual labels:  linear-algebra, blas
MatlabJuliaMatrixOperationsBenchmark
Benchmark MATLAB & Julia for Matrix Operations
Stars: ✭ 21 (-79.41%)
Mutual labels:  linear-algebra, blas
monolish
monolish: MONOlithic LInear equation Solvers for Highly-parallel architecture
Stars: ✭ 166 (+62.75%)
Mutual labels:  linear-algebra, blas
Blasjs
Pure Javascript manually written 👌 implementation of BLAS, Many numerical software applications use BLAS computations, including Armadillo, LAPACK, LINPACK, GNU Octave, Mathematica, MATLAB, NumPy, R, and Julia.
Stars: ✭ 241 (+136.27%)
Mutual labels:  linear-algebra, blas
Fmatvec
A fast vector/matrix library
Stars: ✭ 5 (-95.1%)
Mutual labels:  linear-algebra, blas
Cython Blis
💥 Fast matrix-multiplication as a self-contained Python library – no system dependencies!
Stars: ✭ 165 (+61.76%)
Mutual labels:  linear-algebra, blas
lubeck
High level linear algebra library for Dlang
Stars: ✭ 57 (-44.12%)
Mutual labels:  linear-algebra, blas
Eigen Git Mirror
THIS MIRROR IS DEPRECATED -- New url: https://gitlab.com/libeigen/eigen
Stars: ✭ 1,659 (+1526.47%)
Mutual labels:  linear-algebra, blas
sblas
Scala Native BLAS (Basic Linear Algebra Subprograms) supporting Linux and macOS
Stars: ✭ 25 (-75.49%)
Mutual labels:  linear-algebra, blas
Kokkos Kernels
Kokkos C++ Performance Portability Programming EcoSystem: Math Kernels - Provides BLAS, Sparse BLAS and Graph Kernels
Stars: ✭ 113 (+10.78%)
Mutual labels:  linear-algebra, blas
dbcsr
DBCSR: Distributed Block Compressed Sparse Row matrix library
Stars: ✭ 65 (-36.27%)
Mutual labels:  linear-algebra, blas
Vectorious
Linear algebra in TypeScript.
Stars: ✭ 616 (+503.92%)
Mutual labels:  linear-algebra, blas
Blis
BLAS-like Library Instantiation Software Framework
Stars: ✭ 859 (+742.16%)
Mutual labels:  linear-algebra, blas

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 conda package manager.

conda 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.21.4
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
0.15.2 ^0.19.0
0.15.1 ^0.19.0
0.15.0 ^0.19.0
0.14.0 ^0.18.0
0.13.x ^0.17.0
0.12.x ^0.17.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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].