|
| template<typename ValueType> |
| boost::optional< std::vector< uint64_t > > | computeTopologicalGroupOrdering (storm::storage::SparseMatrix< ValueType > const &matrix) |
| | Returns a reordering of the matrix row(groups) and columns such that we can solve the (minmax or linear) equation system in one go.
|
| template<typename ValueType> |
| storm::storage::SparseMatrix< ValueType > | createReorderedMatrix (storm::storage::SparseMatrix< ValueType > const &matrix, std::vector< uint64_t > const &newToOrigIndexMap, std::vector< std::pair< uint64_t, std::optional< ValueType > > > &bFactors) |
| | reorders the row group such that the i'th row of the new matrix corresponds to the order[i]'th row of the source matrix.
|
| template<typename ValueType> |
| bool | checkConvergence (std::pair< std::vector< ValueType >, std::vector< ValueType > > const &xy, uint64_t &convergenceCheckState, std::function< void()> const &getNextConvergenceCheckState, bool relative, ValueType const &precision) |
| template<bool Relative, typename ValueType> |
| static ValueType | diff (ValueType const &oldValue, ValueType const &newValue) |
| template<bool Relative, typename ValueType> |
| void | guessCandidate (std::pair< std::vector< ValueType >, std::vector< ValueType > > &vu, ValueType const &guessValue, std::optional< ValueType > const &lowerBound, std::optional< ValueType > const &upperBound) |
template<typename ValueType>
| boost::optional< std::vector< uint64_t > > storm::solver::helper::computeTopologicalGroupOrdering |
( |
storm::storage::SparseMatrix< ValueType > const & | matrix | ) |
|
Returns a reordering of the matrix row(groups) and columns such that we can solve the (minmax or linear) equation system in one go.
More precisely, let x be the result and i an arbitrary rowgroup index. Solving for rowgroup x[i] only requires knowledge of the result at rowgroups x[i+1], x[i+2], ...
Definition at line 21 of file AcyclicSolverHelper.h.
template<typename ValueType>
reorders the row group such that the i'th row of the new matrix corresponds to the order[i]'th row of the source matrix.
Also eliminates selfloops p>0 and inserts 1/p into the bFactors. A factor of std::nullopt marks a row with a selfloop of probability one. Such a row has no scaling factor at all: the equation for it can only be satisfied if the row contributes nothing, i.e. if the corresponding entry of the b vector is zero.
Definition at line 82 of file AcyclicSolverHelper.h.