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">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">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>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>