It seems to me the problem here is a historic accident: Originally MatMatMultTraspose did just what Stefano (and, a perhaps outdated, webpage) says: A^T*B. Then MatMatTransposeMult was introduced to do that, and MatMatMultTranspose was repurposed to do A*B^T. That's the state that Stefano's petsc-dev is probably in -- already inconsistent with that old webpage, but before the final renaming of the subroutines.
Dmitry. On Wed, Nov 9, 2011 at 8:42 AM, Jed Brown <jedbrown at mcs.anl.gov> wrote: > On Wed, Nov 9, 2011 at 08:12, Stefano Zampini <stefano.zampini at > gmail.com>wrote: >> >> 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. > > > 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(). > > http://lists.mcs.anl.gov/pipermail/petsc-dev/2011-November/006213.html > > Hong, please update src/docs/website/documentation/changes/dev.html when > you make API changes. > -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20111109/fd993bb5/attachment.html>