npstat is hosted by Hepforge, IPPP Durham
NPStat  5.10.0
EigenMethod.hh
Go to the documentation of this file.
1 #ifndef NPSTAT_EIGENMETHOD_HH_
2 #define NPSTAT_EIGENMETHOD_HH_
3 
4 /*!
5 // \file EigenMethod.hh
6 //
7 // \brief Enumeration of LAPACK methods used to calculate
8 // eigenvalues and eigenvectors
9 //
10 // Author: I. Volobouev
11 //
12 // May 2013
13 */
14 
15 #include <string>
16 
17 namespace npstat {
18  /**
19  // EIGEN_SIMPLE: use simple LAPACK driver for calculating eigenvalues
20  // and eigenvectors (such as DSYEV)
21  //
22  // EIGEN_D_AND_C: use divide and conquer LAPACK driver (such as DSYEVD)
23  //
24  // EIGEN_RRR: use "Relatively Robust Representations" driver (e.g., DSYEVR)
25  */
27  {
28  EIGEN_SIMPLE = 0,
29  EIGEN_D_AND_C,
30  EIGEN_RRR
31  };
32 
33  /** Enums corresponding to method names */
34  EigenMethod parseEigenMethod(const char* methodName);
35 
36  /** Method names corresponding to enums */
37  const char* eigenMethodName(EigenMethod m);
38 
39  /** All valid method names for use in error messages, etc */
40  std::string validEigenMethodNames();
41 }
42 
43 #endif // NPSTAT_EIGENMETHOD_HH_
Definition: AbsArrayProjector.hh:14
EigenMethod parseEigenMethod(const char *methodName)
std::string validEigenMethodNames()
EigenMethod
Definition: EigenMethod.hh:27
const char * eigenMethodName(EigenMethod m)