On Thu, Jun 16, 2011 at 3:40 PM, Jed Brown <jed at 59a2.org> wrote: > On Thu, Jun 16, 2011 at 17:34, Matthew Knepley <knepley at gmail.com> wrote: > >> Yes, you can do MF applications of A' A. You could just make a MatShell >> that called MatMult and MatMultTranspose. >> > > MatShell is not necessary, just use MatCreateTranspose(). > > > http://www.mcs.anl.gov/petsc/petsc-as/snapshots/petsc-dev/docs/manualpages/Mat/MatCreateTranspose.html > > But I think Alexander is clear on that part. >
Doesn't he need A' A (normal equations) for the solve, so a MatShell? > > >> For modifying the matrix, MatGetRow() IF you are using an AIJ matrix, >> return a pointer directly to the values. >> > > This is only for SeqAIJ. > True. It would not be that hard to make a SetRow() which would alter values in place for MPIAIJ as well. > 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? > > Also, the matrix A'*A has a huge null space. What sort of regularization > are you using. > You could use a range space method I guess. Matt -- What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead. -- Norbert Wiener -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20110616/f5739b85/attachment.htm>
