Alexander: Thanks for sending matrix data and testing code. Before testing it, I have question about your code:
> > MatCreateMPIAIJ(PETSC_COMM_WORLD, PETSC_DECIDE, PETSC_DECIDE, N, M, 12, > PETSC_NULL, 12, PETSC_NULL, &AT); > > MatTranspose(A,MAT_IGNORE_MATRIX,&AT); > should be replaced with MatTranspose(A,MAT_INITIAL_MATRIX,&AT); > > To compare results I use following Matlab script: > > Cm = A.'*B; > ^ Do you mean 'Cm = A'*B;'? 'Cm = A.'*B;' gives component-wise matrix product, not matrix product. Hong > C = PetscBinaryRead('C.dat','complex',true); > > Matrix C is different depending on number of cores I use. > My PETSc is: > Using Petsc Development HG revision: > 876c894d95f4fa6561d0a91310ca914592527960 HG Date: Tue Jan 10 19:27:14 2012 > +0100 > > > On 06.02.2012 17:13, Hong Zhang wrote: > > MatMatMult() in petsc is not well-tested for complex - could be buggy. > Can you send us the matrices A and B in petsc binary format for > investigation? > > Hong > > On Mon, Feb 6, 2012 at 5:55 AM, Alexander Grayver <agrayver at gfz-potsdam.de > > wrote: > >> Dear PETSc team, >> >> I try to use: >> call >> MatMatMult(A,B,MAT_INITIAL_MATRIX,PETSC_DEFAULT_DOUBLE_PRECISION,C,ierr);CHKERRQ(ierr) >> >> Where both A and B are rectangular, but A is sparse and B is dense. Both >> are double complex and distributed. >> The product PETSc gives me contains some errors in some part of the >> matrix. >> I output A, B and C then computed product in matlab. >> >> Attached you see figure plotted as: >> imagesc(log10(abs(C-Cm))) >> >> Where Cm -- product computed in matlab. >> >> The pattern and amplitude vary depending on the number of cores I use. >> This picture is obtained for 48 cores (I've tried 12, 64 cores as well). >> >> Where should I look for possible explanation? >> >> -- >> Regards, >> Alexander >> > > > > -- > Regards, > Alexander > > -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20120207/9082ffb6/attachment.html>