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
