3
0
mirror of https://github.com/triqs/dft_tools synced 2024-12-25 22:03:43 +01:00
Commit Graph

148 Commits

Author SHA1 Message Date
Olivier Parcollet
7607d3963d Fix 2cca958 for gcc 4.6
- forgot a type...
2013-09-13 20:26:46 +02:00
Olivier Parcollet
5fe1ebcc3b add wrap_clean make target.
-> to clean the cython wrappers.
2013-09-13 19:16:08 +02:00
tayral
e0f0c85c3d doc: fixed a few typos+ put back tutorial for arrays+changed a few titles 2013-09-13 17:46:51 +02:00
Michel Ferrero
84df58aad7 Fix upper bound problem in tails
There was a mistake in the computation of omax in the tail multiplication.

  modified:   triqs/gfs/local/functions.cpp
  modified:   triqs/gfs/local/tail.hpp
2013-09-13 12:16:04 +02:00
Olivier Parcollet
2cca9584b9 mpi: first draft for #12
- a thin layer, using a bit boost::mpi (for the communicator mostly ...)
  along the lines discussed in #12.
- implemented reduce, allreduce, bcast for arrays, simple scalars,
and any custom type that support boost serialization.
- Custom types :  the operations are done recursively on members.
  No change is needed in the class to use this mpi routine, as long as
  serialize function is defined.
- For arrays of basic types (int, double...), a direct call to MPI C API, which works also for views
  (as long as they are contiguous).
- For arrays of more complex types, we revert to boost::mpi.
- Added a simple test.
- Work still in progress :
   - missing a simple scatter/gather for the arrays
   - need more tests & API thinking.
   - dispatch array code to array lib
   - reduce is "sum" only, but do we need more.
2013-09-13 09:20: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
d4c96a9d93 gf: minor correction for 2 times, etc...
-> are going to be replaced soon anyway ...
2013-09-11 20:48:03 +02:00
Olivier Parcollet
0586c77307 add c14 details in std::c14
- to use already a few c14 convenience details :

-> polymorphic std::plus, e.g.
   boost::mpi::reduce (world, A,C, std::c14::plus<>(),0);
this plus determine the type by itself ...
  -> errors on the type can be very cryptic on the gf.

-> add std::c14::make_unique
(equivalent of make_shared for unique_ptr).
2013-09-11 20:22:38 +02:00
Olivier Parcollet
b534936589 Fix matrix * alias issue and adapt det_manip
- The previous version of the * operator for matrix was too clever.
It was giving a lazy object and then rewriting C = A *B into gemm (a,A,B,0,C).
The pb was in case of aliasing : when e.g. C = A, or is a part of A.
gemm is not correct that case, and as a result generic code like
a = a *b
may not be correct in matrix case, which is unacceptable.

- So we revert to a simple * operator for matrix
that does immediate computation.
Same thing for matrix* vector

- we also suppress a_x_ty class.

-> for M = a * b,
when M is a matrix, there is no overhead due to move assignment
-> however, when M is a view, there is an additionnal copy.

-Correctness comes first, hence the fix.
However, if one wants more speed and one can guarantee that
there is no aliasing possible, then one has to write a direct gemm call.

-> det_manip class was adapted, since in that case, we can show there
no alias, and we want the speed gain, so the * ops where replaced
by direct blas call (using the array blas interface).

-> also gemm, gemv, ger were overloaded in the case the return
matrix/vector (i.e. last parameter of the function) is not an lvalue,
but a temporary view created on the fly.
2013-09-11 18:49:22 +02:00
Olivier Parcollet
3c2a3c51dc arrays : fix in bug in ref counting in deserialize 2013-09-11 18:39:46 +02:00
Olivier Parcollet
c06e183ae5 arrays : revised version of map & fold
- also cleaned a bit reinterpretview example
2013-09-11 18:39:25 +02:00
Olivier Parcollet
a0eba01769 arrays : clean move constructor of cuboid::map
- remove mess linked to old icc 13 support
and write a clear and readable code.
2013-09-11 18:38:18 +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
Olivier Parcollet
1a85f5a16c Work on doc 2013-09-11 18:38:18 +02:00
tayral
d86c0df332 Fix #8
- Order of inclusion of Python include path and nunpy python include path
reversed.
--> on Ubuntu 12.04, there is a link numpy in /usr/include/python2.7
which was *before* the numpy include path, i.e.  in this case
the new version of numpy installed by virtualenv.

By reversing the order of the include, the numpy arrayobject.h
file of virtualenv is found first, the Python.h is found anyway
in the correct system directory (does not change with new numpy version).

O. Parcollet
2013-09-11 14:48:05 +02:00
Michel Ferrero
e3c0ab526a Update necessary cmake version
Also removed Fortran.
2013-09-10 16:49:17 +02:00
Michel Ferrero
18b5e11bef Move the boost formula to triqs/formulas
The doc is updated.
2013-09-10 14:16:40 +02:00
Michel Ferrero
32bee97004 Change link from github
modified:   doc/install.rst
  modified:   doc/installation/osx_lion.rst
2013-09-09 15:53:26 +02:00
Laura Messio
29a6a9f5df gf : cleaning the imtime evaluator 2013-09-09 15:41:46 +02:00
Laura Messio
257bdb9d6a Work on gf
gf: security in the case beta<0 added in the mesh construction
gf: inline added in slice
test/triqs/gf: test of on_mesh() added
gfs: scalar for two-real_times
test/triqs/gf/ renamed in gfs, test gf_retw.cpp completed
gfs: evaluator homogeneised
two_times: evaluator corrected
test/triqs/gf/ renamed in gfs, test gf_retw.cpp completed

+ Correction after rebase

Fix a test : gf_re_im_freq_time
There is an issue with the last point.
To be fixed.
2013-09-09 15:41:46 +02:00
Laura Messio
196e3f9663 doc: det_manip, link towards the cookbook added, explanations added 2013-09-09 15:41:46 +02:00
Laura Messio
a39e41e9fd det_manip: try_insert_from_function(i,j,fx,fy,ksi) 2013-09-09 15:41:46 +02:00
Laura Messio
6239dee8b3 test/triqs/mc_tools directory added, with an example of simple random walker 2013-09-09 15:41:46 +02:00
Michel Ferrero
a5b122d91a Fix cmake so that -DMATHJAX_PATH works
modified:   CMakeLists.txt
  modified:   cmake/FindMathJax.cmake
2013-09-09 14:49:15 +02:00
Michel Ferrero
dade89f60d Add necessary version of cmake
modified:   doc/installation/requirements.rst
2013-09-09 14:48:49 +02:00
Michel Ferrero
e7d29d8243 New notation for Monte Carlo variables 2013-09-09 10:55:54 +02:00
Olivier Parcollet
fe58c9759f Work on doc. Added notations & C++ intro 2013-09-08 22:13:04 +02:00
Olivier Parcollet
4413c6a588 Fix #3
I have no clue why this is a pb, and I can not reproduce it,
but the change is correct and trivial so I merge this pull request.
2013-09-08 16:54:22 +02:00
Olivier Parcollet
b1f61b2f7a Work on doc 2013-09-08 16:13:53 +02:00
Olivier Parcollet
f3480b60c6 doc : add some file 2013-09-08 15:42:44 +02:00
Olivier Parcollet
1dd2d9e691 correction after compiling on linux gcc 4.8.1/ clang 3.3
- clef : lazy_method is broken . remove it from the test for the moment.
2013-09-08 15:35:57 +02:00
Olivier Parcollet
4bbcbe35ef gcc 4.6: correction
- removing some test & tuple_tool which fail on old 4.6
For Ubuntu 12.04 compat.
2013-09-08 15:17:18 +02:00
Olivier Parcollet
2c542647fd clef : new version using lvalues and moving rvalues
- change : all objects are by default
  stored now by reference, not by copy any more.
  Unless the trait force_copy_in_expr is true.
- rvalue refs are moved into the tree
- simplifies a lot the writing of lazy method, objects.
- added a macro for methods
- tests ok. Further check needed to control absence of copies...
- improved documentation
2013-09-08 15:04:12 +02:00
Olivier Parcollet
27be5cbd5b arrays: fix some test to avoid valgrind error 2013-09-08 11:58:37 +02:00
Olivier Parcollet
11081a68b7 Fix #5
- a temp. array in stev had the wrong sign.
2013-09-08 11:58:07 +02:00
Olivier Parcollet
1313566669 utility: simplify a bit tuple::apply 2013-09-06 21:23:55 +02:00
Olivier Parcollet
e8bca45cd0 mv test gf -> gfs 2013-09-06 17:51:51 +02:00
Olivier Parcollet
9790fe8bd0 Work on gf
- clean curry.
- start testing.
2013-09-06 16:00:51 +02:00
Olivier Parcollet
5d0049de7a arrays : minor cosmetics 2013-09-06 16:00:51 +02:00
Olivier Parcollet
9dc4e0f8cc doc: git only in html mode 2013-09-06 16:00:13 +02:00
Michel Ferrero
d6f2fb97b6 Fix BZPatch class and partial DOS computation
modified:   pytriqs/lattice/bz_patch.py
  modified:   pytriqs/lattice/tight_binding.py
2013-09-05 17:55:18 +02:00
Michel Ferrero
eaad5fa41d Change MC parameter names
modified:   triqs/mc_tools/mc_generic.hpp
2013-09-05 17:54:49 +02:00
Michel Ferrero
9e10d44f2a Put applications in applications/ subdir
modified:   doc/about.rst
  modified:   doc/applications.rst
2013-09-05 10:23:16 +02:00
Olivier Parcollet
f251308959 Work on doc 2013-09-04 17:05:45 +02:00
Michel Ferrero
b1840d2a32 Further fix of issue with installation of __init__
modified:   cmake/TRIQSConfig.cmake.in
2013-09-04 12:54:46 +02:00
Michel Ferrero
3e96228770 Fix issue with installation of __init__.py files
modified:   cmake/TRIQSConfig.cmake.in
2013-09-04 12:37:50 +02:00
Michel Ferrero
217f933634 Minimal changes in the doc 2013-09-03 19:14:24 +02:00
Michel Ferrero
eb8060c290 Get rid of boost_for_triqs in doc 2013-09-03 19:14:24 +02:00
Olivier Parcollet
7c758ede0d arrays : add cbegin 2013-09-02 21:25:44 +02:00
Olivier Parcollet
e7f619ac94 brew formula for triqs and an application ok
- triqs and triqs_cthyb_matrix formula work
but unisntallation is not perfect.
2013-09-02 21:25:43 +02:00