Should we create a new matrix type, say hbaij, for operations of Hermitian matrices?
Hong On Fri, 18 Sep 2009, Matthew Knepley wrote: > On Fri, Sep 18, 2009 at 7:32 AM, Niall Moran <nmoran at thphys.nuim.ie> wrote: > >> Matthew Knepley wrote: >> >>> On Thu, Sep 17, 2009 at 12:44 PM, Niall Moran <nmoran at >>> thphys.nuim.ie<mailto: >>> nmoran at thphys.nuim.ie>> 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 >
