11namespace stateelimination {
13template<
typename ValueType>
16 std::vector<ValueType>& rowValues)
17 :
StateEliminator<ValueType>(transitionMatrix, backwardTransitions), rowValues(rowValues) {
20 storm::exceptions::InvalidArgumentException,
"Invalid matrix dimensions of forward/backwards transition matrices.");
25template<
typename ValueType>
30template<
typename ValueType>
33 rowValues[predecessorRow] =
virtual void updatePredecessor(storm::storage::sparse::state_type const &predecessorRow, ValueType const &probability, storm::storage::sparse::state_type const &row) override
virtual void updateValue(storm::storage::sparse::state_type const &row, ValueType const &loopProbability) override
std::vector< ValueType > & rowValues
NondeterministicModelStateEliminator(storm::storage::FlexibleSparseMatrix< ValueType > &transitionMatrix, storm::storage::FlexibleSparseMatrix< ValueType > &backwardTransitions, std::vector< ValueType > &rowValues)
The flexible sparse matrix is used during state elimination.
index_type getColumnCount() const
Returns the number of columns of the matrix.
index_type getRowCount() const
Returns the number of rows of the matrix.
#define STORM_LOG_THROW(cond, exception, message)
ValueType simplify(ValueType value)