[petsc-dev] MatMult implementation
    Barry Smith 
    bsmith at mcs.anl.gov
       
    Mon Jan 26 07:19:27 CST 2015
    
    
  
> On Jan 26, 2015, at 2:53 AM, Ronal Celaya <ronalcelayavzla at gmail.com> wrote:
> 
> Hello everyone.
> I'm work on CG implementation using PETSc. I know that PETSc has a solver (ksp) but I want to implement it step by step.
> How PETSc implements MatMult multiplication? I mean, where can I find the algorithm used by PETSc to do Matrix-vector multiplication?
   The implementation depends on the data structure used to store the matrix and whether it is parallel or not. There are many of the them:
    The most basic is MatMult_SeqAIJ: located at http://www.mcs.anl.gov/petsc/petsc-current/src/mat/impls/aij/seq/aij.c.html#MatMult_SeqAIJ
for parallel http://www.mcs.anl.gov/petsc/petsc-current/src/mat/impls/aij/mpi/mpiaij.c.html#MatMult_MPIAIJ  The parallel one just does the needed communication and calls the sequential one twice.  See the manual page for http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Mat/MatCreateAIJ.html for a detailed discussion of the storage format of the parallel matrices.
  Barry
> 
> Sorry for my English
> 
> Regards,
> 
> -- 
> Ronal Celaya
    
    
More information about the petsc-dev
mailing list