diff --git a/src/solver/TopologicalValueIterationNondeterministicLinearEquationSolver.cpp b/src/solver/TopologicalValueIterationNondeterministicLinearEquationSolver.cpp index 3c9d8168e..b073f85ca 100644 --- a/src/solver/TopologicalValueIterationNondeterministicLinearEquationSolver.cpp +++ b/src/solver/TopologicalValueIterationNondeterministicLinearEquationSolver.cpp @@ -82,7 +82,6 @@ namespace storm { // Now, we need to determine the SCCs of the MDP and perform a topological sort. std::vector const& nondeterministicChoiceIndices = A.getRowGroupIndices(); - storm::models::NonDeterministicMatrixBasedPseudoModel const pseudoModel(A, nondeterministicChoiceIndices); // Check if the decomposition is necessary #ifdef STORM_HAVE_CUDAFORSTORM @@ -141,13 +140,14 @@ namespace storm { #endif } else { std::chrono::high_resolution_clock::time_point sccStartTime = std::chrono::high_resolution_clock::now(); - storm::storage::StronglyConnectedComponentDecomposition sccDecomposition(pseudoModel, false, false); + storm::storage::StronglyConnectedComponentDecomposition sccDecomposition(A, false, false); if (sccDecomposition.size() == 0) { LOG4CPLUS_ERROR(logger, "Can not solve given Equation System as the SCC Decomposition returned no SCCs."); throw storm::exceptions::IllegalArgumentException() << "Can not solve given Equation System as the SCC Decomposition returned no SCCs."; } + storm::models::NonDeterministicMatrixBasedPseudoModel const pseudoModel(A, nondeterministicChoiceIndices); storm::storage::SparseMatrix stronglyConnectedComponentsDependencyGraph = pseudoModel.extractPartitionDependencyGraph(sccDecomposition); std::vector topologicalSort = storm::utility::graph::getTopologicalSort(stronglyConnectedComponentsDependencyGraph);