|
HPhi++
3.1.0
|
Functions to perform spectrum calculations with the full-diagonalization method. More...
#include <complex>#include "global.hpp"#include <ctime>#include "struct.hpp"#include "lapack_diag.hpp"#include "mltply.hpp"#include "mltplyCommon.hpp"#include "CalcTime.hpp"#include "common/setmemory.hpp"#include "CalcSpectrum.hpp"Go to the source code of this file.
Functions | |
| int | CalcSpectrumByFullDiag (struct EDMainCalStruct *X, int Nomega, int NdcSpectrum, std::complex< double > **dcSpectrum, std::complex< double > *dcomega, std::complex< double > **v1Org) |
| Compute the Green function with the Lehmann representation and FD \[ G(z) = \sum_n \frac{|\langle n|c|0\rangle|^2}{z - E_n} \] . More... | |
Functions to perform spectrum calculations with the full-diagonalization method.
Definition in file CalcSpectrumByFullDiag.cpp.
| int CalcSpectrumByFullDiag | ( | struct EDMainCalStruct * | X, |
| int | Nomega, | ||
| int | NdcSpectrum, | ||
| std::complex< double > ** | dcSpectrum, | ||
| std::complex< double > * | dcomega, | ||
| std::complex< double > ** | v1Org | ||
| ) |
Compute the Green function with the Lehmann representation and FD
\[ G(z) = \sum_n \frac{|\langle n|c|0\rangle|^2}{z - E_n} \]
.
Generate fully stored Hamiltonian. Because v0 & v1 are overwritten, copy v0 into ::vg.
v0 becomes eigenvalues in lapack_diag(), and v1 becomes eigenvectors
Compute \(|\langle n|c|0\rangle|^2\) for all \(n\) and store them into v1, where \(c|0\rangle\) is ::vg.
\[ \sum_n \frac{|\langle n|c|0\rangle|^2}{z - E_n} \]
| [in,out] | X | |
| [in] | Nomega | Number of frequencies |
| [out] | dcSpectrum | [Nomega] Spectrum |
| [in] | dcomega | [Nomega] Frequency |
Definition at line 37 of file CalcSpectrumByFullDiag.cpp.
References EDMainCalStruct::Bind, BindStruct::Check, PhysList::energy, GetExcitedState(), CheckList::idim_max, lapack_diag(), mltply(), BindStruct::Phys, StartTimer(), StopTimer(), v0, v1, and zclear().
Referenced by CalcSpectrum().