[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: about MatMatMult()
Yujie,
In general, C=A*B is denser thant A and B.
Thus, sparse matrix product should be avoided.
Petsc sparse MatMatMult() is intended for supporting multigrid
computation MatPtAP() in which,
P is a projector and C=Pt*A*P maintains similar sparse density.
If your C=A*B is dense, you may set A and B in dense format.
In sequential case, petsc calls LAPACK for MatMatMult()
which would be much efficient than sparse implementation.
Hong
On Thu, 1 May 2008, Yujie wrote:
I have further checked this function.
In MatMatMult(Mat A,Mat B,MatReuse scall,PetscReal fill,Mat *C)
I am wondering
why the type of C is MATAIJ when the types of A and B are MATAIJ.
although A and B is MATAIJ, C should be dense. If C uses MATAIJ type,
it should take more memory, is it right?
thanks a lot.
Regards,
Yujie