|
| ViOperatorMultiplier (storm::storage::SparseMatrix< ValueType > const &matrix) |
|
virtual | ~ViOperatorMultiplier ()=default |
|
virtual void | multiply (Environment const &env, std::vector< ValueType > const &x, std::vector< ValueType > const *b, std::vector< ValueType > &result) const override |
| Performs a matrix-vector multiplication x' = A*x + b.
|
|
virtual void | multiplyGaussSeidel (Environment const &env, std::vector< ValueType > &x, std::vector< ValueType > const *b, bool backwards=true) const override |
| Performs a matrix-vector multiplication in gauss-seidel style.
|
|
virtual void | multiplyAndReduce (Environment const &env, OptimizationDirection const &dir, std::vector< uint64_t > const &rowGroupIndices, std::vector< ValueType > const &x, std::vector< ValueType > const *b, std::vector< ValueType > &result, std::vector< uint_fast64_t > *choices=nullptr) const override |
|
virtual void | multiplyAndReduceGaussSeidel (Environment const &env, OptimizationDirection const &dir, std::vector< uint64_t > const &rowGroupIndices, std::vector< ValueType > &x, std::vector< ValueType > const *b, std::vector< uint_fast64_t > *choices=nullptr, bool backwards=true) const override |
|
virtual void | clearCache () const override |
|
| Multiplier (storm::storage::SparseMatrix< ValueType > const &matrix) |
|
virtual | ~Multiplier ()=default |
|
void | multiplyAndReduce (Environment const &env, OptimizationDirection const &dir, std::vector< ValueType > const &x, std::vector< ValueType > const *b, std::vector< ValueType > &result, std::vector< uint_fast64_t > *choices=nullptr) const |
| Performs a matrix-vector multiplication x' = A*x + b and then minimizes/maximizes over the row groups so that the resulting vector has the size of number of row groups of A.
|
|
void | multiplyAndReduceGaussSeidel (Environment const &env, OptimizationDirection const &dir, std::vector< ValueType > &x, std::vector< ValueType > const *b, std::vector< uint_fast64_t > *choices=nullptr, bool backwards=true) const |
| Performs a matrix-vector multiplication in gauss-seidel style and then minimizes/maximizes over the row groups so that the resulting vector has the size of number of row groups of A.
|
|
void | repeatedMultiply (Environment const &env, std::vector< ValueType > &x, std::vector< ValueType > const *b, uint64_t n) const |
| Performs repeated matrix-vector multiplication, using x[0] = x and x[i + 1] = A*x[i] + b.
|
|
void | repeatedMultiplyAndReduce (Environment const &env, OptimizationDirection const &dir, std::vector< ValueType > &x, std::vector< ValueType > const *b, uint64_t n) const |
| Performs repeated matrix-vector multiplication x' = A*x + b and then minimizes/maximizes over the row groups so that the resulting vector has the size of number of row groups of A.
|
|
template<typename ValueType, bool TrivialRowGrouping>
class storm::solver::ViOperatorMultiplier< ValueType, TrivialRowGrouping >
Definition at line 18 of file ViOperatorMultiplier.h.