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>

Reply via email to