[petsc-users] question about MatMatMultTranspose

Gao Bin bin.gao at uit.no
Thu Apr 5 10:09:35 CDT 2012


Hi Hong,

Thank you! From Barry's email, I have learned that PETSc aims at sparse matrix. Therefore, I may consider using MatGetArray() for further parallel calculations, or using Elemental/PLAPACK for dense matrix calculations. I notice PETSc could use PLAPACK, but if I understand correctly, that has only been implemented for LU, Cholesky decomposition, not matrix-matrix multiplications (although it looks to be simple).

As regards my question, I am sorry that I need

C_seqdense = A_seqdense*B_seqdense^T
C_seqdense = A_seqdense^T*B_seqdense

for the time being, not aij format.

Cheers

Gao
________________________________
From: Hong Zhang [hzhang at mcs.anl.gov]
Sent: Thursday, April 05, 2012 4:30 PM
To: Gao Bin
Cc: PETSc users list
Subject: Re: [petsc-users] question about MatMatMultTranspose

Bin :
We do not have plan for supporting parallel (mpiaij format)
C = A*B^T
because sparse inner product is too expensive, and we have parallel C = A^T*B.

For sequential C = A*B^T, currently we only support
C_seqaij = A_seqaij*B_seqaij^T

Do you want
C_seqdense = A_seqaij*B_seqaij^T
or
C_seqdense = A_seqaij*B_seqdense^T?

Hong

Good to know it is simpler ;-) I am switching to the developed version and try it. Again, thank you very much.

P.S., Moreover, I notice that some functions is not for MATMPIDENSE. May I ask if they are too difficult to implement (for instance, C=A*B^T and C=A^T*B for MATMPIDENSE)? Thank you.

Cheers

Gao
________________________________
From: petsc-users-bounces at mcs.anl.gov<mailto:petsc-users-bounces at mcs.anl.gov> [petsc-users-bounces at mcs.anl.gov<mailto:petsc-users-bounces at mcs.anl.gov>] on behalf of Jed Brown [jedbrown at mcs.anl.gov<mailto:jedbrown at mcs.anl.gov>]
Sent: Thursday, April 05, 2012 2:32 PM
To: PETSc users list; Hong Zhang

Subject: Re: [petsc-users] question about MatMatMultTranspose

On Thu, Apr 5, 2012 at 05:16, Gao Bin <bin.gao at uit.no<mailto:bin.gao at uit.no>> wrote:
Thank you for your quick reply. But as pointed out at http://www.mcs.anl.gov/petsc/petsc-dev/docs/manualpages/Mat/MatMatTransposeMult.html:

This routine is currently only implemented for pairs of SeqAIJ matrices. C will be of type MATSEQAIJ.

Therefore I can not use it for dense matrix, am I right? If so, will MatMatTransposeMult be extended for other types of matrix later on? Thank you very much.

This is much simpler than the sparse case. Hong, did you intend to get around to this?

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20120405/d8312793/attachment-0001.htm>


More information about the petsc-users mailing list