Error: no suitable C++ overload found in implementation of function lattice.lattice_dyson_g0_wk #847
-
Dear Triqs Developers, from triqs_tprf.tight_binding import TBLattice
nk = 32 from triqs.gf import MeshImFreq TypeError Traceback (most recent call last) TypeError: Error: no suitable C++ overload found in implementation of function lattice.lattice_dyson_g0_wk lattice_dyson_g0_wk(double mu, triqs_tprf::e_k_cvt e_k, gf_meshtriqs::mesh::imfreq mesh) -> triqs_tprf::g_wk_t I wonder can you give me some advice. Thank you! best, |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 5 replies
-
Hi Lily,
to extract epsilon(k). This function will Fourier transform the hopping Hamiltonian AND diagonalize it and give pack only the eigenalues at each kpt. Hence:
However, the function to construct the lattice Gf
this function does also a FT but skips the diagonalization. I think the docstring of the Best, |
Beta Was this translation helpful? Give feedback.
Hi Lily,
The problem here is that you used
to extract epsilon(k). This function will Fourier transform the hopping Hamiltonian AND diagonalize it and give pack only the eigenalues at each kpt. Hence:
However, the function to construct the lattice Gf
lattice_dyson_g0_wk
expects an array at each kpoint of the orbital shape (3x3 here). The correct function to constructe_k
is called justfourier
:this function does also a FT but skips the diagonalization.
I think the docstring of the
lattice_dyson_g0_wk
is a bit misleading as it asks for the dispersion. But the wording…