3
0
mirror of https://github.com/triqs/dft_tools synced 2024-12-26 06:14:14 +01:00
dft_tools/doc/tutorials/array_tutorial.rst
tayral edd1ff4529 Restructuring documentation.
A first general restructuration of the doc according to the pattern [tour|tutorial|reference].
In the reference part, objects are documented per topic.
In each topic, [definition|c++|python|hdf5] (not yet implemented)
2014-10-18 12:21:08 +01:00

49 lines
1.4 KiB
ReStructuredText

Multidimensional arrays
==========================
.. highlight:: c
.. toctree::
:maxdepth: 1
TRIQS comes with a library of multidimensional arrays.
This library, among others, allows for easy slicing, archiving and algebraic manipulations of multidimensional arrays.
Here are a couple of simple examples showing the basic use of this class.
Declaring and printing an array
-------------------------------
.. triqs_example:: ./array_tutorial_0.cpp
Simple operations
-------------------
.. triqs_example:: ./array_tutorial_1.cpp
HDF5 Archiving
-------------------
Archiving an array into an HDF5 file is easy:
.. triqs_example:: ./array_tutorial_2.cpp
Views: ranges and slices
-------------------------
One can easily take a slice of an array to view and modify only part of the underlying data.
.. triqs_example:: ./array_tutorial_3.cpp
Matrices and vectors
-------------------------
Arrays must be distinguished from vectors and matrices, which have an algebra of their own.
.. triqs_example:: ./array_tutorial_4.cpp
Defining through a lazy expression
-----------------------------------
.. triqs_example:: ./array_tutorial_5.cpp
Linear algebra
---------------
.. triqs_example:: ./array_tutorial_6.cpp
Map and fold
-------------
.. triqs_example:: ./array_tutorial_7.cpp
The full reference of the array library can be found :doc:`here <../../reference/c++/arrays/contents>`