You can create a dense matrix and use VecPlaceArray() to take a column out of 
the matrix as a vector. For example,

MatCreateDense()
MatDenseGetColumn(A,0,col)
VecPlaceArray(v,col)

… // fill in the vector with values

VecResetArray(v)
MatDenseRestoreColumn(A,&col)

Hong (Mr.)

> On Feb 17, 2020, at 2:35 AM, Eda Oktay <[email protected]> wrote:
> 
> Hello all,
> 
> I am trying to form a matrix whose columns are eigenvectors I have calculated 
> before U = [v1,v2,v3]. Is there any easy way of forming this matrix? My 
> matrix should be parallel and I have created vectors as below, where nev i s 
> the number of requested eigenvalues. So each V[i] represents an eigenvector 
> and I should form a matrix by using V.
> 
> Vec *V;
>   VecDuplicateVecs(vr,nev,&V); 
>   for (i=0; i<nev;i++){
>   ierr = EPSGetEigenpair(eps,i,&kr,NULL,V[i],NULL);  
>   }
> 
> Thanks!
> 
> Eda

Reply via email to