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.
#include <boost/numeric/ublas/tensor.hpp>
#include <iostream>
int main()
{
using namespace boost::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;
}
[ublas]
tag at the beginning of the subject line or Stackoverflow using boost-ublas
or ublas
tagsName | Purpose |
---|---|
doc |
documentation |
examples |
example files |
include |
headers |
test |
unit tests |
benchmarks |
timing and benchmarking |