List of supported matrix/vector algebra libraries

One can choose which of supported linear algebra libraries to use by passing a special tag type as the second template parameter (Backend) to the ezarpack::arpack_solver class template.

The following table lists all supported backends, their respective tag types and headers containing backends’ definitions. The last columns contains links to complete usage examples.

Storage backend

Tag type

Header

Examples

Eigen 3

ezarpack::eigen_storage

<ezarpack/storages/eigen.hpp>

Eigen 3

Blaze >= 3

ezarpack::blaze_storage

<ezarpack/storages/blaze.hpp>

Blaze

Armadillo

ezarpack::armadillo_storage

<ezarpack/storages/armadillo.hpp>

Armadillo

Boost uBLAS >= 1.58

ezarpack::ublas_storage

<ezarpack/storages/ublas.hpp>

Boost uBLAS

TRIQS arrays (TRIQS 2.0–3.0.x)

ezarpack::triqs_storage

<ezarpack/storages/triqs.hpp>

TRIQS arrays

TRIQS/nda >= 1.1.0

ezarpack::nda_storage

<ezarpack/storages/nda.hpp>

TRIQS/nda

xtensor >= 0.20.0

ezarpack::xtensor_storage

<ezarpack/storages/xtensor.hpp>

xtensor