OK.may I ask , I think Petsc matrix is row -based. That means,?MatGetArray(Mat 
mat,PetscScalar *v[])v[0] is the pointer to the first row. v[0][0] is the value 
of mat[0][0].Am I right?And do you mean that, each time I got a vector, I 
create a sub matrix to store it.Later on, the merging will be a problem.
--- 09?11?30????, Barry Smith <bsmith at mcs.anl.gov> ???

???: Barry Smith <bsmith at mcs.anl.gov>
??: Re: How to fill a matrix with a vector parallelly
???: "PETSc users list" <petsc-users at mcs.anl.gov>
??: 2009?11?30?,??,??11:12


On Nov 29, 2009, at 9:09 PM, ming zhu wrote:

> Thank you for your quick reply.
> Two questions:
> one,? ???how do I know which part belongs to the present processor?

? Call VecGetOwnershipRange() to know what rows of the vector belong to the 
process. Then create the MPIDense matrix with the same number of local rows.

> second, is there any examples for this kind of question?
> 
> Thank you
> 
> --- 09?11?30????, Barry Smith <bsmith at mcs.anl.gov> ???
> 
> ???: Barry Smith <bsmith at mcs.anl.gov>
> ??: Re: How to fill a matrix with a vector parallelly
> ???: "PETSc users list" <petsc-users at mcs.anl.gov>
> ??: 2009?11?30?,??,??9:53
> 
> 
>???Since evenvectors will (almost always) be dense vectors you will want to 
>use a MPIDENSE matrix to store them. So create a MPIDENSE matrix with the same 
>row layout as the eigenvector then on each process use VecGetArray() to access 
>that processes part of the vector and MatGetArray() to access that part of the 
>matrix and copy the values over from the vector array to the matrix array.
> 
>? ? Barry
> 
> On Nov 29, 2009, at 7:41 PM, ming zhu wrote:
> 
> > HI
> > I am trying to solve an eigenvalue problem. A = U * LAMBDA*U'.? While SLEPC 
> > proivdes a solver to get an eigenvector and the related eigenvalue, I have 
> > to fill the eigenvector to form the eigen matrix. However, there seems no 
> > such function to do this directly. I was trying to use VecGetValues and 
> > filled the matrix one by one. Howevevr, it can not do that in parallel.
> >
> >? ? Is there anyone can help me ?
> >
> > Thank you
> >
> >
> > ?????????????????
> 
> 
> ?????????????????




      ___________________________________________________________ 
  ????????????????? 
http://card.mail.cn.yahoo.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
<http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20091130/69f79f91/attachment-0001.htm>

Reply via email to