Thank you. Using MatMatTransposeMult the code works.<br><br>You said this accident is historic, but I encountered no problems with MatMatMultTranspose using previous PETSc versions (e.g 2.x, 3.0 and 3.1).<br>Weird, but maybe it's related to some properties of symmetric matrices with which I used to work, and the fact the now I compiled petsc-dev with errorchecking=1.<br>
<br>Again, thank you for the fast answer.<br>Stefano<br><br><div class="gmail_quote">2011/11/9 Dmitry Karpeev <span dir="ltr"><<a href="mailto:karpeev@mcs.anl.gov">karpeev@mcs.anl.gov</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
It seems to me the problem here is a historic accident:<div>Originally MatMatMultTraspose did just what Stefano (and, a perhaps outdated, webpage) says: A^T*B.</div><div>Then MatMatTransposeMult was introduced to do that, and MatMatMultTranspose was repurposed to do A*B^T.</div>
<div>That's the state that Stefano's petsc-dev is probably in -- already inconsistent with that old webpage, but before</div><div>the final renaming of the subroutines. </div><div><br></div><div>Dmitry.<br><br><div class="gmail_quote">
On Wed, Nov 9, 2011 at 8:42 AM, Jed Brown <span dir="ltr"><<a href="mailto:jedbrown@mcs.anl.gov" target="_blank">jedbrown@mcs.anl.gov</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="gmail_quote"><div class="im"><div>On Wed, Nov 9, 2011 at 08:12, Stefano Zampini <span dir="ltr"><<a href="mailto:stefano.zampini@gmail.com" target="_blank">stefano.zampini@gmail.com</a>></span> wrote: <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I had some problems using MatMatMultTranspose for SeqAIJ matrices. It seems to me that MatMatMultTranspose(A,B,...,MAT_INITIAL_MATRIX,&C), which should perform C=A^T*B according to the web pages, doesn't its job.</blockquote>
<div><br></div></div></div><div>petsc-dev has several new MatMatMult routines, so we had to rename some of these functions for consistency. The function you name does not exist any more, it is replaced by MatTransposeMatMult(), and there is a new MatMatTransposeMult().</div>
<div><br></div><div><a href="http://lists.mcs.anl.gov/pipermail/petsc-dev/2011-November/006213.html" target="_blank">http://lists.mcs.anl.gov/pipermail/petsc-dev/2011-November/006213.html</a></div><div><br></div><div>Hong, please update src/docs/website/documentation/changes/dev.html when you make API changes.</div>
</div>
</blockquote></div><br></div>
</blockquote></div><br><br clear="all"><br>-- <br>Stefano<br>