|
|
@ -75,7 +75,7 @@ namespace storm { |
|
|
|
// Translate the symbolic matrix/vector to their explicit representations and solve the equation system.
|
|
|
|
std::pair<storm::storage::SparseMatrix<ValueType>, std::vector<ValueType>> explicitRepresentation = submatrix.toMatrixVector(subvector, std::move(rowGroupSizes), model.getNondeterminismVariables(), odd, odd); |
|
|
|
|
|
|
|
std::unique_ptr<storm::solver::MinMaxLinearEquationSolver<ValueType>> solver = linearEquationSolverFactory.create(explicitRepresentation.first); |
|
|
|
std::unique_ptr<storm::solver::MinMaxLinearEquationSolver<ValueType>> solver = linearEquationSolverFactory.create(std::move(explicitRepresentation.first)); |
|
|
|
solver->solveEquationSystem(dir, x, explicitRepresentation.second); |
|
|
|
|
|
|
|
// Return a hybrid check result that stores the numerical values explicitly.
|
|
|
@ -140,7 +140,7 @@ namespace storm { |
|
|
|
// Translate the symbolic matrix/vector to their explicit representations.
|
|
|
|
std::pair<storm::storage::SparseMatrix<ValueType>, std::vector<ValueType>> explicitRepresentation = submatrix.toMatrixVector(subvector, std::move(rowGroupSizes), model.getNondeterminismVariables(), odd, odd); |
|
|
|
|
|
|
|
std::unique_ptr<storm::solver::MinMaxLinearEquationSolver<ValueType>> solver = linearEquationSolverFactory.create(explicitRepresentation.first); |
|
|
|
std::unique_ptr<storm::solver::MinMaxLinearEquationSolver<ValueType>> solver = linearEquationSolverFactory.create(std::move(explicitRepresentation.first)); |
|
|
|
solver->performMatrixVectorMultiplication(dir, x, &explicitRepresentation.second, stepBound); |
|
|
|
|
|
|
|
// Return a hybrid check result that stores the numerical values explicitly.
|
|
|
@ -165,7 +165,7 @@ namespace storm { |
|
|
|
std::vector<ValueType> x = rewardModel.getStateRewardVector().toVector(odd); |
|
|
|
|
|
|
|
// Perform the matrix-vector multiplication.
|
|
|
|
std::unique_ptr<storm::solver::MinMaxLinearEquationSolver<ValueType>> solver = linearEquationSolverFactory.create(explicitMatrix); |
|
|
|
std::unique_ptr<storm::solver::MinMaxLinearEquationSolver<ValueType>> solver = linearEquationSolverFactory.create(std::move(explicitMatrix)); |
|
|
|
solver->performMatrixVectorMultiplication(dir, x, nullptr, stepBound); |
|
|
|
|
|
|
|
// Return a hybrid check result that stores the numerical values explicitly.
|
|
|
@ -194,7 +194,7 @@ namespace storm { |
|
|
|
std::pair<storm::storage::SparseMatrix<ValueType>, std::vector<ValueType>> explicitRepresentation = transitionMatrix.toMatrixVector(totalRewardVector, std::move(rowGroupSizes), model.getNondeterminismVariables(), odd, odd); |
|
|
|
|
|
|
|
// Perform the matrix-vector multiplication.
|
|
|
|
std::unique_ptr<storm::solver::MinMaxLinearEquationSolver<ValueType>> solver = linearEquationSolverFactory.create(explicitRepresentation.first); |
|
|
|
std::unique_ptr<storm::solver::MinMaxLinearEquationSolver<ValueType>> solver = linearEquationSolverFactory.create(std::move(explicitRepresentation.first)); |
|
|
|
solver->performMatrixVectorMultiplication(dir, x, &explicitRepresentation.second, stepBound); |
|
|
|
|
|
|
|
// Return a hybrid check result that stores the numerical values explicitly.
|
|
|
@ -261,7 +261,7 @@ namespace storm { |
|
|
|
std::pair<storm::storage::SparseMatrix<ValueType>, std::vector<ValueType>> explicitRepresentation = submatrix.toMatrixVector(subvector, std::move(rowGroupSizes), model.getNondeterminismVariables(), odd, odd); |
|
|
|
|
|
|
|
// Now solve the resulting equation system.
|
|
|
|
std::unique_ptr<storm::solver::MinMaxLinearEquationSolver<ValueType>> solver = linearEquationSolverFactory.create(explicitRepresentation.first); |
|
|
|
std::unique_ptr<storm::solver::MinMaxLinearEquationSolver<ValueType>> solver = linearEquationSolverFactory.create(std::move(explicitRepresentation.first)); |
|
|
|
solver->solveEquationSystem(dir, x, explicitRepresentation.second); |
|
|
|
|
|
|
|
// Return a hybrid check result that stores the numerical values explicitly.
|
|
|
|