On Thu, Jun 16, 2011 at 3:40 PM, Jed Brown <span dir="ltr">&lt;<a href="mailto:jed@59a2.org">jed@59a2.org</a>&gt;</span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="gmail_quote"><div class="im">On Thu, Jun 16, 2011 at 17:34, Matthew Knepley <span dir="ltr">&lt;<a href="mailto:knepley@gmail.com" target="_blank">knepley@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div>Yes, you can do MF applications of A&#39; A. You could just make a MatShell that called MatMult and MatMultTranspose.</div></blockquote><div><br></div></div><div>MatShell is not necessary, just use MatCreateTranspose().</div>

<div><br></div><div><a href="http://www.mcs.anl.gov/petsc/petsc-as/snapshots/petsc-dev/docs/manualpages/Mat/MatCreateTranspose.html" target="_blank">http://www.mcs.anl.gov/petsc/petsc-as/snapshots/petsc-dev/docs/manualpages/Mat/MatCreateTranspose.html</a></div>

<div><br></div><div>But I think Alexander is clear on that part.</div></div></blockquote><div><br></div><div>Doesn&#39;t he need A&#39; A (normal equations) for the solve, so a MatShell?</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="gmail_quote"><div> </div><div class="im"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div></div><div>For modifying the matrix, MatGetRow() IF you are using an AIJ matrix, return a pointer directly to the values.</div>

</blockquote><div><br></div></div><div>This is only for SeqAIJ.</div></div></blockquote><div><br></div><div>True. It would not be that hard to make a SetRow() which would alter values in place for MPIAIJ as well.</div><div>
 </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div class="gmail_quote"><div>Alexander, could you clarify where in the Gauss-Newton procedure you outlined is the dense matrix on which you need to do the nonlinear row operation?</div>

<div><br></div><div>Also, the matrix A&#39;*A has a huge null space. What sort of regularization are you using.</div></div>
</blockquote></div><div><br></div>You could use a range space method I guess.<div><br></div><div>   Matt<br clear="all"><br>-- <br>What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>
-- Norbert Wiener<br>
</div>