QMCPACK
OptimizerTypes.h
Go to the documentation of this file.
1 //////////////////////////////////////////////////////////////////////////////////////
2 // This file is distributed under the University of Illinois/NCSA Open Source License.
3 // See LICENSE file in top directory for details.
4 //
5 // Copyright (c) 2019 QMCPACK developers.
6 //
7 // File developed by: Ye Luo, yeluo@anl.gov, Argonne National Laboratory
8 //
9 // File created by: Ye Luo, yeluo@anl.gov, Argonne National Laboratory
10 //////////////////////////////////////////////////////////////////////////////////////
11 
12 //Defines names for different types of available optimization methods
13 #ifndef QMCPLUSPLUS_OPTIMIZER_TYPE_HEADER
14 #define QMCPLUSPLUS_OPTIMIZER_TYPE_HEADER
15 namespace qmcplusplus
16 {
17 enum class OptimizerType
18 {
19  NONE,
20  QUARTIC,
21  RESCALE,
22  LINEMIN,
24  ADAPTIVE,
25  DESCENT,
26  HYBRID,
28 };
29 
30 const std::map<std::string, OptimizerType> OptimizerNames = {{"quartic", OptimizerType::QUARTIC},
31  {"rescale", OptimizerType::RESCALE},
32  {"linemin", OptimizerType::LINEMIN},
33  {"OneShiftOnly", OptimizerType::ONESHIFTONLY},
34  {"adaptive", OptimizerType::ADAPTIVE},
35  {"descent", OptimizerType::DESCENT},
36  {"hybrid", OptimizerType::HYBRID},
37  {"gradient_test", OptimizerType::GRADIENT_TEST}};
38 
39 } // namespace qmcplusplus
40 #endif
helper functions for EinsplineSetBuilder
Definition: Configuration.h:43
const std::map< std::string, OptimizerType > OptimizerNames