[petsc-users] MatMatMult size error

Jim Fonseca jefonseca at gmail.com
Tue Jan 15 11:54:23 CST 2013


Hi,
We are in the process of upgrading from Petsc 3.2 to 3.3p5.

We are creating  matrices A and B in this way.
      petsc_matrix = new Mat;
      ierr = MatCreateDense(comm, m, num_cols ,num_rows,num_cols,data,A);

Elsewhere, we have this. It gets called a few times, and on the 4th time,
the size of matrix is C is wrong. Please see the output below. What could
be the problem?
     C = new Mat;
     double fill = PETSC_DEFAULT;
     MatMatMult(A,B,MAT_INITIAL_MATRIX, fill, C);
     {
       int m,n;
       MatGetOwnershipRange(A, &m, &n);
       cerr << "A.m = " <<  m << "\n";
       cerr << "A.n = " <<  n << "\n";
       MatGetSize(A,&m,&n);
       cerr << "A global rows = " <<  m << "\n";
       cerr << "A global cols = " <<  n << "\n";

       MatGetOwnershipRange(B, &m, &n);
       cerr << "B.m = " <<  m << "\n";
       cerr << "B.n = " <<  n << "\n";
       MatGetSize(B,&m,&n);
       cerr << "B global rows = " <<  m << "\n";
       cerr << "B global cols = " <<  n << "\n";

       MatGetOwnershipRange(*C, &m, &n);
       cerr << "C.m = " <<  m << "\n";
       cerr << "C.n = " <<  n << "\n";

       MatGetSize(*C,&m,&n);
       cerr << "C global rows = " <<  m << "\n";
       cerr << "C global cols = " <<  n << "\n";

     }

A.m = 0
A.n = 59
A global rows = 59
A global cols = 320
B.m = 0
B.n = 320
B global rows = 320
B global cols = 320
C.m = 0
C.n = 59
C global rows = 59
C global cols = 320
A.m = 0
A.n = 59
A global rows = 59
A global cols = 320
B.m = 0
B.n = 320
B global rows = 320
B global cols = 59
C.m = 10922
C.n = -1389327096
C global rows = -1389327112
C global cols = -1389327112


Thanks,
Jim
-- 
Jim Fonseca, PhD
Research Scientist
Network for Computational Nanotechnology
Purdue University
765-496-6495
www.jimfonseca.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20130115/0ff06e7e/attachment.html>


More information about the petsc-users mailing list