[petsc-users] MatSetValues: reorder the values

Hui Zhang mike.hui.zhang at hotmail.com
Sun May 27 03:54:39 CDT 2012


Current MatSetValues is
MatSetValues(Mat mat,PetscInt m,const PetscInt idxm[],PetscInt n,const PetscInt idxn[],const PetscScalar v[],InsertMode addv)
I want something like
MatSetValues(Mat mat,PetscInt m,const PetscInt idxm[],PetscInt n,const PetscInt idxn[],const PetscScalar v[], const PetscInt idxv[], InsertMode addv)
         -----------------------
         add a new parameter

such that the values v[0..m*n] are first reordered to v[idxv[0..m*n]] before set to the mat.
We may first do permutation on v before passing to current MatSetValues.  But won't the 
new function be easier to use? 

In the case that idxm[], idxn[] are obtained from a certain application ordering
but not the ordering of v[], I think I need the new function.
Of course, this new function sounds unnecessary because reordering v is equivalent to reordering 
idxm[] and idxn[].  But the second method seems not an easy task to me, is it?

Thanks!  



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20120527/d1c05462/attachment.html>


More information about the petsc-users mailing list