<div>Hi,</div>We are in the process of upgrading from Petsc 3.2 to 3.3p5.<div><br></div><div>We are creating  matrices A and B in this way.<br><div><font face="courier new, monospace">      petsc_matrix = new Mat;</font></div>

<div><font face="courier new, monospace">      ierr = MatCreateDense(comm, m, num_cols ,num_rows,num_cols,data,A);<br clear="all"></font><div><br></div><div>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?</div>

<div><div><font face="courier new, monospace">     C = new Mat;</font></div>

<div><font face="courier new, monospace">     double fill = PETSC_DEFAULT;</font></div></div><div><div><font face="courier new, monospace">     MatMatMult(A,B,MAT_INITIAL_MATRIX, fill, C);</font></div><div><font face="courier new, monospace">     {</font></div>

<div><div><font face="courier new, monospace">       int m,n;</font></div><div><font face="courier new, monospace">       MatGetOwnershipRange(A, &m, &n);</font></div>
<div><font face="courier new, monospace">       cerr << "A.m = " <<  m << "\n";</font></div><div><font face="courier new, monospace">       cerr << "A.n = " <<  n << "\n";</font></div>

<div><font face="courier new, monospace">       MatGetSize(A,&m,&n);</font></div>
<div><font face="courier new, monospace">       cerr << "A global rows = " <<  m << "\n";</font></div><div><font face="courier new, monospace">       cerr << "A global cols = " <<  n << "\n";</font></div>

<div><font face="courier new, monospace"><br></font></div><div><font face="courier new, monospace">       MatGetOwnershipRange(B, &m, &n);</font></div>
<div><font face="courier new, monospace">       cerr << "B.m = " <<  m << "\n";</font></div><div><font face="courier new, monospace">       cerr << "B.n = " <<  n << "\n";</font></div>

<div><font face="courier new, monospace">       MatGetSize(B,&m,&n);</font></div>
<div><font face="courier new, monospace">       cerr << "B global rows = " <<  m << "\n";</font></div><div><font face="courier new, monospace">       cerr << "B global cols = " <<  n << "\n";</font></div>

<div><font face="courier new, monospace"><br></font></div><div><font face="courier new, monospace">       MatGetOwnershipRange(*C, &m, &n);</font></div>
<div><font face="courier new, monospace">       cerr << "C.m = " <<  m << "\n";</font></div><div><font face="courier new, monospace">       cerr << "C.n = " <<  n << "\n";</font></div>

<div><font face="courier new, monospace"><br></font></div><div><font face="courier new, monospace">       MatGetSize(*C,&m,&n);</font></div>
<div><font face="courier new, monospace">       cerr << "C global rows = " <<  m << "\n";</font></div><div><font face="courier new, monospace">       cerr << "C global cols = " <<  n << "\n";</font></div>

</div><div><font face="courier new, monospace"><br></font></div><div><font face="courier new, monospace">     }</font></div>

</div><div><font face="courier new, monospace"><br></font></div><div><div><font face="courier new, monospace">A.m = 0</font></div><div><font face="courier new, monospace">A.n = 59</font></div><div><font face="courier new, monospace">A global rows = 59</font></div>

<div><font face="courier new, monospace">A global cols = 320</font></div><div><font face="courier new, monospace">B.m = 0</font></div><div><font face="courier new, monospace">B.n = 320</font></div><div><font face="courier new, monospace">B global rows = 320</font></div>

<div><font face="courier new, monospace">B global cols = 320</font></div>
<div><font face="courier new, monospace">C.m = 0</font></div><div><font face="courier new, monospace">C.n = 59</font></div><div><font face="courier new, monospace">C global rows = 59</font></div><div><font face="courier new, monospace">C global cols = 320</font></div>

<div><font face="courier new, monospace">A.m = 0</font></div><div><font face="courier new, monospace">A.n = 59</font></div><div><font face="courier new, monospace">A global rows = 59</font></div><div><font face="courier new, monospace">A global cols = 320</font></div>

<div><font face="courier new, monospace">B.m = 0</font></div><div><font face="courier new, monospace">B.n = 320</font></div>
<div><font face="courier new, monospace">B global rows = 320</font></div><div><font face="courier new, monospace">B global cols = 59</font></div><div><font face="courier new, monospace">C.m = 10922</font></div><div><font face="courier new, monospace">C.n = -1389327096</font></div>

<div><font face="courier new, monospace">C global rows = -1389327112</font></div><div><font face="courier new, monospace">C global cols = -1389327112</font></div></div><div><br></div><div><br></div><div>Thanks,</div><div>

Jim</div><div><div>-- </div>
</div>Jim Fonseca, PhD<div>
Research Scientist</div><div>Network for Computational Nanotechnology</div><div>Purdue University</div><div><a href="tel:765-496-6495" value="+17654966495" target="_blank">765-496-6495</a><br><div><a href="http://www.jimfonseca.com" target="_blank">www.jimfonseca.com</a></div>


<div><br><div>
<br></div></div></div>
</div>
</div>