Joon : > Dear Jed, > > Hello. I modified my code using MatTranspose and MatMatMult, and it works > well. > BTW, the result of the multiplication of seqaij and seqdense was seqdense. > I thought C should be seqaij when A is seqaij and B is seqdense in C=A*B. >
When B is dense, C=A*B is a dense matrix. Is the way to get seqaij just seqaij*seqaij? > Why do you want store a dense matrix in sparse format? Hong > > ----- Original Message ----- > From: "Joon Hee Choi" <[email protected]> > To: "Jed Brown" <[email protected]> > Cc: [email protected] > Sent: Thursday, September 26, 2013 2:45:38 PM > Subject: Re: [petsc-users] About MatTransposeMatMult > > > Thank you. I think MatMatMult runs well for multiplication between > seqaij and seqdense. > > > Joon > > ----- Original Message ----- > From: "Jed Brown" <[email protected]> > To: "Karl Rupp" <[email protected]>, "Joon Hee Choi" <[email protected]>, > [email protected] > Cc: "Hong Zhang" <[email protected]> > Sent: Thursday, September 26, 2013 11:01:42 AM > Subject: Re: [petsc-users] About MatTransposeMatMult > > >> Karl Rupp <[email protected]> writes: > > >>> Hi, > >>> > >>> I am trying to calculate M = X^T * B. X is a seqaij and B is a > seqdense matrix. > >>> > >>> This is not yet allowed in the latest 3.4. release. > > >> You can explicitly transpose X: > > >> MatTranspose(X,MAT_INITIAL_MATRIX,&Xt); > > >> and then use MatMatMult. > > >>> However, I used MatTransposeMatMult() but I got an error. Can someone > why I got the >>> error and how I should modify my code? I am attaching my > simple code, error message, >>> and result. Thank you very much. > >>> > >>> Do you use the master branch from our Bitbucket repository? It contains > >>> the commit where Hong added the respective functionality: > >>> > https://bitbucket.org/petsc/petsc/commits/8949adfd119cb1d44c9fb5cf3dc01f4b6a02252d > > >> This is only for MPI. Hong, can you expose > MatTransposeMatMult_SeqAIJ_SeqDense? >
