Alexander:<div>Thanks for sending matrix data and testing code.</div><div>Before testing it, I have question about your code: </div><div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#ffffff" text="#000000"><br>
MatCreateMPIAIJ(PETSC_COMM_WORLD, PETSC_DECIDE, PETSC_DECIDE, N,
M, 12, PETSC_NULL, 12, PETSC_NULL, &AT);<br>
<br>
MatTranspose(A,MAT_IGNORE_MATRIX,&AT);<br></div></blockquote><div><br></div><div>should be replaced with</div><div>MatTranspose(A,MAT_INITIAL_MATRIX,&AT);</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#ffffff" text="#000000">
<br>
To compare results I use following Matlab script:<br>
<br>
Cm = A.'*B;<br></div></blockquote><div> ^ </div><div><br></div><div>Do you mean 'Cm = A'*B;'? </div><div>'Cm = A.'*B;' gives component-wise matrix product, not matrix product.</div>
<div><br></div><div>Hong</div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div bgcolor="#ffffff" text="#000000">
C = PetscBinaryRead('C.dat','complex',true);<br>
<br>
Matrix C is different depending on number of cores I use. <br>
My PETSc is:<br>
Using Petsc Development HG revision:
876c894d95f4fa6561d0a91310ca914592527960 HG Date: Tue Jan 10
19:27:14 2012 +0100<div><div class="h5"><br>
<br>
On 06.02.2012 17:13, Hong Zhang wrote:
<blockquote type="cite">MatMatMult() in petsc is not well-tested for complex -
could be buggy.
<div>Can you send us the matrices A and B in petsc binary format
for investigation?</div>
<div><br>
</div>
<div>Hong<br>
<br>
<div class="gmail_quote">On Mon, Feb 6, 2012 at 5:55 AM,
Alexander Grayver <span dir="ltr"><<a href="mailto:agrayver@gfz-potsdam.de" target="_blank">agrayver@gfz-potsdam.de</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Dear PETSc team,<br>
<br>
I try to use:<br>
call MatMatMult(A,B,MAT_INITIAL_MATRIX,PETSC_DEFAULT_DOUBLE_PRECISION,C,ierr);CHKERRQ(ierr)<br>
<br>
Where both A and B are rectangular, but A is sparse and B is
dense. Both are double complex and distributed.<br>
The product PETSc gives me contains some errors in some part
of the matrix.<br>
I output A, B and C then computed product in matlab.<br>
<br>
Attached you see figure plotted as:<br>
imagesc(log10(abs(C-Cm)))<br>
<br>
Where Cm -- product computed in matlab.<br>
<br>
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).<br>
<br>
Where should I look for possible explanation?<span><font color="#888888"><br>
<br>
-- <br>
Regards,<br>
Alexander<br>
</font></span></blockquote>
</div>
<br>
</div>
</blockquote>
<br>
<br>
</div></div><span class="HOEnZb"><font color="#888888"><pre cols="72">--
Regards,
Alexander</pre>
</font></span></div>
</blockquote></div><br></div>