35 virtual uint64_t getMatrixRowCount()
const override;
36 virtual uint64_t getMatrixColumnCount()
const override;
41 void createSortedSccDecomposition(
bool needLongestChainSize)
const;
45 void trySetSolutionBounds(
Environment const& env, std::vector<ValueType>
const& x,
bool allSccsExact,
bool allSccsPrecise)
const;
49 bool lastSccMetPrecision(
Environment const& sccSolverEnvironment, std::vector<ValueType>
const& sccValues)
const;
53 bool solveTrivialScc(uint64_t
const& sccState, std::vector<ValueType>& globalX, std::vector<ValueType>
const& globalB)
const;
55 bool solveFullyConnectedEquationSystem(
storm::Environment const& sccSolverEnvironment, std::vector<ValueType>& x, std::vector<ValueType>
const& b)
const;
59 std::optional<storm::storage::BitVector>
const& globalRelevantValues,
bool& metPrecision)
const;
63 std::unique_ptr<storm::storage::SparseMatrix<ValueType>> localA;
70 mutable std::unique_ptr<storm::storage::StronglyConnectedComponentDecomposition<ValueType>> sortedSccDecomposition;
71 mutable boost::optional<uint64_t> longestSccChainSize;
72 mutable std::unique_ptr<storm::solver::LinearEquationSolver<ValueType>> sccSolver;
74 mutable std::unique_ptr<storm::storage::SubmatrixBuilder<ValueType>> sccSubmatrixBuilder;