It is only implemented for SeqAIJ, but it should arguably have a default
implementation that performs an explicit transpose and then calls
MatMatMatMult or MatPtAP.

Franck Houssen <[email protected]> writes:

> I read the doc, and googled this before to write a dummy example. So, matRARt 
> is only for sequential matrices, and, matPtAP for distributed ones : correct 
> ? (means, I "just" used the "wrong" method) 
> If so, this is a major difference which does not seem (to me) to be 
> emphasized enough in the doc, in particular for a new user (the matRARt and 
> matPtAP pages are the same with R replaced with Pt). Where was it possible to 
> find this information ? 
>
> Franck 
>
> ----- Mail original -----
>
>> De: "Dave May" <[email protected]>
>> À: "Franck Houssen" <[email protected]>, "PETSc users list"
>> <[email protected]>, "petsc-dev" <[email protected]>
>> Envoyé: Mercredi 21 Juin 2017 15:11:27
>> Objet: Re: [petsc-users] How to compute RARt with A and R as distributed
>> (MPI) matrices ?
>
>> You can assemble R^t and then use MatPtAP which supports MPIAIJ
>
>> On Wed, 21 Jun 2017 at 15:00, Franck Houssen < [email protected] >
>> wrote:
>
>> > How to compute RARt with A and R as distributed (MPI) matrices ?
>> 
>
>> > This works with sequential matrices.
>> 
>> > The doc say "currently only implemented for pairs of AIJ matrices and
>> > classes
>> > which inherit from AIJ": I supposed that MPIAIJ was someway inheriting from
>> > AIJ, seems that it doesn't.
>> 
>
>> > Is this kind of matrix product possible with distributed matrices in PETSc
>> > ?
>> > Or is this a known limitation ?
>> 
>> > Do I go the wrong way to do that (= should use another method) ? If yes,
>> > what
>> > is the correct one ?
>> 
>
>> > Franck
>> 
>
>> > PS: running debian/testing + gcc-6.3 + bitbucket petsc.
>> 
>
>> > >> mpirun -n 2 matRARt.exe seq
>> 
>> > Mat Object: 1 MPI processes
>> 
>> > type: seqaij
>> 
>> > row 0: (0, 1.) (1, 0.)
>> 
>> > row 1: (0, 0.) (1, 1.)
>> 
>
>> > >> mpirun -n 2 matRARt.exe mpi
>> 
>> > [0]PETSC ERROR: --------------------- Error Message
>> > --------------------------------------------------------------
>> 
>> > [0]PETSC ERROR: No support for this operation for this object type
>> 
>> > [0]PETSC ERROR: Matrix of type <mpiaij> does not support RARt
>> 

Attachment: signature.asc
Description: PGP signature

Reply via email to