<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="content-type"
content="text/html; charset=utf-8"></head><body><div dir="ltr"><p><span style="color: rgb(0, 0, 0);">
      Hello,</span></p><p> </p><p> </p><p><span style="color: rgb(0, 0, 0);">I
      intend to compute a parallel Matrix-Vector-Product (via MPI) and
      therefore would like to scatter the entries of the input MPI-Vec v
      to
      a local vector containing all entries relevant to the current
      process. </span></p><p> </p><p><span style="color: rgb(0, 0, 0);">To
        achieve this I tried defining
        a VecScatter, which
        scatters
        from v
        to a sequential Vec
        v_seq (each process has it's own version of v_seq). However,
        storing v_seq (which has one
        entry for each global row, thus
        containing a large amount of
        zero-entries)
        may demand too
        much storage space (in
        comparison to my data-sparse Matrix-Storage-Format).</span></p><p> </p><p><span style="color: rgb(0, 0,
0);">I
        am interested in possibilities to scatter v to a sparse Vec-type
        to avoid storing unnecessary large
        amounts of
        zero-entries. Is there a sparse Vector format in Petsc
        compatible to
        the VecScatter procedure
        or is there another efficient way to compute
        Matrix-Vector-Products
        without usinglarge amounts
        of storage space on each process? 
    </span></p><p> </p><p> </p><p><span style="color: rgb(0, 0, 0);">Best
      Regards</span></p><p><span style="color: rgb(0, 0, 0);">    Hannes
      Brandt</span></p><p><span style="color: rgb(0, 0, 0);"></span></p></div></body></html>