VirtualEigenvalueSolverInline.cxx
1 #ifndef SELDON_FILE_VIRTUAL_EIGENVALUE_SOLVER_INLINE_CXX
2 
3 namespace Seldon
4 {
5 
6  template<class T0, class T1>
7  inline void to_complex_eigen(const T0& x, T1& y) { y = T1(x); }
8 
9  template<class T0, class T1>
10  inline void to_complex_eigen(const complex<T0>& x, T1& y) { y = realpart(x); }
11 
12  template<class T0, class T1>
13  inline void to_complex_eigen(const T0& x, complex<T1>& y) { y = complex<T1>(T1(x), T1(0)); }
14 
15  template<class T0, class T1>
16  inline void to_complex_eigen(const complex<T0>& x, complex<T1>& y) { y = x; }
17 
18  inline int SlepcParam::GetEigensolverType() const
19  {
20  return type_solver;
21  }
22 
23 
24  inline void SlepcParam::SetEigensolverType(int type)
25  {
26  type_solver = type;
27  }
28 
29 
30  inline void SlepcParam::SetBlockSize(int n) { block_size = n; }
31  inline int SlepcParam::GetBlockSize() const { return block_size; }
32  inline void SlepcParam::SetMaximumBlockSize(int n) { block_max_size = n; }
33  inline int SlepcParam::GetMaximumBlockSize() const { return block_max_size; }
34 
35  inline void SlepcParam::SetNumberOfSteps(int n) { nstep = n; }
36  inline int SlepcParam::GetNumberOfSteps() const { return nstep; }
37 
38  inline void SlepcParam::SetExtractionType(int n) { type_extraction = n; }
39  inline int SlepcParam::GetExtractionType() const { return type_extraction; }
40 
41  inline void SlepcParam::SetQuadratureRuleType(int n) { quadrature_rule = n; }
42  inline int SlepcParam::GetQuadratureRuleType() const { return quadrature_rule; }
43 
44  inline void SlepcParam::SetInnerSteps(int n) { nstep_inner = n; }
45  inline void SlepcParam::SetOuterSteps(int n) { nstep_outer = n; }
46  inline int SlepcParam::GetInnerSteps() const { return nstep_inner; }
47  inline int SlepcParam::GetOuterSteps() const { return nstep_outer; }
48 
49  inline int SlepcParam::GetNumberIntegrationPoints() const { return npoints; }
50  inline void SlepcParam::SetNumberIntegrationPoints(int n) { npoints = n; }
51  inline int SlepcParam::GetMomentSize() const { return moment_size; }
52  inline void SlepcParam::SetMomentSize(int n) { moment_size = n; }
53  inline int SlepcParam::GetNumberPartitions() const { return npart; }
54  inline void SlepcParam::SetNumberPartitions(int n) { npart = n; }
55 
56  inline void SlepcParam::SetThresholdRank(double d) { delta_rank = d; }
57  inline double SlepcParam::GetThresholdRank() const { return delta_rank; }
58  inline void SlepcParam::SetThresholdSpurious(double d) { delta_spur = d; }
59  inline double SlepcParam::GetThresholdSpurious() const { return delta_spur; }
60 
61  inline int SlepcParam::GetBorthogonalization() const { return borth; }
62  inline void SlepcParam::SetBorthogonalization(int n) { borth = n; }
63  inline int SlepcParam::GetDoubleExpansion() const { return double_exp; }
64  inline void SlepcParam::SetDoubleExpansion(int n) { double_exp = n; }
65  inline int SlepcParam::GetInitialSize() const { return init_size; }
66  inline void SlepcParam::SetInitialSize(int n) { init_size = n; }
67  inline int SlepcParam::GetKrylovRestart() const { return krylov_restart; }
68  inline void SlepcParam::SetKrylovRestart(int n) { krylov_restart = n; }
69  inline int SlepcParam::GetRestartNumber() const { return restart_number; }
70  inline void SlepcParam::SetRestartNumber(int n) { restart_number = n; }
71  inline int SlepcParam::GetRestartNumberAdd() const { return restart_add; }
72  inline void SlepcParam::SetRestartNumberAdd(int n) { restart_add = n; }
73 
74  inline int SlepcParam::GetNumberConvergedVectors() const { return nb_conv_vector; }
75  inline void SlepcParam::SetNumberConvergedVectors(int n) { nb_conv_vector = n; }
76  inline int SlepcParam::GetNumberConvergedVectorsProjected() const { return nb_conv_vector_proj; }
77  inline void SlepcParam::SetNumberConvergedVectorsProjected(int n) { nb_conv_vector_proj = n; }
78 
79  inline bool SlepcParam::UseNonLockingVariant() const { return non_locking_variant; }
80  inline void SlepcParam::SetNonLockingVariant(bool n) { non_locking_variant = n; }
81 
82  inline double SlepcParam::GetRestartRatio() const { return restart_ratio; }
83  inline void SlepcParam::SetRestartRatio(double d) { restart_ratio = d; }
84  inline string SlepcParam::GetMethod() const { return method; }
85  inline void SlepcParam::SetMethod(string s) { method = s; }
86  inline int SlepcParam::GetShiftType() const { return shift_type; }
87  inline void SlepcParam::SetShiftType(int n) { shift_type = n; }
88 
89  inline void FeastParam::EnableEstimateNumberEigenval(bool p) { evaluate_number_eigenval = p; }
90  inline bool FeastParam::EstimateNumberEigenval() const { return evaluate_number_eigenval; }
91 
92  inline int FeastParam::GetNumOfQuadraturePoints() const { return nb_points_quadrature; }
93  inline void FeastParam::SetNumOfQuadraturePoints(int n) { nb_points_quadrature = n; }
94 
95  inline int FeastParam::GetTypeIntegration() const { return type_integration; }
96  inline void FeastParam::SetTypeIntegration(int t) { type_integration = t; }
97 
98  inline complex<double> FeastParam::GetCircleCenterSpectrum() const
99  {
100  return center_spectrum;
101  }
102 
103  inline double FeastParam::GetCircleRadiusSpectrum() const
104  {
105  return radius_spectrum;
106  }
107 
108  inline double FeastParam::GetRatioEllipseSpectrum() const
109  {
110  return ratio_ellipse;
111  }
112 
113  inline double FeastParam::GetAngleEllipseSpectrum() const
114  {
115  return angle_ellipse;
116  }
117 
118  inline bool GeneralEigenProblem_Base::IsSymmetricProblem() const { return false; }
119  inline bool GeneralEigenProblem_Base::IsHermitianProblem() const { return false; }
120 }
121 
122 #define SELDON_FILE_VIRTUAL_EIGENVALUE_SOLVER_INLINE_CXX
123 #endif
124 
Seldon::FeastParam::ratio_ellipse
double ratio_ellipse
parameters for an ellipse
Definition: VirtualEigenvalueSolver.hxx:184
Seldon::FeastParam::nb_points_quadrature
int nb_points_quadrature
number of points in the contour
Definition: VirtualEigenvalueSolver.hxx:172
Seldon::FeastParam::evaluate_number_eigenval
bool evaluate_number_eigenval
if true, we want to estimate the number of eigenvalues
Definition: VirtualEigenvalueSolver.hxx:169
Seldon::FeastParam::center_spectrum
complex< double > center_spectrum
disk where eigenvalues are searched (non-symmetric)
Definition: VirtualEigenvalueSolver.hxx:181
Seldon::SlepcParam::type_solver
int type_solver
which solver ?
Definition: VirtualEigenvalueSolver.hxx:68
Seldon::FeastParam::type_integration
int type_integration
Method of integration.
Definition: VirtualEigenvalueSolver.hxx:175
Seldon
Seldon namespace.
Definition: Array.cxx:24