Problem with MatMatMultTranspose

Hong Zhang hzhang at
Fri Sep 18 08:48:12 CDT 2009

Should we create a new matrix type, say hbaij,
for operations of Hermitian matrices?


On Fri, 18 Sep 2009, Matthew Knepley wrote:

> On Fri, Sep 18, 2009 at 7:32 AM, Niall Moran <nmoran at> wrote:
>> Matthew Knepley wrote:
>>> On Thu, Sep 17, 2009 at 12:44 PM, Niall Moran <nmoran at<mailto:
>>> nmoran at>> wrote:
>>>    Hi,
>>>    I am just wondering if anything has changed on the status of this
>>>    feature. Would be great to be able to perform matrix vector
>>>    multiplications on complex Hermitian matrices by only providing
>>>    one half of the matrix.
>>> It is not curently in the todo list since we have only had one request. It
>>> seems like it would just take being careful about the
>>> complex case for SBAIJ if you would like the try the implementation. We
>>> can answer questions.
>>>  Thanks for you rapid response. I would be interested in attempting to
>> implement this for MPIAIJ if it would not be too involved. Would you be able
>> to sketch a rough outline of what this would involve? Would I need to just
>> modify the MatMult_MPIAIJ function or would I need to modify the creation of
>> the scatterers in MatAssemblyBegin_MPIAIJ?
>> Could anyone suggest some documentation that describes how the matrix
>> vector multiplication works in petsc for MPIAIJ typed matrices?
>> Does matrix vector multiplication with just the upper half work for real
>> symmetric matrices?
> 1) Understand the SBAIJ implementation. This is used for real symmetric
> matrices
> 2) In the places where the lower triangle is retrieved, add a complex
> conjugation.
>  Matt
>> Regards,
>> Niall.
> -- 
> 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

More information about the petsc-users mailing list