1 #ifndef QNANO_NEW_EIGENVECTOR_PRINTER_DEFINED_H 2 #define QNANO_NEW_EIGENVECTOR_PRINTER_DEFINED_H 4 #include "orbitals/Organize_Blocks_By_Orbital_List.h" 5 #include "tools/Parameter_Map.h" 10 bool delete_orb_blocks_on_destruction;
15 std::string EV_filename_pattern;
16 std::string eigenvalue_filename;
18 bool override_printEV;
19 std::string EV_header;
20 std::vector<std::string> EV_header_individual;
22 double print_sparse_cutoff;
23 bool print_error_cout;
28 double kramers_tolerance;
33 bool orbs_are_spinless()
const{
return spinless;}
36 std::string (*sparse_print_index)(
size_t line_counter,
void* spi_ctx);
38 static std::string sparse_print_index_default(
size_t line_counter,
void* spi_ctx);
43 const std::string & get_EV_header(
int i)
const;
46 void print_block(std::string &str, std::complex<double> *ptr,
int blocksize,
int baseindex)
const;
50 virtual int get_n_converged()
const=0;
51 virtual double get_eigenvalue(
int i)
const=0;
52 virtual int get_actual_nr_print()
const;
55 virtual void print()
const;
56 virtual void print_eigenvalues()
const;
57 virtual void print_eigenvector(
int n_print)
const=0;
59 virtual void print_eigenvector_Kramers(
int i)
const;
60 virtual bool has_Kramers_partner(
int i)
const;
62 virtual void calculate_alpha_beta_Kramers_sz( \
63 std::complex<double> &alpha, std::complex<double> &beta,
int i)
const;
65 virtual std::complex<double> calculate_max_phase_factor( \
66 std::complex<double> alpha, std::complex<double> beta,
int i)
const;
72 : delete_orb_blocks_on_destruction(
false),
73 spinless(spinless_), orb_blocks(org) {
76 : delete_orb_blocks_on_destruction(
true), spinless(spinless_),
80 if(delete_orb_blocks_on_destruction){
Definition: Organize_Blocks.h:13
Definition: Parameter_Map.h:12
virtual void setup(Parameter_Map ¶m_map)
Definition: Eigenvector_Printer.cc:35
bool print_Kramers_sz
variables dealing with Kramers pairs:
Definition: Eigenvector_Printer.h:27
Definition: Eigenvector_Printer.h:8
Definition: Organize_Blocks.h:28