TRIQS / triqs

a Toolbox for Research on Interacting Quantum Systems
https://triqs.github.io
GNU General Public License v3.0
141 stars 72 forks source link

More flexible Multivariable Green function evaluation in Python #846

Closed Wentzell closed 1 year ago

Wentzell commented 2 years ago

It would be great to have a more flexible Green function evaluation in Python. Currently only for certain combinations of meshes do we wrap the call operator to python, c.f. https://github.com/TRIQS/triqs/blob/a8924f99d1805de71e3d9b778f1b8aebba03f2d7/python/triqs/gf/wrapped_aux_desc.py#L24-L56 E.g. for G(k,iw) evaluation works but for G(iw,k) it does not.

The resulting error message is also bad because it simply tries to simply call the _c_proxy https://github.com/TRIQS/triqs/blob/a8924f99d1805de71e3d9b778f1b8aebba03f2d7/python/triqs/gf/gf.py#L420 which for unwrapped Mesh combinations will default to the CallProxyNone https://github.com/TRIQS/triqs/blob/a8924f99d1805de71e3d9b778f1b8aebba03f2d7/python/triqs/gf/gf.py#L185 leading to error messages such as

TypeError: __call__() takes 2 positional arguments but 3 were given
Wentzell commented 1 year ago

Fixed by bb6886907 and bc60b299a