Is there a computational cost to using a sparse matrix that is much bigger than it should be?
for example, say you have a matrix that is n x n, but you only store anything in the first m rows and columns (m < n). Also, would you then have to redo the matrix distribution among nodes by hand, or will PETSC do it for you? Thanks for the quick reply -Andrew On May 14, 2012, at 9:38 PM, Jed Brown wrote: > On Mon, May 14, 2012 at 9:33 PM, Andrew Spott <andrew.spott at gmail.com> > wrote: > What is the best way to selectively add/remove columns/rows of a Mat? > > Is there a way to do it in place, or does it require essentially moving the > values to a new matrix? > > If you only need to add/remove a small number of values, it's best to > allocate for all that might be present and just store explicit zeros. > > To add or remove rows, you are also changing the vector size that can be > multiplied against, and the data structure must be rebuilt. This is why it's > frequently preferable to use MatZeroRows (or a variant) instead of removing > them from the data structure. -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20120514/daff6cbc/attachment.htm>
