Boost.uBLAS is part of the Boost C++ Libraries. It is directed towards scientific computing on the level of basic linear and multilinear algebra operations with tensors, matrices and vectors.
uBLAS is documented at boost.org. The tensor extension has also a wiki page.
Distributed under the Boost Software License, Version 1.0.
- Header-only
 - Tensor extension requires C++17 compatible compiler
 - Unit-tests require Boost.Test
 
| Operating System | Compiler | master | 
develop | 
|---|---|---|---|
| Linux (Ubuntu 20.04 x86_64) | gcc-{7, 8, 9, 10} | ||
| Linux (Ubuntu 20.04 x86_64) | clang-{6, 8, 9, 10} | ||
| Windows 10 (x86_64) | msvc-{14.16, 14.26} | ||
| MacOS Catalina (x86_64) | clang-11 | 
| Checks | master | 
develop | 
|---|---|---|
| UB Sanitizer | ||
| TH Sanitizer | ||
| ADD Sanitizer | ||
| Codecov | ||
| Clang-Format | ||
| Clang-Tidy | 
| OS | Toolchain | Compiler Flags | 
|---|---|---|
| Linux Ubuntu 20.04 | GCC | -O0 | 
| Linux Ubuntu 20.04 | Clang | -O3 | 
| Windows 10 | MSVC | No Special Flags | 
| MacOS Catalina | Clang | No Special Flags | 
| UB Sanitizer | GCC and Clang | "-g -fsanitize=undefined" | 
| TH Sanitizer | GCC and Clang | "-g -fsanitize=thread -O2" | 
| ADD Sanitizer | GCC and Clang | "-g -fsanitize=address -fno-omit-frame-pointer" | 
| Clang Tidy | Clang-Tidy-10 | Configuration File | 
| Clang Format | Clang-Format-10 | Configuration File | 
| Branch | Travis | Appveyor | Regression | Docs | 
|---|---|---|---|---|
master | 
||||
develop | 
| Name | Purpose | 
|---|---|
doc | 
documentation | 
examples | 
example files | 
include | 
headers | 
test | 
unit tests | 
benchmarks | 
timing and benchmarking | 
- If you would like to test the library, contribute new feature or a bug fix, see contribution where the whole development infrastructure and the contributing workflow is explained in details.
 - Ask questions in stackoverflow with 
boost-ublasorublastags. - Report bugs and be sure to mention Boost version, platform and compiler you're using. A small compilable code sample to reproduce the problem is always good as well.
 - Submit your patches as pull requests against develop branch. Note that by submitting patches you agree to license your modifications under the Boost Software License, Version 1.0.
 - Developer discussions about the library are held on the Boost developers mailing list. Be sure to read the discussion policy before posting and add the 
[ublas]tag at the beginning of the subject line - For any other questions, you can contact David, Stefan or Cem: david.bellot-AT-gmail-DOT-com, cem.bassoy-AT-gmail-DOT-com stefan-AT-seefeld-DOT-name