Storm 1.11.1.1
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
NativeEquationSolverSettings.h
Go to the documentation of this file.
1#ifndef STORM_SETTINGS_MODULES_NATIVEEQUATIONSOLVERSETTINGS_H_
2#define STORM_SETTINGS_MODULES_NATIVEEQUATIONSOLVERSETTINGS_H_
3
5
8
9namespace storm {
10namespace settings {
11namespace modules {
12
17 public:
18 // An enumeration of all available convergence criteria.
20
25
32
39
45 storm::solver::NativeLinearEquationSolverMethod getLinearEquationSystemMethod() const;
46
52 bool isMaximalIterationCountSet() const;
53
59 uint_fast64_t getMaximalIterationCount() const;
60
66 bool isPrecisionSet() const;
67
73 double getPrecision() const;
74
80 double getOmega() const;
81
87 bool isConvergenceCriterionSet() const;
88
95
100
107
108 bool check() const override;
109
110 // The name of the module.
111 static const std::string moduleName;
112
113 private:
114 // Define the string names of the options as constants.
115 static const std::string techniqueOptionName;
116 static const std::string omegaOptionName;
117 static const std::string maximalIterationsOptionName;
118 static const std::string maximalIterationsOptionShortName;
119 static const std::string precisionOptionName;
120 static const std::string absoluteOptionName;
121 static const std::string intervalIterationSymmetricUpdatesOptionName;
122 static const std::string powerMethodMultiplicationStyleOptionName;
123};
124
125} // namespace modules
126} // namespace settings
127} // namespace storm
128
129#endif /* STORM_SETTINGS_MODULES_NATIVEEQUATIONSOLVERSETTINGS_H_ */
This is the base class of the settings for a particular module.
This class represents the settings for the native equation solver.
bool isLinearEquationSystemTechniqueSetFromDefaultValue() const
Retrieves whether the linear equation system technique is set from its default value.
bool isPrecisionSet() const
Retrieves whether the precision has been set.
uint_fast64_t getMaximalIterationCount() const
Retrieves the maximal number of iterations to perform until giving up on converging.
bool isConvergenceCriterionSet() const
Retrieves whether the convergence criterion has been set.
bool check() const override
Checks whether the settings are consistent.
bool isForceIntervalIterationSymmetricUpdatesSet() const
Retrievew whether updates in interval iteration have to be made symmetrically.
bool isLinearEquationSystemTechniqueSet() const
Retrieves whether the linear equation system technique has been set.
double getOmega() const
Retrieves the value of omega to be used for the SOR method.
double getPrecision() const
Retrieves the precision that is used for detecting convergence.
bool isMaximalIterationCountSet() const
Retrieves whether the maximal iteration count has been set.
storm::solver::NativeLinearEquationSolverMethod getLinearEquationSystemMethod() const
Retrieves the method that is to be used for solving systems of linear equations.
NativeEquationSolverSettings()
Creates a new set of native equation solver settings.
storm::solver::MultiplicationStyle getPowerMethodMultiplicationStyle() const
Retrieves the multiplication style to use in the power method.
ConvergenceCriterion getConvergenceCriterion() const
Retrieves the selected convergence criterion.