fit_hyb¶
- edrixs.fit_hyb.fit_func(x, *args)[source]¶
Given frequency \(\omega\), bath energy level \(\epsilon_{l}\) and the hybridization strength \(V_{l}\), return the hybridization function,
\[\Delta(\omega)=\sum_{l=1}^{N}\frac{|V_{l}|^2}{\omega-\epsilon_{l}}.\]- Parameters:
- x: 1d float array
Frequency \(\omega\), the first half is the real part and the second half is the imaginary part.
- args: 1d float array
The first half is the bath energy level \(\epsilon_{l}\) and the second half if the hybridization strength \(V_{l}\).
- Returns:
- y: 1d float array
The calculated hybridization function \(\Delta(\omega)\), the first half is the real part and the second half is the imaginary part.
- edrixs.fit_hyb.fit_hyb(x, y, N, p0)[source]¶
Given the hybridization function \(\Delta(\omega)\), call function curve_fit in scipy to fit bath energy levels \(\epsilon_{l}\) and hybridization strength \(V_{l}\).
\[\Delta(\omega)=\sum_{l=1}^{N}\frac{|V_{l}|^2}{\omega-\epsilon_{l}}.\]- Parameters:
- x: 1d complex array
Frequency \(\omega\).
- y: 1d complex array
Hybridization function \(\Delta(\omega)\).
- N: int
Number of bath sites
- p0: N-length 1d float array
Initial guess, the first half is \(\epsilon_{l}\) and the second half is \(V_{l}\).
- Returns:
- e: N-length 1d float array
The fitted bath energy levels \(\epsilon_{l}\).
- v: N-length 1d float array
The fitted hybridization strength \(V_{l}\).
- edrixs.fit_hyb.get_hyb(x, e, v)[source]¶
Given the fitted \(\epsilon_{l}\) and \(V_{l}\), calcualte the hybridization function \(\Delta(\omega)\),
\[\Delta(\omega)=\sum_{l=1}^{N}\frac{|V_{l}|^2}{\omega-\epsilon_{l}}.\]- Parameters:
- x: 1d complex array
Frequency \(\omega\).
- e: N-length 1d float array
The fitted bath energy levels.
- v: N-length 1d float array
The fitted hybridization strength.
- Returns:
- y: 1d complex array
The calculated hybridization function \(\Delta(\omega)\).