[petsc-users] Doubts related MatCreateDense()

Kaushik Kulkarni kaushikggg at gmail.com
Fri Feb 12 03:10:00 CST 2016


Thanks Barry,
Just one more doubt, does it mean that PETSc divides the global matrix
among various processes bases on the rows, and no "ACTUAL" division of
​columns​
occur
​?​


*Kaushik*
On Fri, Feb 12, 2016 at 2:28 PM, Barry Smith <bsmith at mcs.anl.gov> wrote:

>
> > On Feb 12, 2016, at 1:51 AM, Kaushik Kulkarni <kaushikggg at gmail.com>
> wrote:
> >
> > Hi all,
> >
> > Could you help me with my doubts:
> >
> > Doubt 1: Initially I tried to create a matrix with MatCreateMPIDense();
> I received a compilation error stating that no such function existed.
>
>   The name was changed
> >
> > Doubt 2: So I continued working with MatCreateDense(). And I set the
> global size to 10 cross 10. Now when I called the function
> MatGetLocalSize(A,&localrow,&localcolumn), and ran the code with 2
> processes the values returned were:
> > The local matrix size for the process 1 is 5 cross 5
> > The local matrix size for the process 2 is 5 cross 5
> > How can it be possible that process 1 is only dealing with 25 elements
> and process two is dealing with 25 elements, while the global matrix
> contains 100 elements.
>
>   The local size for columns is slightly mis-leading. For standard PETSc
> matrices such as "Dense" each process stores all the entries for its rows
> of the matrix. The term "local columns" refers to the rows of the vector
> which one can use to do a matrix vector product with the matrix. See the
> users manual for more details on the layout of vectors and matrices in
> PETSc.
>
>   Barry
>
> >
> > Thanks,
> > Kaushik
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20160212/3bdcca53/attachment.html>


More information about the petsc-users mailing list