fff4e61fc3 
								
							
								 
							
						 
						
							
							
								
								Changed interface of matrix builder slightly to be able to also not force the resulting matrix to certain dimensions, but merely to reserve the desired space.  
							
							
 
							
							
							Former-commit-id: e36d05398e 
							
						 
						11 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								f767cfe844 
								
							
								 
							
						 
						
							
							
								
								Started to modify the matrix builder to be a bit smarter about preallocation.  
							
							
 
							
							
							Former-commit-id: 50be5c8af1 
							
						 
						11 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								ac420f13d0 
								
							
								 
							
						 
						
							
							
								
								Fixed some warnings in various places.  
							
							
 
							
							
							Former-commit-id: fbfbfc2bcb 
							
						 
						11 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								ab58103555 
								
							
								 
							
						 
						
							
							
								
								Started to pimp matrix. First step: added proper methods setColumn/setValue that operate on a matrix entry and removed the non-const versions of getColumn/getValue. Added a typedef for the index type in the matrix so that it becomes possible to have matrices with a different index type (e.g. 32-bit values).  
							
							
 
							
							
							Former-commit-id: 3cc0fdf9ee 
							
						 
						11 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								01cefbb2c0 
								
							
								 
							
						 
						
							
							
								
								Modified the multiplication of a sparse matrix with a dense vector to only use the parallel version if available and the number of nonzero entries exceeds a certain threshold.  
							
							
 
							
							
							Former-commit-id: 07957b2d29 
							
						 
						11 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								52cfe9f02d 
								
							
								 
							
						 
						
							
							
								
								Fixed some compile errors.  
							
							
 
							
							
							- Added a missing inlude (boost/functional/hash.hpp) to SparseMatrix.h. I don't know how this could have been compiled without.
- Changed a return type in the stub section of the GurobiLpSolver to void. Not correctly overwrites the base class function.
- Went through the change history of the SparseMarkovAutomatonCslModelchecker.h to correctly integrate all changes made in this branch with the changes of the other branches.
Former-commit-id: 43ce12274b 
							
						 
						11 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								db232fe39b 
								
							
								 
							
						 
						
							
							
								
								Moved from pair to MatrixEntry as the basic building block of the matrix. Now matrix elements can be accessed in a more readable way.  
							
							
 
							
							
							Former-commit-id: f6514eb0cd 
							
						 
						12 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								92ee6187fa 
								
							
								 
							
						 
						
							
							
								
								Added more query methods to expressions. SparseMatrix now keeps track of non zero entries and models show correct number of transitions by referring to nonzero entries rather than all entries in the matrix.  
							
							
 
							
							
							Former-commit-id: 48180be2fe 
							
						 
						12 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								12743e0a7e 
								
							
								 
							
						 
						
							
							
								
								Moved from additional row grouping to the one embedded in the matrix itself.  
							
							
 
							
							
							Former-commit-id: 9d7a1fff10 
							
						 
						12 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								d70bb836bb 
								
							
								 
							
						 
						
							
							
								
								Tests are now working again with the row-grouped matrix.  
							
							
 
							
							
							Former-commit-id: b58e76b5bb 
							
						 
						12 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								38833e308f 
								
							
								 
							
						 
						
							
							
								
								Started to add row-grouping to sparse matrix class.  
							
							
 
							
							
							Former-commit-id: 39e3703095 
							
						 
						12 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								42708a6d21 
								
							
								 
							
						 
						
							
							
								
								Added utility header for all parts that use std::swap.  
							
							
 
							
							
							Former-commit-id: 55a2f56440 
							
						 
						12 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								ee0026e0e6 
								
							
								 
							
						 
						
							
							
								
								Fixed minor bug in Markov automata time-bounded reachability.  
							
							
 
							
							
							Former-commit-id: 6454223cd3 
							
						 
						12 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								35d16a1191 
								
							
								 
							
						 
						
							
							
								
								Replaced VectorSet bei boost::container::flat_set, which does essentially the same. Fixed a bug in sparse matrix creation.  
							
							
 
							
							
							Former-commit-id: cb632bcfd4 
							
						 
						12 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								f684ce7799 
								
							
								 
							
						 
						
							
							
								
								Removed obsolete constructors of sparse matrix class as the new matrix builder is supposed to be used anyway. Fixed some minor issues.  
							
							
 
							
							
							Former-commit-id: ee8a7cc440 
							
						 
						12 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								72531bcebb 
								
							
								 
							
						 
						
							
							
								
								Added proper TBB multi-threading to all operation relevant to model checking MDPs.  
							
							
 
							
							
							Former-commit-id: dcb4bde1d3 
							
						 
						12 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								cdc369b96a 
								
							
								 
							
						 
						
							
							
								
								Temporarily removed the detection of the repository version of TBB from CMakeLists.txt. Corrected TBB sparse matrix-vector multiplication. Added TBB parallel vector addition.  
							
							
 
							
							
							Former-commit-id: f90ae764c8 
							
						 
						12 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								81cf0e2b22 
								
							
								 
							
						 
						
							
							
								
								Added SparseMatrixBuilder class that actually builds the matrices. A call to build() will then generate the matrix. This eliminates superfluous checks in the matrix that slowed down performance.  
							
							
 
							
							
							Former-commit-id: af5d946fb8 
							
						 
						12 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								cf2b84b281 
								
							
								 
							
						 
						
							
							
								
								Further work on iterators for sparse matrix.  
							
							
 
							
							
							Former-commit-id: 8e78262161 
							
						 
						12 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								ab5b5be1ac 
								
							
								 
							
						 
						
							
							
								
								First step towards pair-based column and value storage in sparse matrix.  
							
							
 
							
							
							Former-commit-id: c0ad97be8f 
							
						 
						12 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								e08b61b9f7 
								
							
								 
							
						 
						
							
							
								
								Added functional and performance tests for sparse matrix.  
							
							
 
							
							
							Former-commit-id: dd9abe1826 
							
						 
						12 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								97fb2f9750 
								
							
								 
							
						 
						
							
							
								
								All tests working with (partially) new sparse matrix implementation/interface.  
							
							
 
							
							
							Former-commit-id: 0272dd3524 
							
						 
						12 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								a26f63be30 
								
							
								 
							
						 
						
							
							
								
								Finished reworking the sparse matrix implementation. Adapted all other classes to the (partially) new API of the matrix.  
							
							
 
							
							
							Former-commit-id: 2c3b5a5bc3 
							
						 
						12 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								ef041982b5 
								
							
								 
							
						 
						
							
							
								
								Further work on sparse matrix implementation.  
							
							
 
							
							
							Former-commit-id: df4eb9c476 
							
						 
						12 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								4376708a46 
								
							
								 
							
						 
						
							
							
								
								Further maintenance work on sparse matrix implementation.  
							
							
 
							
							
							Former-commit-id: 56885d90bf 
							
						 
						12 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								8a47d03cf7 
								
							
								 
							
						 
						
							
							
								
								Started to rework the interface of the sparse matrix class.  
							
							
 
							
							
							Former-commit-id: 6ae2699da6 
							
						 
						12 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								84bd5f3b40 
								
							
								 
							
						 
						
							
							
								
								Renamed ConstTemplates to constants. Removed all calls to constGetZero, constGetOne and constGetInfinity by the new names. Created performance test for bit vector iteration.  
							
							
 
							
							
							Former-commit-id: 6d90ec961e 
							
						 
						12 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								dce43d78e7 
								
							
								 
							
						 
						
							
							
								
								Started implementation of time-bounded reachability of Markov automata.  
							
							
 
							
							
							Former-commit-id: 512bb117a6 
							
						 
						12 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								daea775263 
								
							
								 
							
						 
						
							
							
								
								Now rates get correctly transformed to probabilities + exit rates for Markov automata.  
							
							
 
							
							
							Former-commit-id: bf5ccfa813 
							
						 
						12 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								170306e46d 
								
							
								 
							
						 
						
							
							
								
								Moved SparseMatrix transposition function from AbstractModel (named: getBackwardsTransitions) to SparseMatrix (named: transpose) where it belongs.  
							
							
 
							
							
							- Fixed one problem marked FIXME in the transpose function. The need for a "sentinel" element was created by an off by one in the prior loop.
- Changed all occurences of SparseMatrix<bool> to SparseMatrix<T>. Now the only two types for which SparseMatrix is instantiated are double and int.
- Compiles again.
|-> Compile time seems to be roughly the same for clean; make all. For incremental builds I haven't tested yet.
Former-commit-id: 6d829e0903 
							
						 
						12 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								c30d6d307e 
								
							
								 
							
						 
						
							
							
								
								Figured out how to explicitly instantiate templates.  
							
							
 
							
							
							But got bitten by std::vector<bool> as it is specialized and uses bitsets (i.e. integers) internally.
Less memory but at the cost of 'oh, sorry std::vector<bool> does not return a bool&'.
That again seems to be a problem for the SparseMatrix<bool> instatiation since for instance getValue returns a T&.
On the one hand I don't quite know why this was never an issue before and on the other hand it prevents successful compilation.
So there are different ways to settle this:
- Specialize SparseMatix for bool -> possibly lots of code, but might be the best solution
- Write a wrapper for std::vector that uses chars instead of booleans
- Dont't use SparseMatrix<bool>
Next up: Figure out the best solution for this and implement it.
Former-commit-id: 83b9cfd06e 
							
						 
						12 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								1b2bb9c138 
								
							
								 
							
						 
						
							
							
								
								Set up command flow for subsystem generation. Results seem correct on the first look.  
							
							
 
							
							
							Next up: Write the DTMC output for the subsystem generation.
Also:
- fixed one bug in the subsystem generation leading to an infinite loop
- corrected a typo in a comment in SparseMatrix
Former-commit-id: 6014bf2dd2 
							
						 
						12 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								e3234b54f3 
								
							
								 
							
						 
						
							
							
								
								Step towards minimal command generator using MaxSAT and model checking.  
							
							
 
							
							
							Former-commit-id: 4237447c44 
							
						 
						12 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								a45e9423b8 
								
							
								 
							
						 
						
							
							
								
								Sparse matrix can now also be used without knowing the number of rows/columns/nonzeros upfront. Adapted ExplicitModelAdapter to use that capability to not explore the state space twice. Added support for Z3 to CMakeLists.txt. Added correct submatrix checks for transition rewards in MDPs. Extended a test for the ExplicitModelAdapter a bit.  
							
							
 
							
							
							Former-commit-id: 105efc5342 
							
						 
						12 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								e2b0c4f1aa 
								
							
								 
							
						 
						
							
							
								
								Started refactoring ExplicitModelAdapter to finally make it nice.  
							
							
 
							
							
							Former-commit-id: 6df7e5d9fa 
							
						 
						12 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								79c40126f3 
								
							
								 
							
						 
						
							
							
								
								Fixed a bug in the SparseMatrix.h where the multi threaded implementation would crash sometimes  
							
							
 
							
							
							Added a new definition to CMakeLists.txt for MSVC as to undefine the MIN/MAX macros
Former-commit-id: 5a3d12e920 
							
						 
						12 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								c242dcbd97 
								
							
								 
							
						 
						
							
							
								
								Refactored CMakeLists.txt for better editing and overview  
							
							
 
							
							
							Refactored all Defines for Gurobi, TBB, etc into the storm-config file
Fixed a missing cast int SymbolicModelAdapter.h
Fixed changed iterator structures in SparseMatrix.h
Fixed bugs in CuddUtility.cpp where a 64bit shift was executed on a 32bit literal (1 should be 1ull)
Fixed a Type Error in graph.h
Former-commit-id: 797b4da2eb 
							
						 
						12 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								158430418e 
								
							
								 
							
						 
						
							
							
								
								Replaced boost integer mask includes with cstdint  
							
							
 
							
							
							Reimplemented Gmm conversion with in place constructors
Former-commit-id: 003f582f9c 
							
						 
						12 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								d168b1848e 
								
							
								 
							
						 
						
							
							
								
								Made GMRES and LSCG solution methods work for linear equation solving. Some further work on scheduler guessing.  
							
							
 
							
							
							Former-commit-id: f6b538394a 
							
						 
						13 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								15542d46da 
								
							
								 
							
						 
						
							
							
								
								Changes:  
							
							
 
							
							
							* included small consensus example
* made backward-transition generation more beautiful and versatile
* included Dijkstra search for most probable paths
* included first rough scheduler-guessing (there's room for improvement though)
Former-commit-id: db795fa1bf 
							
						 
						13 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								5776b207c3 
								
							
								 
							
						 
						
							
							
								
								Changed to new cleaner iterator for matrix.  
							
							
 
							
							
							Former-commit-id: c35f075fb1 
							
						 
						13 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								36543de851 
								
							
								 
							
						 
						
							
							
								
								Started trying to implement a more clean iterator solution for sparse matrix.  
							
							
 
							
							
							Former-commit-id: 2173972b82 
							
						 
						13 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								42b9072cbf 
								
							
								 
							
						 
						
							
							
								
								Implemented TBB Parallelization Support into SparseMatrix.h  
							
							
 
							
							
							Re-factored Includes in CMake for TBB
Former-commit-id: b5ebf4153a 
							
						 
						13 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								7aa3139b62 
								
							
								 
							
						 
						
							
							
								
								Intermediate commit with submatrix computation for scheduler-induced system from MDP.  
							
							
 
							
							
							Former-commit-id: bcdc58c1a7 
							
						 
						13 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								cb770020bf 
								
							
								 
							
						 
						
							
							
								
								Refactored the Jacobi Decomposition  
							
							
 
							
							
							Former-commit-id: 55d5d38475 
							
						 
						13 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								f040264660 
								
							
								 
							
						 
						
							
							
								
								Intermediate commit with submatrix computation for scheduler-induced system from MDP.  
							
							
 
							
							
							Former-commit-id: e497f03c00 
							
						 
						13 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								0f7e2835e3 
								
							
								 
							
						 
						
							
							
								
								Added an assignment constructor to the SparseMatrix.h  
							
							
 
							
							
							Now fixed this "constructor" to be a real operator and compile.
Former-commit-id: 83fe702ab3 
							
						 
						13 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								0051aec174 
								
							
								 
							
						 
						
							
							
								
								Added an assignment constructor to the SparseMatrix.h  
							
							
 
							
							
							Former-commit-id: 8de6a61190 
							
						 
						13 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								22f00bc95e 
								
							
								 
							
						 
						
							
							
								
								Reordered elements of SparseMatrix.h  
							
							
 
							
							
							Former-commit-id: 4af800a607 
							
						 
						13 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								78184f9537 
								
							
								 
							
						 
						
							
							
								
								Added a Hash Class in the Utility Namespace.  
							
							
 
							
							
							Added a function getHash() which returns a size_t to most of the used Models and Containers.
Former-commit-id: ed52aa3996 
							
						 
						13 years ago