const char *zero_string = " ",
const double denominator = 1.) const;
+ /**
+ * Print the actual pattern of
+ * the matrix. For each entry
+ * with an absolute value larger
+ * than threshold, a '*' is
+ * printed, a ':' for every value
+ * smaller and a '.' for every
+ * entry not allocated.
+ */
+ void print_pattern(std::ostream& out,
+ const double threshold = 0.) const;
+
/**
* Write the data of this object
* en bloc to a file. This is
+template <typename number>
+void SparseMatrix<number>::print_pattern (std::ostream &out,
+ const double threshold) const
+{
+ Assert (cols != 0, ExcNotInitialized());
+ Assert (val != 0, ExcNotInitialized());
+
+ for (unsigned int i=0; i<m(); ++i)
+ {
+ for (unsigned int j=0; j<n(); ++j)
+ if ((*cols)(i,j) == SparsityPattern::invalid_entry)
+ out << '.';
+ else
+ if (std::fabs(val[cols->operator()(i,j)]) > threshold)
+ out << '*';
+ else
+ out << ':';
+ out << std::endl;
+ };
+ AssertThrow (out, ExcIO());
+}
+
+
+
template <typename number>
void
SparseMatrix<number>::block_write (std::ostream &out) const