<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Tue, Feb 23, 2016 at 10:40 PM, Barry Smith <span dir="ltr"><<a href="mailto:bsmith@mcs.anl.gov" target="_blank">bsmith@mcs.anl.gov</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
  A custom MatPtAP would almost surely pay off, but it is only an optimization so you need to ask if this computation is your main "blocker" to getting more "science" done.  Can you send a picture of the exact structure of P?<br></blockquote><div><br></div><div>I've attached a picture of the sparsity pattern of P. There are 0s and 1s on the diagonal, and some dense columns in the first few columns.</div><div><br></div><div>David</div><div><br></div><div><br></div><div> </div><div><br></div><div><br></div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5">
<br>
<br>
> On Feb 23, 2016, at 9:35 PM, David Knezevic <<a href="mailto:david.knezevic@akselos.com">david.knezevic@akselos.com</a>> wrote:<br>
><br>
> I'm using MatPtAP, which works well for me, but in some examples I've tested the PtAP calculation dominates the overall solve time (e.g. see attached -log_summary output).<br>
><br>
> In my case, A is a stiffness matrix, and P is the identity matrix except for a small number of columns (e.g. about 10 or so) which are dense.<br>
><br>
> In this situation, I was wondering if there is a more efficient way to proceed than using MatPtAP? For example, would it be noticeably faster to calculate P^T A P directly using MatMults for the dense columns, rather than using MatPtAP?<br>
><br>
> Thanks!<br>
> David<br>
><br>
><br>
</div></div>> <PtAP_log_summary.txt><br>
<br>
</blockquote></div><br></div></div>