<div dir="ltr"><span style="color:rgb(80,0,80)">James,</span><div><font color="#500050"><br></font><div><font color="#500050">My understanding is that</font></div><div><font color="#500050">you call MatMatMult in sequential for computing C = A*B, in which </font></div><div><font color="#500050">A is in aij format, and B is dense, and the product C is dense, but gives different values than what you got from Matlab.</font></div><div><font color="#500050"><br></font></div><div><font color="#500050">Do you have a stand-alone petsc code to reproduce this so I can investigate what goes wrong?</font></div><div><font color="#500050"><br></font></div><div><font color="#500050">Hong<br></font><div class="gmail_extra"><br><div class="gmail_quote">On Sun, Apr 5, 2015 at 3:44 PM, Barry Smith <span dir="ltr"><<a href="mailto:bsmith@mcs.anl.gov" target="_blank">bsmith@mcs.anl.gov</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><br>
  We would need to see the PETSc side of the code to see if there is anything wrong there.<br>
<div class=""><div class="h5"><br>
> On Apr 5, 2015, at 3:35 PM, James A Charles <<a href="mailto:charlesj@purdue.edu">charlesj@purdue.edu</a>> wrote:<br>
><br>
> Hi Hong,<br>
><br>
> You can open up matmatmult_comparison.mat in MATLAB ( load matmatmult_comparison.mat ). That .mat contains A, B, C, and C_MATLAB. I called matmatmult in sequential. We use AIJ when A2 was sparse but at the time of this multiplication everything was dense.<br>
><br>
> Thanks,<br>
> James<br>
><br>
><br>
> ----- Original Message -----<br>
> From: "Hong" <<a href="mailto:hzhang@mcs.anl.gov">hzhang@mcs.anl.gov</a>><br>
> To: "James A Charles" <<a href="mailto:charlesj@purdue.edu">charlesj@purdue.edu</a>><br>
> Cc: "PETSc users list" <<a href="mailto:petsc-users@mcs.anl.gov">petsc-users@mcs.anl.gov</a>>, <a href="mailto:dlemus@purdue.edu">dlemus@purdue.edu</a>, "Daniel Mejia" <<a href="mailto:denphi@denphi.com">denphi@denphi.com</a>>, "Tillmann Kubis" <<a href="mailto:tkubis@purdue.edu">tkubis@purdue.edu</a>><br>
> Sent: Sunday, April 5, 2015 4:25:39 PM<br>
> Subject: Re: [petsc-users] MatMatMult with dense matrices.<br>
><br>
><br>
><br>
><br>
> James:<br>
><br>
><br>
> I'm multiplying two dense matrices. I compared the results against MATLAB and I am getting different results. Attached you will see a zip that contains a .mat file that has the A, B, and C. C_MATLAB is the multiplication of A*B in MATLAB and C is the PETSc 3.4.3 result. I also attached the .m files A, B, and C that were saved from PETSc. Is there something I'm doing wrong or<br>
><br>
><br>
> What is the file type of matmatmult_comparison.mat?<br>
> How to read it?<br>
> I need to see how it defers from C.m.<br>
><br>
><br>
><br>
> any reason due to the shape of the matrices that this would fail? If it gives any more information we convert the previous matrix that A is formed of A2 (A = A1*A2) to dense prior to the multiplication using MatConvert.<br>
><br>
><br>
><br>
> It seems both A and B are dense, complex square matrices.<br>
> Did you call MatMatMult() in sequential or parallel? What matrix format did you use?<br>
><br>
><br>
> Hong<br>
<br>
</div></div></blockquote></div><br></div></div></div></div>