*/
virtual void reinit (const BlockSparsityPattern<rows,columns> &sparsity);
+
+ /**
+ * Access the block with the
+ * given coordinates.
+ */
+ SparseMatrix<number> &
+ block (const unsigned int row,
+ const unsigned int column);
+
+
+ /**
+ * Access the block with the
+ * given coordinates. Version for
+ * constant objects.
+ */
+ const SparseMatrix<number> &
+ block (const unsigned int row,
+ const unsigned int column) const;
+
/**
* Release all memory and return
* to a state just like after
+
+template <int rows, int columns>
+inline
+SparseMatrix<number>
+BlockSparseMatrix<number,rows,columns>::block (const unsigned int row,
+ const unsigned int column)
+{
+ return sub_objects[row][column];
+};
+
+
+
+template <int rows, int columns>
+inline
+const SparseMatrix<number> &
+BlockSparseMatrix<number,rows,columns>::block (const unsigned int row,
+ const unsigned int column) const
+{
+ return sub_objects[row][column];
+};
+
+
+
template <typename number, int rows, int columns>
void
BlockSparseMatrix<number,rows,columns>::clear ()