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
>
>
> ?????????????????