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

488 Commits

Author SHA1 Message Date
Olivier Parcollet
38cfef4e9f Implement mpi lib (1). Array, generic, base, vector
- Implement the basic structure of the mpi lib
  and specialization for arrays, basic types, std::vector
- adapted the array class for the lazy mpi mechanism
- pass tests on arrays :
   - scatter, gather on array<long,2> array<complex,2>, etc...
   - broadcast
- several files for readibility
- the std::vector coded but not tested.
- generic mecanism implemented and tested (mpi_generic test)
- added several tests for the mpi lib.
- TODO : more tests, doc...
2014-10-18 21:19:51 +02:00
Olivier Parcollet
56820a9493 [doc] install and exceptions 2014-10-18 21:19:51 +02:00
Olivier Parcollet
dfe1948d38 [cmake] Test log compare command ready to copy-paste.
- remove the ; !
2014-10-18 21:19:51 +02:00
Olivier Parcollet
dddae19853 Clean old boost and old mc_tools code (v1) 2014-10-18 21:05:07 +02:00
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
tayral
a9e5f20c39 put back literalinclude instead of triqs_example for c++ 2014-10-17 17:01:20 +01:00
tayral
880f30b086 Changed all literalincludes --> runblock / triqs_example
This is to avoid keeping code snippets that do not work in the doc. At least there will be an error message.
2014-10-17 16:50:46 +01:00
Priyanka Seth
70d4aba545 Determining delta from gf (currently only BlockGf and GfImFreq) 2014-10-17 15:55:03 +02:00
Priyanka Seth
ec32223ea7 Clean up _gf_common.py -- removed duplicated python functions 2014-10-17 10:21:32 +02:00
Olivier Parcollet
c1f221e085 [arrays] More include by default 2014-10-16 22:32:11 +02:00
Olivier Parcollet
5b6b0ecf38 Revert "include map and fold headers into array.hpp"
This is not the right place for include...

This reverts commit 63fd1b8b2d.
2014-10-16 22:21:37 +02:00
Hartmut Hafermann
63fd1b8b2d include map and fold headers into array.hpp 2014-10-16 16:30:48 +02:00
Priyanka Seth
d8e79056bf Modify det_manip to access determinant x_values and y_values 2014-10-14 16:26:08 +02:00
Hartmut Hafermann
e93adc0b84 [gfs] add << operator for gfs
kept <<= for backward compatibility
TODO: clean doc and examples, possibly add deprecation warning
2014-10-13 17:42:11 +02:00
Michel Ferrero
2f2374ea29 Fix issue #128
This is just cosmetics but should be fine.
2014-10-09 13:15:58 +02:00
Michel Ferrero
173a97d07c Fix for issue #134
There was a bug in the transpose of the indices. Added a test.
2014-10-09 12:46:07 +02:00
Olivier Parcollet
0fd82579e3 [cmake] Fix cmake python for Ubuntu 14.04
There is a bug in Ubuntu 14.04 : the interpreter
does not return the correct position of the libpython.
We add the correct path to the path hints, at the end (lowest priority).
In most machines, the first hint is the correct answer.
2014-10-08 17:01:40 +02:00
Priyanka Seth
6a38d6747c Fix in tail-matrix multiplication
Set order_max to correspond to the mask
2014-10-07 13:55:56 +02:00
Priyanka Seth
9be131e8e1 Allow indices in gf_struct/operator names to be strings. 2014-10-07 13:53:18 +02:00
Michel Ferrero
3b59d26a67 Two fixes in tight binding part 2014-10-06 23:18:10 +02:00
Priyanka Seth
71fa498833 API change for tail fitters
python fit_tail, replace_by_tail ==> fit_tail_depr, replace_by_tail_depr
c++ set_tail_from_fit ==> fit_tail
2014-10-01 10:52:32 +02:00
Priyanka Seth
11f17631b5 Added predefined hamiltonians to operators 2014-09-27 01:16:28 +02:00
Michel Ferrero
d73c1cf00c Fix and wrap set_tail_from_fit
The c++ version of the tail fit is wrapped to python. I also changed
slightly the code so that when replace_by_fit is true the data is
changed all the way to the end of the Matsubara axis not only on the
interval where the fit was done.
2014-09-26 12:35:59 +02:00
Olivier Parcollet
b31f4a0a09 Correction: include cmake dir 2014-09-19 20:52:26 +02:00
Olivier Parcollet
c9a5856fb8 [clef] Fix placeholder () and [] operators
- had been forgotten.
- modified g(k,om) test
2014-09-18 22:47:53 +02:00
Olivier Parcollet
c7a1a25846 Fix bug in building regular type from python
- the flag is really enforce_copy and should force a copy
- for a view : it is false, no change
- for a regular type : it is true, and now this will enforce the
  copy in the call of numpy. numpy does it for us.
- The problematic case was when we construct a regular type
  from a complicated view in python, which is an array
  but is not C contiguous.
  (hence the PyArray_Check was false, and the C_Contiguous flag was not set)
  Now it is fine, since we ask numpy to systematically copy the data for us
  and build a C contigous array.
  --> the constructor from python does not support custom memory layout
  because numpy only support C and Fortran

Conflicts:

	triqs/arrays/impl/indexmap_storage_pair.hpp
2014-09-18 15:01:17 +02:00
Olivier Parcollet
1a85b9eb81 Fix #122 : correction : forgot inline 2014-09-09 10:06:41 +02:00
Olivier Parcollet
e6234ed3d5 Fix #122
- the conj_ function was not written properly
  (T is a ref, the trait is_complex was not returning true).
- a simpler version is clearly better !
2014-09-08 20:54:59 +02:00
Olivier Parcollet
7cf7d09c77 Fix #112 and put back g +=/-= matrix for imfreq
- The issue comes from the fact that the default generated
  += and co by the Python API is the one for immutable types, like int.
- Indeed, in python, for an int :
  x=1
  id(x)
  140266967205832
  x+=1
  id(x)
  140266967205808
- For a mutable type, like a gf, it is necessary to
  add explicitly the xxx_inplace_add functions.
- Added :
   - the generation of the inplace_xxx functions
   - a method in class_ in the wrapper generator that
     deduce all += operator from the + operators.
   - this assumes that the +=, ... are defined in C++.
   - The generation of such operators are optional, with option
     with_inplace_operators in the arithmetic flag.
- Also, added the overload g += M and g -= M for
  g : GfImfreq, M a complex matrix.
  Mainly for legacy Python codes.
2014-09-06 19:07:34 +02:00
Olivier Parcollet
dcbdd5bc54 Clean the eigenelements tests.
- Clean the output of the test.
- Separate from previous commit to be able to retest previous test
  with same lib code.
2014-09-04 11:58:20 +02:00
Olivier Parcollet
9265c2db7f Fix #119
- Cleaned of the eigensystems computations (worker is simpler, decision
  at runtime, etc..).
- Fix #119 : When the matrix is in C order, the fortran lapack
  sees in fact its conjugate, so we need to conjugate the eigenvectors at the end.
  NB : not true if the storage order of the matrix is already fortran of course.
2014-09-04 11:55:32 +02:00
Olivier Parcollet
be1b9b6f19 python wrapper. No new function if no constructor
- When a type has no python constructor (E.g. parameters)
  do not define the xxx_new function.
- Leads to a better error message when trying to construct
  such an object in python.
- TODO : check there is no issue with serialization ?
2014-07-27 16:27:16 +02:00
Olivier Parcollet
522477eb2d desc generator : minor cleaning
- while porting apps. examples to 1.2
- add build_ipytriqs, etc...
- various details...
2014-07-27 15:38:22 +02:00
Olivier Parcollet
51b008c369 cmake: make TRIQS_PATH absolute
- when TRIQS_PATH is given e.g. with ~, make it absolute
  to avoid config. error.
2014-07-27 15:38:22 +02:00
Olivier Parcollet
06dbfb71bf correct previous commit after linux test 2014-07-26 18:46:57 +02:00
Olivier Parcollet
6fb71f50c9 desc wrapper generator: small improve, clean
- detect the use module.
- clean the code specific to wrapper generation from clang_parser.
- add support for default arguments for int, double, char.
- TODO : add more complex default arguments
2014-07-26 18:37:20 +02:00
Olivier Parcollet
03dbf576ae rm obsolete brew boost
deleted:    packaging/os_x/boost.rb
2014-07-24 20:44:41 +02:00
Olivier Parcollet
e5928de7f5 Fix #108 (tentatively).
- Pb was that indices for gf where empty when constructed
  with default args from C++.
- changed into : make indices from the shape in the default
  case.
- also added more, simpler construction, for the indices
  to easy C++ construction.
2014-07-24 17:17:16 +02:00
Olivier Parcollet
88800c903c doc: adapt to new web site subdirectory
triqs/1.1
triqs/1.2
etc...
2014-07-23 17:25:02 +02:00
Olivier Parcollet
0c64c2a010 Add date+time in C++ exceptions in wrapper
- the wrapper will now add date and time
  at the boundary between C++ and Python.
- using C lib, not C++ (lack of support of C++ chrono functions in gcc).
2014-07-23 15:47:19 +02:00
Priyanka Seth
e3e652f556 Doc changes -- installation 2014-07-23 14:14:19 +02:00
Priyanka Seth
c61b8941ee More prettification: can not --> cannot 2014-07-16 23:30:05 +02:00
Priyanka Seth
5df128aab4 Prettification. 2014-07-16 23:29:56 +02:00
Hartmut Hafermann
bd7c8abd75 minor change in install doc for osx 2014-07-16 18:06:30 +02:00
Hartmut Hafermann
32112d47b7 added check for mpi4py in config 2014-07-16 11:35:46 +02:00
Hartmut Hafermann
34414cc096 fixed cmake dependency warnings 2014-07-16 11:26:10 +02:00
Michel Ferrero
f6da304234 Add indicesR/L to gf_desc 2014-07-10 11:56:05 +02:00
Olivier Parcollet
a6e1528730 hdfarchive + gf : two corrections
- hdfarchive : transform the key to string with str
  because they can be unicode and C wrapper does not convert python unicode strings.
- gf : Correct the scheme for BlockGf : not very clean, to be improved ?
2014-07-08 23:38:00 +02:00
Olivier Parcollet
ab3b9b3d4d Draft libclang based python wrapper desc generator
- Given a C++ file, e.g. a class,
  it calls libclang to parse the C++, and retrieve from
  its AST the necessary info to write a xxx_desc.py file.

- THIS IS WORK IN PROGRESS. There are several corner cases for which we
  may want (or not) the script to do better.
- It is not designed to be used automatically, but to to 90 % of the
  boring typesetting work...
- The preamble still needs manual choices

- The properties, methods, functions are automatically declared in
  the _desc file, in the simplest possible way.
- An option --properties, -p : to transform some simple methods or
  get_x, set_x into python properties, not methods.
  Cf doc.

- requires clang (tested on 3.4).
- the script is configured by cmake and installed in
  INSTALLATION_DIRECTORY/bin, with some other files.
  It can only be used for applications, after the lib has been installed.
  It is cmake configured, to include automatically the various include
  paths configure in the triqs installation, including the triqs install dir
  in order to simplify invocation.

- TODO : improve, and test more in real cases.
2014-07-08 23:37:59 +02:00
Hartmut Hafermann
04be667811 updated installation instructions for Mac OS X 2014-07-08 15:30:31 +02:00