Thanks, I copied the dense matrix compose and fixed that line for my code - works well with my tests.
Is there a version number macro defined in petsc? Some kind of #define PETSC_VERSION xx.yy.zzz ? Thanks, Alex Peyser On Monday 08 September 2008 15:01:22 Barry Smith wrote: > Alex, > > This is really a bug, we should consistently using use the > transpose of the given > values (I guess). > > I have pushed a fix for petsc-dev. You can fix your copy of > petsc-2.3.3 by > simply sticking in the code you indicated from MatTranspose_MPIAIJ() > > Barry > > On Sep 4, 2008, at 10:06 PM, Alex Peyser wrote: > > All, > > > > In petsc-2.3.3_p11, when I do a transpose on an MPIAIJ, the > > MatTranspose > > conserves the row distribution pattern of the parent, so a 5x5 matrix > > transposed can still be multiplied by a 5-vector that the parent > > could be > > multiplied by (0-1,2-4 for everyone). However, with an MPIDENSE, I > > get a row > > rearrangement so that mpi process 1,2 now have (0-2, 3-4), which > > leads to > > nonconforming object size errors. > > > > Is this a known bug in MPIDense ? Is there a workaround - some way > > to force > > the matrix arrangement on tranpose for an MPIDense? > > > > I see that in MatTranspose_MPIAIJ, MatSetSizes is called > > with (A->cmap.n, A->rmap.n, N, M), which conserves my layout, > > while in MatTranspose_MPIDense, MatSetSizes is called > > with (PETSC_DECIDE, PETSC_DECIDE, N, M), which then ruins my layout. > > The > > former would appear to me the correct sequence. > > > > Regards, > > Alex Peyser
