Gao,
PETSc is mostly designed and implemented for large sparse matrix problems.
We are not really experts for large dense matrix problems. Note that PETSc Seq
dense matrices are just stored using the usual column oriented single array for
the matrix (like Blas 2 and 3) so you can always use MatGetArray() and make
some dense computations yourself directly.
Parallel dense we know very little about and cannot write those routines,
sadly there are no decently supported parallel dense matrix general purpose
libraries out there that we can use (and no Scalapack, plapack and elemental do
not count as decent AND supported) so it is unlikely WE will write the MPIDENSE
versions of these routines. Though if someone else writes them we would be
happy to include them. So basically for parallel dense I have no suggestions.
Barry
On Apr 5, 2012, at 7:42 AM, Gao Bin wrote:
> Hi Jed,
>
> Good to know it is simpler ;-) I am switching to the developed version and
> try it. Again, thank you very much.
>
> P.S., Moreover, I notice that some functions is not for MATMPIDENSE. May I
> ask if they are too difficult to implement (for instance, C=A*B^T and C=A^T*B
> for MATMPIDENSE)? Thank you.
>
> Cheers
>
> Gao
> From: petsc-users-bounces at mcs.anl.gov [petsc-users-bounces at mcs.anl.gov]
> on behalf of Jed Brown [jedbrown at mcs.anl.gov]
> Sent: Thursday, April 05, 2012 2:32 PM
> To: PETSc users list; Hong Zhang
> Subject: Re: [petsc-users] question about MatMatMultTranspose
>
> On Thu, Apr 5, 2012 at 05:16, Gao Bin <bin.gao at uit.no> wrote:
> Thank you for your quick reply. But as pointed out at
> http://www.mcs.anl.gov/petsc/petsc-dev/docs/manualpages/Mat/MatMatTransposeMult.html:
>
> This routine is currently only implemented for pairs of SeqAIJ matrices. C
> will be of type MATSEQAIJ.
>
> Therefore I can not use it for dense matrix, am I right? If so, will
> MatMatTransposeMult be extended for other types of matrix later on? Thank you
> very much.
>
> This is much simpler than the sparse case. Hong, did you intend to get around
> to this?