/********************************************************** This software is part of J.-S. Caux's ABACUS library. Copyright (c). ----------------------------------------------------------- File: JSC_NRG.h Purpose: Declares NRG-related classes and functions. ***********************************************************/ #ifndef _NRG_ #define _NRG_ #include "JSC.h" namespace JSC { 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, DP (*weight_integrand_fn) (Vect_DP), Vect_DP& args_to_weight_integrand); 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, DP (*weight_integrand_fn) (Vect_DP), Vect_DP& args_to_weight_integrand) int weighing_option, Vect >& 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 // _NRG_