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

24 Commits

Author SHA1 Message Date
Olivier Parcollet
8c0bf592d0 Fix compilation of py_converter.
- py_converters in hpp files
- add guard to prevent inclusion in the wrapper (to avoid 2
  specialisation of the same py_converter).
2014-05-20 22:24:30 +02:00
Olivier Parcollet
af084f5d59 parameters & wrapper
- new parameter class :
  parameters are viewed as form, built in C++, and filled in C++/python.
  Each field of the form as a precise C++ type (erased using standard techniques).
  First tests ok, to be reread/checked.

  TODO : serialization is commented. Lead to long compilation time & large code
  due to boost::serialization. Use h5 when possible.

- wrapper :
  - separated the converters of the wrapped type in the TRIQS library
  - necessary for parameters (it used outside an .so) and potentially
    other codes, outside an .so module
2014-05-19 15:19:18 +02:00
Olivier Parcollet
a9bcc33c7e minor correction for linux
- vector on C++14 has explicit default (until C++14 apparently)
  it is a small difference between libc++ and gnu libstdC++
2014-05-11 21:57:18 +02:00
Olivier Parcollet
3a31077d51 gf : new wrapper 2014-05-11 21:47:52 +02:00
tayral
91dc34a869 Added accessor positive only to MeshImFreq 2014-05-08 12:04:54 +01:00
Olivier Parcollet
22ef7ac015 gf. add __call__(double) to gf_imtime, wrapped from C++ evaluator 2014-04-02 11:15:24 +02:00
Olivier Parcollet
758c07c87c Correction of last correction....
The construction from c++ should *not* be changed...
2014-01-21 14:29:44 +01:00
Olivier Parcollet
1adf10429f Fix #52 : Correct 6022015
- forgot to correct the call to self.kind (now returning a char, not an
  int), in previous commit.
2014-01-21 13:30:23 +01:00
Olivier Parcollet
602201527d Fix #51
- The kind() method of mesh should return a char,
like the parameter of the constructor of mesh,
not the C++ corresponding int.
- otherwise, the reduction - construction is broken
and by extension all pickling and then all mpi constructions.
2014-01-17 21:12:24 +01:00
Olivier Parcollet
b644b38a6a gf: imfreq. general case, fix python interface
- Fix constructor, now taking n_points like the positive_only case
- Fix python, h5read, for general case (i.e. all frequencies).
2014-01-07 14:30:40 +01:00
Michel Ferrero
f7fad85fca Iteration over the doc
This is an iteration over the doc mainly thank to Priyanka.
I fixed another couple of details on the way.
2013-12-31 14:22:00 +01:00
Michel Ferrero
b7d7c656ce Fix a missing mask in tail fit (imfreq)
I applied the patch provided by Thomas.

  modified:   pytriqs/gf/local/gf_imfreq.py
2013-12-19 11:54:44 +01:00
Michel Ferrero
80eb00046f Fix tail in from_L_R in gf_generic
The order_max was not set properly.
2013-12-18 23:10:24 +01:00
Michel Ferrero
255de834a2 Fix max tail order in gf_imfreq 2013-12-16 14:34:02 +01:00
Olivier Parcollet
6326c2b4eb gf/clef. Bug fix, and added scalar->matrix reinterpret for blocks
- clef : fix a little bug in storage when evaluating
  (was using the wrong trait to deduce storage type).
- gf : block :
     - added reinterpret_scalar_valued_gf_as_matrix_valued
       for block function
     - cleaned make_block_gf_view_from_vector
     - added make_block_gf_view_from_vectormake_block_gf_view_from_vector_of_cython_proxy
       and changed the cython accordingly because it requires a slightly different syntax.
     - updated tests
- gf : cleaned some template.
2013-10-31 14:41:48 +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
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
Michel Ferrero
fe1aeb8dbf Fix for compatibility with 32-bit systems
This is a fix for issue #18. The type float128 doesn't exist on 32-bit
machines. I removed it from the matrix_stack.pyx detection of a scalar.

  modified:   pytriqs/gf/local/matrix_stack.pyx
2013-09-26 21:59:21 +02:00
Michel Ferrero
f0dfabff38 Change tail implementation with fixed array size
Now the tail have a fixed size. It actually makes everything simpler. I took
order_min = -1 and order_max = 8. This makes the tails compatible with the
previous implementation. However we might want to change this to something like
-10, 10 so that they are self-contained. This commit should also fix issue #11.
2013-09-12 15:21:56 +02:00
Olivier Parcollet
b45045e81c gfs: change the name of the mesh -> gf_mesh for gcc
gcc has a pb because the template mesh<Variable,Opt>
has the name same as the gf mesh method (!).
Clang is fine however on this...

Solution : rename the template mesh<...> to gf_mesh...
Not very elegant, but ok.
2013-08-27 14:20:50 +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
bd4926157c [API BREAK] rename directory gf -> gfs 2013-07-29 11:53:02 +02:00
Olivier Parcollet
40f8cb5c18 [API BREAK] gf : rename namespace gf->gfs
- necessary otherwise the class gf and the namespace have
the same name, leading to some confusion, and need to qualify
some functions (specially on gcc).
Same naming conventions as arrays.
2013-07-28 21:11:28 +02:00
Olivier Parcollet
f2c7d449cc First commit : triqs libs version 1.0 alpha1
for earlier commits, see TRIQS0.x repository.
2013-07-17 19:24:07 +02:00