[petsc-users] Compute C*Ct using MatCreateTranspose for Ct

Olivier Jamond olivier.jamond at cea.fr
Fri Sep 25 02:31:10 CDT 2020


@Mark: Sorry, I totally misunderstood your answer, so my answer to your 
answer about petsc versions is non-sense...


@Hong: MatTransposeMatMult gives (Ct*C), no? And I feel that 
MatCreateTranspose actually works for mpiaij.


On 24/09/2020 16:16, Zhang, Hong via petsc-users wrote:
> Olivier and Matt,
>
> MatPtAP with A=I gives Pt*P, not P*Pt. We have sequential MatRARt 
> and MatMatTransposeMult(), but no support for mpiaij matrices. The 
> problem is that we do not have a way to implement C*Ct without 
> explicitly transpose C in parallel.
>
>
> We support MatTransposeMatMult (A*Bt) for mpiaij. Can you use this 
> instead?
>
>
> Hong
>
>
> ------------------------------------------------------------------------
> *From:* petsc-users <petsc-users-bounces at mcs.anl.gov> on behalf of 
> Zhang, Hong via petsc-users <petsc-users at mcs.anl.gov>
> *Sent:* Thursday, September 24, 2020 8:56 AM
> *To:* Matthew Knepley <knepley at gmail.com>; Mark Adams <mfadams at lbl.gov>
> *Cc:* PETSc <petsc-users at mcs.anl.gov>
> *Subject:* Re: [petsc-users] Compute C*Ct using MatCreateTranspose for Ct
> Indeed, we do not have MatCreateTranspose for mpaij matrix.
> I can adding such support. How soon do you need it?
> Hong
>
> ------------------------------------------------------------------------
> *From:* petsc-users <petsc-users-bounces at mcs.anl.gov> on behalf of 
> Matthew Knepley <knepley at gmail.com>
> *Sent:* Thursday, September 24, 2020 6:12 AM
> *To:* Mark Adams <mfadams at lbl.gov>
> *Cc:* PETSc <petsc-users at mcs.anl.gov>
> *Subject:* Re: [petsc-users] Compute C*Ct using MatCreateTranspose for Ct
> On Thu, Sep 24, 2020 at 6:48 AM Mark Adams <mfadams at lbl.gov 
> <mailto:mfadams at lbl.gov>> wrote:
>
>
>         Is there a way to avoid the explicit transposition of the matrix?
>
>
>     It does not look like we have A*B^T for mpiaij as the error
>     message says. I am not finding it in the code.
>
>     Note, MatMatMult with a transpose shell matrix, I suspect that it
>     does an explicit transpose internally, or it could notice that you
>     have C^T*C and we might have that implemented in-place (I doubt
>     it, but it would be legal and fine to do).
>
>
> We definitely have
>
> https://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Mat/MatPtAP.html
>
> For now, you can put the identity in for A. It would be nice it we 
> assumed that when A = NULL.
>
> Patrick, the implementation strategy is broken for the MatProduct 
> mechanism that was just introduced, so
> we cannot see which things are implemented in the documentation. How 
> would I go about fixing it?
>
>   Thanks,
>
>      Matt
>
>         Many thanks,
>         Olivier Jamond
>
>
>
>
> -- 
> 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
>
> https://www.cse.buffalo.edu/~knepley/ 
> <http://www.cse.buffalo.edu/~knepley/>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20200925/0ff10f37/attachment-0001.html>


More information about the petsc-users mailing list