(changelog)= # Changelog ## Version 1.0.0 * Enable calculations with local electron-phonon coupling on the impurity site. Parameters of the local phonon can be passed to `EDIpackSolver.__init__()` via the keyword argument `phonon` of a special type `PhononParams`. Computed expectation values of phonon-related observables are available via new properties of `EDIpackSolver`: `phonon_occ` for the phonon mode occupancy, `phonon_x` for the expectation value of the phonon displacement operator, and `phonon_x2` for the expectation value of its square. Matsubara and real-frequency Green's functions of the phonon are available via properties `EDIpackSolver.phonon_D_iw` and `EDIpackSolver.phonon_D_w`. * Expose single-particle density matrix of the full system (impurity + bath) via read-only property `EDIpackSolver.denmat`. * Expose impurity reduced density matrix via read-only property `EDIpackSolver.rdm`. Calculation of the reduced density matrix is enabled by passing `rdm=True` to `EDIpackSolver.solve()`. * Added a read-only property `EDIpackSolver.bath_op` that returns the current bath stored in the solver in the form of a TRIQS operator. The returned object contains contributions from both the bath Hamiltonian and the impurity-bath hybridization Hamiltonian. ## Version 0.11.0 * A matrix basis for the bath Hamiltonian in the general bath topology mode can now be explicitly specified. The basis is passed via the `bath_basis` keyword argument of `EDIpackSolver`'s constructor as a list of TRIQS many-body operator objects. Each operator is expected to be quadratic in bath electron creation/annihilation operators (both normal and anomalous terms are allowed). The list must include all basis operators for all replicas in no specific order, although - due to a limitation of EDIpack - subsets of operators for all replicas must be equivalent. * Enable selection of symmetry sectors of the Hamiltonian considered for diagonalization. This feature is activated by a new boolean flag `ed_sectors` passed as a keyword argument to `EDIpackSolver.__init__()`. Selected sectors can be specified via a new read/write attribute `EDIpackSolver.sectors`. The attribute is a list of pairs `(N_{up}, N_{dn})` for `EDMode.NORMAL`, of non-negative integers `N_{tot}` for `EDMode.NONSU2`, or of integers `S_z` for `EDMode.SUPERC`. By default, it is set to `None` and all sectors of the Hamiltonian are considered for diagonalization. Apart from that, `EDIpackSolver.__init__()` now accepts another integer parameter `ed_sectors_shift` if `ed_sectors=True`. * In order to reduce the number of keyword arguments of `EDIpackSolver.__init__()`, those of them related to the Lanczos algorithm (name prefix `lanc_`) have been grouped into a dataclass `LanczosParams`. ## Version 0.10.0 * Added an enumeration type `EDMode` that represents EDIpack's exact diagonalization mode. * It is now possible to force a specific EDIpack diagonalization mode, as long as the requested mode is compatible with the one deduced from the Hamiltonian. The corresponding keyword argument of `EDIpackSolver`'s constructor is called `ed_mode`. * Enable support for s-wave pairing terms in the impurity Hamiltonian. * Semantics of `EDIpackSolver.hloc` has been changed. This attribute now gives access to the local impurity Hamiltonian in the form of a TRIQS many-body operator object. The object contains terms corresponding to both normal and anomalous pairing contributions. * Alternatively, matrices of the normal local Hamiltonian and of the impurity pairing fields are now read-write accessible via new attributes `EDIpackSolver.hloc_mat` and `EDIpackSolver.hloc_an_mat`. ## Version 0.9.0 * Expose non-interacting impurity Green's functions and hybridization functions via attributes of `EDIpackSolver`. * Expose dynamical susceptibilities (response functions) via attributes of `EDIpackSolver`. The attributes are called `chi_spin_{iw,w,tau}` for the spin channel, `chi_dens_{iw,w,tau}` for the charge channel, `chi_pair_{iw,w,tau}` for the pair channel, and `chi_exct_{iw,w,tau}` for the exciton channel. ## Version 0.8.0 * Add support for calculations without bath. * Allow for read-write access to `EDIpackSolver.hloc`. * `EDIpackSolver.superconductive_phi` has been changed to be the modulus of the computed superconductive order parameter. The complex argument of the order parameter is now accessible as `EDIpackSolver.superconductive_phi_arg`. * `EDIpackSolver`'s constructor got a new keyword argument `keep_dir`, which disables automatic deletion of EDIpacks's temporary directory upon object destruction. This option is ignored on Python < 3.12. * Do not ignore the argument `lanc_nstates_sector` of `EDIpackSolver`'s constructor in the zero temperature mode. * Fixed a bug in `EDIpackSolver.chi2_fit_bath()`, which made this method unusable without first calling `EDIpackSolver.solve()`. There is now a unit test that covers the bath fitting functionality. ## Version 0.7.0 * Add support for general two-particle interactions. * Add support for zero temperature calculations. ## Version 0.6.0 Updated codebase following the naming change of EDIpack2 and EDIpy2. C.f. https://github.com/EDIpack/EDIpack/issues/16. ## Version 0.5.0 This is the initial public release for this project.