00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef _KIN_SPARSE_MATRIX_H
00011 #define _KIN_SPARSE_MATRIX_H
00012
00013 class KinSparseMatrix: public SparseMatrix< int >
00014 {
00015 public:
00016
00017
00018
00033 double computeRowRate(
00034 unsigned int row, const vector< double >& v
00035 ) const;
00036
00037
00044 void getGillespieDependence(
00045 unsigned int row, vector< unsigned int >& cols
00046 ) const;
00047
00052 void fireReac( unsigned int reacIndex, vector< double >& S ) const;
00053
00060 void truncateRow( unsigned int maxColumnIndex );
00061
00063 vector< int > matrixEntry() const;
00064 vector< unsigned int > colIndex() const;
00065 vector< unsigned int > rowStart() const;
00066 private:
00071 vector< unsigned int > rowTruncated_;
00072 };
00073
00074 #endif // _KIN_SPARSE_MATRIX_H