5#include <unordered_map>
23template<
typename ParametricType>
39template<
typename ParametricType,
typename ConstantType>
55 bool useMonotonicity =
false);
63 std::vector<Interval>
const&
getVector()
const;
90 std::optional<std::map<VariableType, std::set<CoefficientType>>>
const&
getExtrema()
const;
99 std::optional<std::set<CoefficientType>> zeroesCarl(
UniPoly polynomial,
VariableType parameter);
101 std::set<VariableType> parameters;
106 std::optional<std::map<VariableType, std::set<CoefficientType>>> extrema;
109 std::optional<Annotation> annotation;
118 class FunctionValuationCollector {
120 FunctionValuationCollector() =
default;
132 class RobustAbstractValuationHash {
140 std::unordered_map<RobustAbstractValuation, Interval, RobustAbstractValuationHash> collectedValuations;
143 std::unordered_map<RobustAbstractValuation, std::vector<std::pair<Interval, Interval>>, RobustAbstractValuationHash> regionsAndBounds;
146 FunctionValuationCollector functionValuationCollector;
149 std::vector<std::pair<typename storm::storage::SparseMatrix<Interval>::iterator,
Interval&>>
152 std::vector<uint64_t> oldToNewColumnIndexMapping;
153 std::vector<uint64_t> oldToNewRowIndexMapping;
154 std::vector<uint64_t> rowGroupToStateNumber;
156 bool currentRegionAllIllDefined =
false;
158 std::vector<Interval> vector;
159 std::vector<std::pair<typename std::vector<Interval>::iterator,
Interval&>> vectorAssignment;
161 std::vector<std::set<VariableType>> occurringVariablesAtState;
162 std::map<VariableType, std::set<uint_fast64_t>> occuringStatesAtVariable;
storm::analysis::MonotonicityKind Monotonicity
A bit vector that is internally represented as a vector of 64-bit values.
A class that holds a possibly non-square matrix in the compressed row storage format.
carl::Interval< double > Interval
Interval type.
carl::RationalFunction< Polynomial, true > RationalFunction
carl::MultivariatePolynomial< RationalFunctionCoefficient > RawPolynomial