<h3>lac</h3>
<ol>
+ <li>
+ <p>
+ Fixed: There is now a function CompressedSparsityPattern::print, in analogy
+ to SparsityPattern::print
+ <br>
+ (WB 2008/07/31)
+ <li>
+
<li>
<p>
Fixed: The FullMatrix::copy_from(FullMatrix,bool) function had a bug
that resulted in an exception being triggered whenever the given matrix
had rows where the diagonal element is zero and the second parameter
to the function was set to <code>true</code>. This is now fixed.
+ <br>
(WB 2008/07/30)
<li>
</ol>
*/
void symmetrize ();
+ /**
+ * Print the sparsity of the
+ * matrix. The output consists of
+ * one line per row of the format
+ * <tt>[i,j1,j2,j3,...]</tt>. <i>i</i>
+ * is the row number and
+ * <i>jn</i> are the allocated
+ * columns in this row.
+ */
+ void print (std::ostream &out) const;
+
/**
* Print the sparsity of the matrix in a
* format that @p gnuplot understands and
// $Id$
// Version: $Name$
//
-// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 by the deal.II authors
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2008 by the deal.II authors
//
// This file is subject to QPL and may not be distributed
// without copyright and license information. Please refer
+void
+CompressedSparsityPattern::print (std::ostream &out) const
+{
+ for (unsigned int row=0; row<rows; ++row)
+ {
+ if (lines[row].cache_entries != 0)
+ lines[row].flush_cache ();
+
+ out << row << ' ';
+
+ for (std::vector<unsigned int>::const_iterator
+ j=lines[row].entries.begin();
+ j != lines[row].entries.end(); ++j)
+ out << *j << ' ';
+
+ out << std::endl;
+ }
+
+ AssertThrow (out, ExcIO());
+}
+
+
+
void
CompressedSparsityPattern::print_gnuplot (std::ostream &out) const
{
// x-y, that is we have to exchange
// the order of output
out << *j << " " << -static_cast<signed int>(row) << std::endl;
- }
-
+ }
AssertThrow (out, ExcIO());
}