TRIQS/nda 1.3.0
Multi-dimensional array library for C++
Loading...
Searching...
No Matches
Arrays and views

Detailed Description

Multi-dimensional arrays and views and functions to create, transform and access them in multiple ways.

The generic array (nda::basic_array) and view (nda::basic_array_view) classes form the backbone of the nda library. They are used to store and access multi-dimensional data and provide a wide range of operations and functions to manipulate them.

Regular arrays own the memory they use for storing the data that means they are responsible for managing their memory storage. Views on the other hand do not own the memory they point to. They provide a lightweight alternative to access the data of regular arrays or other views.

Topics

 Algorithms
 Various algorithms that can be applied to arrays and views.
 
 Arithmetic operations
 All the usual arithmetic operations that can be applied to arrays and views.
 
 Array/View utilities
 Type traits, concepts and more functionality related to array and view types.
 
 Factories and transformations
 Various functions to create new array/view objects and to transform existing ones.
 
 HDF5 support
 HDF5 support for nda::basic_array and nda::basic_array_view objects.
 
 MPI support
 MPI support for nda::basic_array and nda::basic_array_view objects.
 
 Mathematical functions
 Various mathematical functions that can be applied to arrays and views.
 
 Symmetries
 Tools to use and detect symmetries in nda::Array objects.
 
 Typedefs
 Various typedefs/aliases of the most useful array and view types.
 

Classes

class  nda::basic_array< ValueType, Rank, LayoutPolicy, Algebra, ContainerPolicy >
 A generic multi-dimensional array. More...
 
class  nda::basic_array_view< ValueType, Rank, LayoutPolicy, Algebra, AccessorPolicy, OwningPolicy >
 A generic view of a multi-dimensional array. More...