3
0
mirror of https://github.com/triqs/dft_tools synced 2024-12-27 06:43:40 +01:00
Commit Graph

18 Commits

Author SHA1 Message Date
Olivier Parcollet
ce221dfc1c gf: add negative matsubara freqs
- add possibility of having negative matsubara freqs
in the matsubara mesh.

- TODO :
   finish imtime complex
   adapt fourier in this case
   test
2013-12-17 15:09:34 +01:00
Olivier Parcollet
17ab555213 gf: fix matsubara_freq and mesh_pt
- cleaner implementation, solve some bugs...
2013-11-20 15:16:53 +01:00
Olivier Parcollet
9ce291d640 gf: update gf imfreq for g( om - nu) case
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.
2013-11-18 23:41:32 +01:00
Olivier Parcollet
184274c893 gf : fix bug in mesh_pt_generator
- in the default constructor, do not call the pointer
that may be null.
- appeared only in python (unused in c++), for new matsubara...
2013-11-18 23:41:32 +01:00
Olivier Parcollet
579368f24b gf. Clean Fourier
- lazy_fourier and co --> fourier
- ex fourier --> make_gf_from_fourier to make a new gf
- = fourier (g) works only iif lhs is a view, like scalar.
- updated python (commented fourier method).
2013-10-23 18:46:55 +02:00
Olivier Parcollet
e5648d2bfd gf : various fixes
- blocks : including the iterator
  --> there is still an issue, with the use of & intead of a view
- details after rereading...
2013-10-21 15:12:53 +02:00
Olivier Parcollet
9edda8724d implement gf_const_view 2013-10-21 15:12:53 +02:00
Olivier Parcollet
9002c1e456 implement array_const_view 2013-10-21 15:12:53 +02:00
Laura Messio
7693077b79 gf: Fix out of bound in linear mesh in gf eval.
- When reaching the last point of the grid,
move one step back and set w =1.
- fix the gf_2times but and related issues.
2013-10-21 15:11:44 +02:00
Olivier Parcollet
39edb2f846 [API change] gf : factories -> constructors
- Make more general constructors for the gf.
  gf( mesh, target_shape_t)
- remove the old make_gf for the basic gf.
- 2 var non generic gf removed.
- clean evaluator
- add tensor_valued
- add a simple vertex test.
- clean specialisation
- Fix bug introduced in 1906dc3
- forgot to resize the gf in new version of operator =
- Fix make_singularity in gf.hpp

- clean resize in operator =

- update h5 read/write for block gf
  - changed a bit the general trait to save *all* the gf.
  - allows a more general specialization, then a correct for blocks

- NOT FINISHED : need to save the block indice for python.
  How to reread ?
  Currently it read the blocks names and reconstitute the mesh from it.
  Is it sufficient ?

- clean block constructors

 - block constructors simplest possible : an int for the number of blocks
 - rest in free factories.
 - fixed the generic constructor from GfType for the regular type :
   only enable iif GfType is ImmutableGreenFunction

- multivar. fix linear index in C, and h5 format

  - linear index now correctly flatten in C mode
    (was in fortran mode), using a simple reverse of the tuple in the folding.
  - fix the h5 read write of the multivar fonctions
   in order to write an array on dimension # variables + dim_target
   i.e. without flattening the indices of the meshes.
   Easier for later data analysis, e.g. in Python.

- merge matrix/tensor_valued. improve factories

  - matrix_valued now = tensor_valued<2>
    (simplifies generic code for h5).
  - factories_one_var -> factories : this is the generic case ...
    only a few specialization, code is simpler.

- clef expression call with rvalue for *this
- generalize matrix_proxy to tensor and clean

 - clean exception catch in tests

  - exception catching catch in need in test
    because the silly OS X does not print anything, just "exception occurred".
    Very convenient for the developer...
  - BUT, one MUST add return 1, or the make test will *pass* !!
  - --> systematically replace the catch by a macro TRIQS_CATCH_AND_ABORT
    which return a non zero error code.
   - exception : curry_and_fourier which does not work at this stage
   (mesh incompatible).

- gf: clean draft of gf 2 times
  - comment the python interface for the moment.
  - rm useless tests
2013-10-21 15:11:44 +02:00
Olivier Parcollet
a5938a8d9e Fix arithmetic of mesh_points in gf
- the arithmetics of the gf mesh_points :
the forwarding of the second argument was missing,
leading to subtle bugs e.g. in  (in matrix case) :

  deltaw(iom_) << iom_ * gw.singularity()(-1) + gw.singularity()(0) - gw(iom_);

because the partial evaluation of the expression introduced a dangling const matrix_view &
instead of moving the temporary matrix_view into the final matrix expression template.
2013-10-18 21:52:57 +02:00
Olivier Parcollet
e0f58aeb62 gf : clean product mesh
- reinterpret array is much simple.
clean old code after check on various compilers
2013-09-11 18:38:18 +02:00
Laura Messio
29a6a9f5df gf : cleaning the imtime evaluator 2013-09-09 15:41:46 +02:00
Olivier Parcollet
165b44a081 gf: mesh. const_iterator and add cbegin
- for meshes :
clean concept w/ doc, add cbegin, and changed
iterator to const_iterator (more standard name).
2013-08-27 13:43:58 +02:00
Olivier Parcollet
7898bd8d88 gf : mesh now the class, not a trait.
simplify : mesh was a impl trait,
make it the class itself.
corrected the gf, tests and the cython.
2013-08-27 13:43:58 +02:00
Olivier Parcollet
44bf1e322a gf product and curry. First draft
- works on simple case, to be reread.
- curry in general. To be reread ..
- added some tests.
2013-07-30 22:37:41 +02:00
Olivier Parcollet
65bdc65da1 gf: fix upper bound in out of bounds check in linear mesh 2013-07-29 11:53:02 +02:00
Olivier Parcollet
bd4926157c [API BREAK] rename directory gf -> gfs 2013-07-29 11:53:02 +02:00