PBerger
12 years ago
4 changed files with 21 additions and 122 deletions
-
4resources/3rdparty/gmm-4.2/include/gmm/gmm_matrix.h
-
9src/modelchecker/prctl/GmmxxDtmcPrctlModelChecker.h
-
105src/storage/JacobiDecomposition.h
-
25src/storage/SparseMatrix.h
@ -1,105 +0,0 @@ |
|||
#ifndef STORM_STORAGE_JACOBIDECOMPOSITION_H_ |
|||
#define STORM_STORAGE_JACOBIDECOMPOSITION_H_ |
|||
|
|||
#include "boost/integer/integer_mask.hpp" |
|||
|
|||
#include "log4cplus/logger.h" |
|||
#include "log4cplus/loggingmacros.h" |
|||
|
|||
#include "src/exceptions/InvalidAccessException.h" |
|||
|
|||
extern log4cplus::Logger logger; |
|||
|
|||
namespace storm { |
|||
|
|||
namespace storage { |
|||
|
|||
/*! |
|||
* Forward declaration against Cycle |
|||
*/ |
|||
template <class T> |
|||
class SparseMatrix; |
|||
|
|||
|
|||
/*! |
|||
* A simple container for a sparse Jacobi decomposition |
|||
*/ |
|||
template <class T> |
|||
class JacobiDecomposition { |
|||
|
|||
public: |
|||
/*! |
|||
* Standard constructor |
|||
* Initializes this object with the two given sparse matrices |
|||
* Ownership of both matrices stay with THIS object. |
|||
*/ |
|||
JacobiDecomposition(storm::storage::SparseMatrix<T> * const jacobiLuMatrix, storm::storage::SparseMatrix<T> * const jacobiDInvMatrix) : jacobiLuMatrix(jacobiLuMatrix), jacobiDInvMatrix(jacobiDInvMatrix) { |
|||
} |
|||
|
|||
~JacobiDecomposition() { |
|||
delete this->jacobiDInvMatrix; |
|||
delete this->jacobiLuMatrix; |
|||
} |
|||
|
|||
/*! |
|||
* Accessor for the internal LU Matrix. |
|||
* Ownership stays with this class. |
|||
* @return A reference to the Jacobi LU Matrix |
|||
*/ |
|||
storm::storage::SparseMatrix<T>& getJacobiLUReference() { |
|||
return *(this->jacobiLuMatrix); |
|||
} |
|||
|
|||
/*! |
|||
* Accessor for the internal D^{-1} Matrix. |
|||
* Ownership stays with this class. |
|||
* @return A reference to the Jacobi D^{-1} Matrix |
|||
*/ |
|||
storm::storage::SparseMatrix<T>& getJacobiDInvReference() { |
|||
return *(this->jacobiDInvMatrix); |
|||
} |
|||
|
|||
/*! |
|||
* Accessor for the internal LU Matrix. |
|||
* Ownership stays with this class. |
|||
* @return A pointer to the Jacobi LU Matrix |
|||
*/ |
|||
storm::storage::SparseMatrix<T>* getJacobiLU() { |
|||
return this->jacobiLuMatrix; |
|||
} |
|||
|
|||
/*! |
|||
* Accessor for the internal D^{-1} Matrix. |
|||
* Ownership stays with this class. |
|||
* @return A pointer to the Jacobi D^{-1} Matrix |
|||
*/ |
|||
storm::storage::SparseMatrix<T>* getJacobiDInv() { |
|||
return this->jacobiDInvMatrix; |
|||
} |
|||
|
|||
private: |
|||
|
|||
/*! |
|||
* The copy constructor is disabled for this class. |
|||
*/ |
|||
//JacobiDecomposition(const JacobiDecomposition<T>& that) = delete; // not possible in VS2012 |
|||
JacobiDecomposition(const JacobiDecomposition<T>& that) { |
|||
throw storm::exceptions::InvalidAccessException() << "The copy constructor of JacobiDecomposition is explicitly disabled."; |
|||
} |
|||
|
|||
/*! |
|||
* Pointer to the LU Matrix |
|||
*/ |
|||
storm::storage::SparseMatrix<T> *jacobiLuMatrix; |
|||
|
|||
/*! |
|||
* Pointer to the D^{-1} Matrix |
|||
*/ |
|||
storm::storage::SparseMatrix<T> *jacobiDInvMatrix; |
|||
}; |
|||
|
|||
} // namespace storage |
|||
|
|||
} // namespace storm |
|||
|
|||
#endif // STORM_STORAGE_JACOBIDECOMPOSITION_H_ |
Write
Preview
Loading…
Cancel
Save
Reference in new issue