[petsc-users] MatMatMult with dense matrices.

Hong hzhang at mcs.anl.gov
Sun Apr 5 17:13:42 CDT 2015


James,

My understanding is that
you call MatMatMult in sequential for computing C = A*B, in which
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.

Do you have a stand-alone petsc code to reproduce this so I can investigate
what goes wrong?

Hong

On Sun, Apr 5, 2015 at 3:44 PM, Barry Smith <bsmith at mcs.anl.gov> wrote:

>
>   We would need to see the PETSc side of the code to see if there is
> anything wrong there.
>
> > On Apr 5, 2015, at 3:35 PM, James A Charles <charlesj at purdue.edu> wrote:
> >
> > Hi Hong,
> >
> > 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.
> >
> > Thanks,
> > James
> >
> >
> > ----- Original Message -----
> > From: "Hong" <hzhang at mcs.anl.gov>
> > To: "James A Charles" <charlesj at purdue.edu>
> > Cc: "PETSc users list" <petsc-users at mcs.anl.gov>, dlemus at purdue.edu,
> "Daniel Mejia" <denphi at denphi.com>, "Tillmann Kubis" <tkubis at purdue.edu>
> > Sent: Sunday, April 5, 2015 4:25:39 PM
> > Subject: Re: [petsc-users] MatMatMult with dense matrices.
> >
> >
> >
> >
> > James:
> >
> >
> > 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
> >
> >
> > What is the file type of matmatmult_comparison.mat?
> > How to read it?
> > I need to see how it defers from C.m.
> >
> >
> >
> > 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.
> >
> >
> >
> > It seems both A and B are dense, complex square matrices.
> > Did you call MatMatMult() in sequential or parallel? What matrix format
> did you use?
> >
> >
> > Hong
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20150405/1fdbd507/attachment.html>


More information about the petsc-users mailing list