Boost Linear and Multilinear Algebra Library
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.
Documentation
uBLAS is documented at boost.org.
The tensor extension has also a wiki page.
License
Distributed under the Boost Software License, Version 1.0.
Properties
- Header-only
- Tensor extension requires C++17 compatible compiler
- Unit-tests require Boost.Test
Build Status
Tensor Build & 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 |
|
|
Tensor Additional Checks
Checks |
master |
develop |
UB Sanitizer |
|
|
TH Sanitizer |
|
|
ADD Sanitizer |
|
|
Codecov |
|
|
Clang-Format |
|
|
Clang-Tidy |
|
|
Tensor Build Information
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 |
uBLAS CI
Directories
Name |
Purpose |
doc |
documentation |
examples |
example files |
include |
headers |
test |
unit tests |
benchmarks |
timing and benchmarking |
More information
- 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-ublas
or ublas
tags.
- 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