36 linhas
1.1 KiB
C++
36 linhas
1.1 KiB
C++
/**********************************************************
|
|
|
|
This software is part of J.-S. Caux's ABACUS library.
|
|
|
|
Copyright (c) J.-S. Caux.
|
|
|
|
-----------------------------------------------------------
|
|
|
|
File: ABACUS_NRG.h
|
|
|
|
Purpose: Declares NRG-related classes and functions.
|
|
|
|
***********************************************************/
|
|
|
|
#ifndef ABACUS_NRG_H
|
|
#define ABACUS_NRG_H
|
|
|
|
#include "ABACUS.h"
|
|
|
|
namespace ABACUS {
|
|
|
|
DP K_Weight_integrand (Vect_DP args); // weighing function for state selection
|
|
|
|
void Select_States_for_NRG (DP c_int, DP L, int N, int iKmin, int iKmax, int Nstates_required,
|
|
bool symmetric_states, int iKmod,
|
|
int weighing_option, Vect<std::complex <DP> >& FT_of_potential);
|
|
|
|
void Build_DFF_Matrix_Block_for_NRG (DP c_int, DP L, int N, int iKmin, int iKmax, int Nstates_required,
|
|
bool symmetric_states, int iKmod, int weighing_option,
|
|
int label_left_begin, int label_left_end, int label_right_begin, int label_right_end,
|
|
int block_option, DP* DFF_block_1, DP* DFF_block_2, Vect_DP Kweight);
|
|
|
|
}
|
|
|
|
#endif
|