17template<
typename ValueType>
38 virtual uint64_t getMatrixRowCount()
const override;
39 virtual uint64_t getMatrixColumnCount()
const override;
43 std::unique_ptr<storm::storage::SparseMatrix<ValueType>> localA;
49 mutable std::unique_ptr<storm::solver::Multiplier<ValueType>> multiplier;
51 mutable boost::optional<storm::storage::SparseMatrix<ValueType>> orderedMatrix;
53 mutable boost::optional<std::vector<uint64_t>> rowOrdering;
55 mutable boost::optional<std::vector<ValueType>> auxiliaryRowVector;
57 mutable boost::optional<std::vector<ValueType>> auxiliaryRowVector2;
59 mutable std::vector<std::pair<uint64_t, ValueType>> bFactors;
This solver can be used on equation systems that are known to be acyclic.
virtual LinearEquationSolverProblemFormat getEquationProblemFormat(storm::Environment const &env) const override
Retrieves the format in which this solver expects to solve equations.
virtual void clearCache() const override
virtual bool internalSolveEquations(storm::Environment const &env, std::vector< ValueType > &x, std::vector< ValueType > const &b) const override
virtual ~AcyclicLinearEquationSolver()
virtual void setMatrix(storm::storage::SparseMatrix< ValueType > const &A) override
virtual LinearEquationSolverRequirements getRequirements(Environment const &env) const override
Retrieves the requirements of the solver under the current settings.
AcyclicLinearEquationSolver()
An interface that represents an abstract linear equation solver.
A class that holds a possibly non-square matrix in the compressed row storage format.
LinearEquationSolverProblemFormat