Skip to content

LibrariesC

parcollet edited this page Apr 16, 2012 · 4 revisions

C++ Libraries used in TRIQS

TRIQS libs

TRIQS itself contains a few general purpose libraries, so we of course use them.

Name Usage, remark
triqs::arrays multidimensional arrays. matrix, vector.
triqs::mc_tools simple generic Monte Carlo

Do NOT use blitz++. It is added to TRIQS for legacy code, but it is planned to be removed from the project (replaced by triqs::arrays).

math

  • Blas, lapack, cblas.
  • GNU gsl*.
  • FFTW 3

Boost

TRIQS makes a heavy use of the Boost libraries. TRIQS compile the necessary subset of boost libs at installation. The libs used in triqs are given in the following table.

NB : The following boost libs are NOT used, for various reasons : multi_array, ublas.

Name Usage, remark
shared_ptr,scoped_ptr smart pointers. To be prefered to raw pointers systematically.
python to wrap C++ to python code
proto Expression template library
random Random number generators --> always use them rather than personal code
function std::function in C++11 ...
mpi A convenient layer above mpi
numeric bindings in foreign libs since it is still in boost sandbox]
utility/*  
type_traits/*  
preprocessor/* For libs writers
math/*  
unordered_map The hash table
date_time  
lambda  
concept_check  
tuple  
ref  
noncopyable  
iterator  
serialization  
mpl  
fusion  
Clone this wiki locally