[petsc-users] Getting access to matrix rows without and setting values simultaneously

Matthew Knepley knepley at gmail.com
Thu Jun 16 10:57:03 CDT 2011


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>


More information about the petsc-users mailing list