Skip to content

Repository files navigation

Boost Linear and Multilinear Algebra Library

LanguageLicenseDocumentationWikiMailing ListDiscussionsGitterContributor Covenant

WindowsLinuxApple MacOSClang SanitizerClang TidyCodecov

Boost.uBlas is a header-only library and part of the Boost C++ libraries. It provides a set of basic linear and multilinear algebra operations with tensors, matrices and vectors. uBLAS is documented at boost.org or in docs. Simple examples of the tensor extension is provided by the wiki page.

Simple Example

#include<boost/numeric/ublas/tensor.hpp> #include<iostream>intmain()
{
usingnamespaceboost::numeric::ublas::index;using tensor = boost::numeric::ublas::tensor_dynamic<float>;
auto ones = boost::numeric::ublas::ones<float>{};
tensor A = ones(3,4,5);
tensor B = ones(4,6,3,2);
tensor C = 2*ones(5,6,2) + A(_i,_j,_k)*B(_j,_l,_i,_m) + 5;
// Matlab Compatible Formatted Output
std::cout << "C=" << C << ";" << std::endl;
}

Requirements

  • Boost.uBlas requires a C++20 compatible compiler
    • gcc version >= 10.x.x
    • clang version >= 10.x.x
    • msvc version >= 14.28
  • Unit-tests require Boost.Test

Discussions and Questions

Contribution

Directories

NamePurpose
docdocumentation
examplesexample files
includeheaders
testunit tests
benchmarkstiming and benchmarking

Releases

Packages

Used by

Contributors

Languages