Program Listing for File Green_function.hpp¶
↰ Return to documentation for file (src_qcm/Green_function.hpp)
#ifndef Green_function_hpp
#define Green_function_hpp
#include "vector3D.hpp"
#include "block_matrix.hpp"
struct Green_function
{
Complex w;
int iw;
bool spin_down;
block_matrix<Complex> G;
block_matrix<Complex> gamma; // hybridization functions
block_matrix<Complex> sigma; // self-energies
};
struct Green_function_k
{
Green_function &G;
static size_t dim_GF;
static size_t dim_reduced_GF;
vector3D<double> k;
int ik;
matrix<Complex> Gcpt;
matrix<Complex> t;
matrix<Complex> V;
matrix<Complex> g;
matrix<Complex> sigma;
vector<Complex> phase;
Green_function_k(Green_function &_G, const vector3D<double> &_k, const int &_ik = -1) : G(_G), k(_k), ik(_ik){
QCM_ASSERT(G.G.r > 0);
V.set_size(dim_GF);
t.set_size(dim_GF);
Gcpt.set_size(dim_GF);
g.set_size(dim_reduced_GF);
sigma.set_size(dim_reduced_GF);
}
};
#endif