# [petsc-users] Question about speed of MatMatSolveTranspose with MUMPS

Lucas Banting bantingl at myumanitoba.ca
Thu Aug 4 19:29:25 CDT 2022

```Hi Hong,

The second option, I want to solve A^T X = B.
The MatMatSolveTranspose() function in petsc.

Lucas
________________________________
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, August 4, 2022 6:02:21 PM
To: Junchao Zhang <junchao.zhang at gmail.com>; Barry Smith <bsmith at petsc.dev>
Cc: petsc-users at mcs.anl.gov <petsc-users at mcs.anl.gov>
Subject: Re: [petsc-users] Question about speed of MatMatSolveTranspose with MUMPS

Caution: This message was sent from outside the University of Manitoba.

Lucas,
Solving
A X = B^T  #MatMatTransposeSolve() -- supported by petsc/mumps interface
or
A^T X = B #MatTransposeMatSolve() -- not supported
which one do you want ?
Hong
________________________________
From: petsc-users <petsc-users-bounces at mcs.anl.gov> on behalf of Junchao Zhang <junchao.zhang at gmail.com>
Sent: Thursday, August 4, 2022 5:21 PM
To: Barry Smith <bsmith at petsc.dev>
Cc: petsc-users at mcs.anl.gov <petsc-users at mcs.anl.gov>
Subject: Re: [petsc-users] Question about speed of MatMatSolveTranspose with MUMPS

It seems yes, from mump manual

ICNTL(9) computes the solution using A or AT

Phase: accessed by the host during the solve phase.

Possible values :

1    : AX = B is solved.

!= 1 : ATX = B is solved.

On Thu, Aug 4, 2022 at 4:20 PM Barry Smith <bsmith at petsc.dev<mailto:bsmith at petsc.dev>> wrote:

Yes, it appears no MUMPS matmatsolvetranspose is wired in. Does MUMPS provide such a function? If so it can be added with a few lines of code.

Barry

On Aug 4, 2022, at 3:55 PM, Lucas Banting <bantingl at myumanitoba.ca<mailto:bantingl at myumanitoba.ca>> wrote:

Hello,

I am using MUMPS to solve a system with multiple right hand sides.
I have noticed that the MatMatSolve function appears to be quite a bit faster than the MatMatSolveTranspose function.
I was trying to look through the petsc source to see where the MatMatSolveTranspose_MUMPS function was but couldn't find it.

Is PETSc just doing MatSolveTranspose_MUMPS for each right hand side when doing MatMatSolveTranspose with MUMPS?
If an accelerated version of MatMatSolveTranspose existed, it would be very useful for my application.

Regards,
Lucas

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20220805/249994fb/attachment.html>
```