[petsc-users] Symmetric MPIAIJ matrix

Matthew Knepley knepley at gmail.com
Tue Jul 7 15:54:08 CDT 2015


On Tue, Jul 7, 2015 at 3:52 PM, Bikash Kanungo <bikash at umich.edu> wrote:

> Hi Matthew,
>
> I couldn't follow your reply. It seems a bit unrelated to my query.
>

Your matrix actually looks like M = A + v^T v, where A is sparse and v is a
small collection of vectors. It is better
is you handle it this way than putting a dense row into a traditional
sparse matrix.

   Matt


>
> Thanks,
> Bikash
>
> On Tue, Jul 7, 2015 at 4:42 PM, Matthew Knepley <knepley at gmail.com> wrote:
>
>> On Tue, Jul 7, 2015 at 3:36 PM, Bikash Kanungo <bikash at umich.edu> wrote:
>>
>>> Hi Matthew,
>>>
>>> The entries to the last few rows of my matrix has non-local
>>> contributions from a large number of processors. Since the matrix is
>>> symmetric, I need not set the non-local entries in the last few rows as
>>> they are equal to their transpose entries, which on the other hand are
>>> stored as local entries in their respective processors.
>>>
>>
>> This is really a sparse matrix with a low rank update. It is much easier
>> to handle it this way. There are explicit formulae for the inverse
>> in terms of the inverse of the two parts (Sherman-Morrison-Woodbury), and
>> other operations can be similarly simplified. We might not
>> have all the support now, but pressing forward on this front is likely to
>> be much more fruitful.
>>
>>   Thanks,
>>
>>     Matt
>>
>>
>>> Thanks,
>>> Bikash
>>>
>>> On Tue, Jul 7, 2015 at 4:25 PM, Matthew Knepley <knepley at gmail.com>
>>> wrote:
>>>
>>>> On Tue, Jul 7, 2015 at 3:22 PM, Bikash Kanungo <bikash at umich.edu>
>>>> wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>> Is there a way to ignore the lower (or upper) triangular entries in an
>>>>> MATMPIAIJ matrix when I know my matrix is symmetric? I can see a
>>>>> MAT_SYMMETRIC option in MatSetOption, but I don't think it ignores any
>>>>> lower (or upper) triangular entry.
>>>>>
>>>>
>>>> Why do you want this?
>>>>
>>>>
>>>>> I cannot use MATMPISBAIJ due to MatMatMult incompatibility with
>>>>> MATMPIAIJ.
>>>>>
>>>>
>>>> This is the only way. MatMatMult() is quite complex and there is no
>>>> real advantage to ignoring
>>>> the entries, so we have not implemented it here.
>>>>
>>>>   Matt
>>>>
>>>>
>>>>> Thanks,
>>>>> Bikash
>>>>>
>>>>> --
>>>>> Bikash S. Kanungo
>>>>> PhD Student
>>>>> Computational Materials Physics Group
>>>>> Mechanical Engineering
>>>>> University of Michigan
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> 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
>>>>
>>>
>>>
>>>
>>> --
>>> Bikash S. Kanungo
>>> PhD Student
>>> Computational Materials Physics Group
>>> Mechanical Engineering
>>> University of Michigan
>>>
>>>
>>
>>
>> --
>> 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
>>
>
>
>
> --
> Bikash S. Kanungo
> PhD Student
> Computational Materials Physics Group
> Mechanical Engineering
> University of Michigan
>
>


-- 
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/20150707/1a33d0f1/attachment.html>


More information about the petsc-users mailing list