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.
Is the way to get seqaij just seqaij*seqaij?

Joon

----- 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?

Reply via email to