- gf<cartesian_product<imfreq,imfreq>> was not correct
when out bounds. Fixed evaluator.
- tensor_proxy : fix the trait for algebra which was incorrect.
- TODO: clean code (repetition, put in mesh some windowing).
- there was a confusion in gf imfreq, in the new case
where freq can be <0 (non real gf, or for product gf).
- index: is the matsubara n, as in the struct matsubara_freq
index can be >0 or <0
- linear_index : is the shift from the 0. It is always >0.
Fixed function to compute it.
- Also changed the construction of mesh_point in the generic iterator.
Before, was constructed with a mesh point of index 0
Now, added a new constructor on mesh_point_t, just taking the mesh
which construct the *first* mesh_point.
Fixed linear, discrete, product accordingly.
Added to the documentation of the concepts of gf.
- little details : code cleaning, clang formatting, along
with documentation writing for c++ gf.
- separated the mesh in small class for better doc.
- work on documentation : reorganize specialisation, ...
- to choose mpi4py over boost.python.mpi, pass -DPython_use_mpi4py=ON
- boost.mpi stays the default for python, but
adding the possibility of using mpi4py instead.
- Due to numerous pbs on recent OS X + brew installation.
boost.mpi does not work (crash in openmpi ??), mpi4py does
- the pytriqs/utility/mpi.py is now configured by the cmake (like
version.py) to prepare one of the two possibilities.
- TODO: not tested carefully : to be done in other machines.
When an object with __hdf_write__ was written in an archive, the
corresponding key was not cached. Therefore, one could not access
the object which had just been written.
std::conj returns a complex according to std.
On gcc, we need to define it (bug?) but on clang libc++
it is an error.
-> one test is still failing : to be decided later
DRAFT : to be tested further...
- update gf<imfreq>
- write a specific mesh for matsubara frequencies
- now the cast series is :
mesh_pt --> matsubara_freq --> complex<double>
- matsubara_freq is just the matsubara frequency
- arithmetic of the mesh_pt casted to matsubara_freq
- arithmetic of matsubara_freq is casted to complex, except + and -,
which are kept as matsubara_freq.
- evaluator now accept : int, mesh_pt, and matsubara_freq
for matsubara_freq : for negative omega, use conjugation
for omega outside windows, evaluate the tail on omega.
- as a result : g( om - nu) where om, nu are 2 meshes points,
is the extrapolation outside the grid if necessary.
- updated tests
- added evaluation for tail.
- a(1,ellipsis()) for a an array<T,1> e.g.,
was not compiling.
- also added const_iterator for range to allow simple code :
for (auto i : range {3,6}) ....-> i = 3,4,5 as in python