MatTranspose
    Satish Balay 
    balay at mcs.anl.gov
       
    Tue Apr  8 08:52:06 CDT 2008
    
    
  
On Tue, 8 Apr 2008, Matthew Knepley wrote:
> On Tue, Apr 8, 2008 at 5:40 AM, Toby D. Young <tyoung at ippt.gov.pl> wrote:
> >
> >
> >  Hello all.
> >
> >  I confused about the statement on MatTranspose() on the manual pages at
> >
> >  http://www-unix.mcs.anl.gov/petsc/petsc-as/snapshots/petsc-current/docs/manualpages/Mat/MatTranspose.html
> >
> >  where for
> >
> >  #include "petscmat.h"
> >  PetscErrorCode  MatTranspose(Mat mat,Mat *B)
> >
> >  is the statement:
> >
> >  Notes
> >  If you pass in PETSC_NULL for B an in-place transpose in mat will be
> >  done
> >
> >  Does this mean that if I pass PETSC_NULL then the matrix "A" will be
> >  returned as its own transpose? Does this save memory if I do not need
> 
> Yes.
> 
> >  the original matrix and only its transpose? If not, is there an
> 
> Yes.
> 
>    Matt
> 
> >  efficient way to destroy the original matrix, thus keeping the
> >  transpose only?
Jut a note: MatTranspose(A,PETSC_NULL) is *almost* equivalent to:
MatTranspose(A,&B) 
MatDestroy(A)
A=B
So there is temporary increase in memory usage - until the original
matrix is deallocated.
Satish
    
    
More information about the petsc-users
mailing list