Frequency domain DMRG#
cv — correction vector#
Use correction vector to calculate spectral function (currently only auto-correlalation funtion, general correlation function will be implemented later), here the spectral function is:
at zero temperature, where \(\hat{\mu}\) is the dipole operator here to calculate the absorption/emission spectrum, properties such as optical conductivity is with current operator, also will be implemented soon. \(\eta\) is a Lorentzian broaden width.
which is actually calculated in a symmetrized form:
at finite temperature, where \(\hat{\rho}_{\beta}^{1/2}\) represents \(e^{-\beta H/2}\), which is obtianed from imaginary time evolution, \(\hat{L}\) is a Liouville operator.
- class renormalizer.cv.zerot.SpectraZtCV(model, spectratype, m_max, eta, h_mpo=None, method='1site', procedure_cv=None, rtol=1e-05, b_mps=None, e0=None, cv_mps=None, procedure_gs=None)[source]#
Use DDMRG to calculate the zero temperature spectrum from frequency domain
- Parameters:
model (
Model
) – system information.spectratype (str) – “abs” or “emi”.
m_max (int) – maximal bond dimension of correction vector.
eta (float) – Lorentzian broadening width (a.u.).
h_mpo (
Mpo
) – system Hamiltonian.method (str) – “1site” or “2site”.
procedure_cv (list) – percent used for each sweep.
rtol (float) – the relative tolerance of the spectrum strength, default:1e-5.
b_mps (
Mps
) – the b vector -eta * dipole * psi_0, default: None. (Holstein model could construct b_mps implicitly).e0 (float) – gs energy, default: None (Holstein model could calculate e0 implicitly).
cv_mps (
Mps
) – initial guess of cv_mps, default: None.procedure_gs (list) – list, optional, the procedure for ground state calculation, if not provided, use [[10, 0.4], [20, 0.2], [30, 0.1], [40, 0], [40, 0]], warning: the default one won’t be enough for large systems!
- Example::
see test/test_abs.py for example
- class renormalizer.cv.finitet.SpectraFtCV(model, spectratype, m_max, eta, temperature, h_mpo=None, method='1site', procedure_cv=None, rtol=1e-05, b_mps=None, cv_mps=None, icompress_config=None, ievolve_config=None, insteps=None, dump_dir: Optional[str] = None, job_name=None)[source]#
Use DDMRG to calculate the finite temperature spectrum from frequency domain
- Parameters:
model (
Model
) – system information.spectratype (string) – “abs” or “emi”.
m_max (int) – maximal bond dimension of correction vector.
eta (float) – Lorentzian broadening width (a.u.).
temperature (
Quantity
) – simulation temperature.h_mpo (
Mpo
) – system Hamiltonian.method (str) – “1site” or “2site”.
procedure_cv (list) – percent used for each sweep.
rtol (float) – the relative tolerance of the spectrum strength, default: 1e-5.
b_mps (
Mps
) – the b vector -eta * dipole * psi_0, default: None. (Holstein model could construct b_mps implicitly).cv_mps (
Mps
) – initial guess of cv_mps, default: None.icompress_config (
CompressConfig
) – config when compressing MPS/MPO during the imaginary time evolution..ievolve_config (
EvolveConfig
) – evolution config for imaginary time evolution.insteps (int) – evolve steps for imaginary time evolution. have to be provided when calculating emission.
dump_dir (str) – the directory for logging and numerical result output. Also the directory from which to load previous thermal propagated initial state (if exists).
job_name (str) – the name of the calculation job which determines the file name of the logging and numerical result output.
- Example::
see test/test_abs.py for example
- init_b_mps()#
- init_cv_mps()#