45 int main(
int argc,
char **argv)
54 std::string integralsfile =
"mo-integrals.h5";
58 bool localmini =
false;
60 bool localmininoopt =
false;
62 struct option long_options[] =
64 {
"integrals", required_argument, 0,
'i'},
65 {
"unitary", required_argument, 0,
'u'},
66 {
"rdm", required_argument, 0,
'd'},
67 {
"random", no_argument, 0,
'r'},
68 {
"scan", no_argument, 0,
's'},
69 {
"local-minimizer", no_argument, 0,
'l'},
70 {
"local-minimizer-no-opt", no_argument, 0,
'n'},
71 {
"help", no_argument, 0,
'h'},
77 while( (j = getopt_long (argc, argv,
"d:rlhi:u:sn", long_options, &i)) != -1)
82 cout <<
"Usage: " << argv[0] <<
" [OPTIONS]\n"
84 " -i, --integrals=integrals-file Set the input integrals file\n"
85 " -d, --rdm=rdm-file Use this rdm as starting point\n"
86 " -u, --unitary=unitary-file Use the unitary matrix in this file\n"
87 " -r, --random Perform a random unitary transformation on the Hamiltonian\n"
88 " -l, --local-minimizer Use the local minimizer\n"
89 " -n, --local-minimizer-no-opt Use the local minimizer without optimalization\n"
90 " -h, --help Display this help\n"
95 integralsfile = optarg;
113 localmininoopt =
true;
117 cout <<
"Reading: " << integralsfile << endl;
121 setenv(
"SAVE_H5_PATH",
"./", 0);
123 cout <<
"Using save path: " << getenv(
"SAVE_H5_PATH") << endl;
128 cout <<
"Starting with L=" << L <<
" N=" << N << endl;
142 cout <<
"The optimal energy is " << method.
evalEnergy() << std::endl;
198 std::string h5_name = getenv(
"SAVE_H5_PATH");
199 h5_name +=
"/optimal-rdm.h5";
int main(int argc, char **argv)
sig_atomic_t stopping_min
void stopcalcsignal(int sig)
double evalEnergy() const
void WriteToFile(hid_t &group_id) const
void stopminsignal(int sig)