pomerol-ed / pomerol2triqs

Quick and dirty TRIQS wrapper around the Pomerol exact diagonalization library
GNU General Public License v3.0
9 stars 7 forks source link

New `PomerolED` method to compute the 3-point fermion-boson susceptibilities #17

Closed krivenko closed 1 year ago

krivenko commented 2 years ago

This pull request adds a new method PomerolED.chi3_inu_inup() that can be called as follows.

ed = PomerolED(index_converter)
ed.diagonalize(H)

params = {}
# Block structure of the susceptibility to be computed
params['gf_struct'] = [('up', 2), ('dn', 2)]
# Inverse temperature
params['beta'] = 10.0
# Compute all \chi^3 blocks except for ("dn", "dn")
# When this parameter is omitted, all blocks are computed
params['blocks'] = set([("up", "up"), ("up", "dn"), ("dn", "up")])
# Number of *positive* fermionic Matsubara frequencies
params['n_inu'] = 50
# \chi^3 channel, one of 'PP', 'PH' and 'xPH'
params['channel'] = 'PH'
# Order of block indices in the definition of \chi^3, one of 'AABB' and 'ABBA'
params['block_order'] = 'AABB'

chi3 = ed.chi3_inu_inup(**params)

@dominikkiese, @Wentzell Can you suggest any changes and/or additions?

dominikkiese commented 1 year ago

Renamings currently break tests, reference files will have to be replaced.

krivenko commented 1 year ago

@Wentzell Could you have a look too, please?