fcdmft.ac.two_pole module#
- fcdmft.ac.two_pole.AC_twopole_diag(sigma, omega, orbs, nocc)[source]#
Analytic continuation to real axis using a two-pole model
- Args:
sigma : 2D array (norbs, nomega) omega : 1D array (nomega) orbs : list nocc : integer
- Returns:
coeff: 2D array (ncoeff, norbs)
- fcdmft.ac.two_pole.AC_twopole_full(sigma, omega, orbs, nocc)[source]#
Analytic continuation to real axis using a two-pole model
- Args:
sigma : 3D array (norbs, norbs, nomega) omega : 1D array (nomega) orbs : list nocc : integer
- Returns:
coeff: 3D array (ncoeff, norbs, norbs)
- class fcdmft.ac.two_pole.TwoPoleAC(orbs, nocc, **options)[source]#
Bases:
AC_MethodTwo-pole analytic continuation method.
Methods
ac_eval(freqs[, axis])Evaluate two-pole AC at arbitrary complex frequencies.
ac_fit(data, omega[, axis])Compute two-pole AC coefficients for the given data and omega.
diagonal([axis1, axis2])Create a new instance of the AC method with only the diagonal elements
save(chkfilename[, dataname])Save the AC object and coefficients to an HDF5 file.
- ac_eval(freqs, axis=-1)[source]#
Evaluate two-pole AC at arbitrary complex frequencies.
- Parameters:
- freqs
np.ndarray[np.complex128] 1D array of complex frequencies
- axis
int, optional Indicates which axis of the output array should correspond to the frequency axis, by default -1. Example: if you want (nmo, nmo, nfreq), call ac_eval(freqs, axis=-1)
if you want (nfreq, nmo, nmo), call ac_eval(data, freqs, axis=0)
- freqs
- Returns:
np.ndarrayPade-Thiele AC evaluated at freqs
- ac_fit(data, omega, axis=-1)[source]#
Compute two-pole AC coefficients for the given data and omega.
- Parameters:
- data
np.ndarray Data to be fit, e.g. self energy
- omega
np.ndarray[np.double] 1D imaginary frequency grid
- axis
int, optional Indicates which axis of the data array corresponds to the frequency axis, by default -1. Example: data.shape is (nmo, nmo, nw), call ac_fit(data, omega, axis=-1)
data.shape is (nw, nmo, nmo), call ac_fit(data, omega, axis=0)
- data