[petsc-users] creating csr matrix from 3 arrays
Dürrwang, Jürgen
Juergen.Duerrwang at iosb.fraunhofer.de
Fri May 20 07:45:26 CDT 2011
Thanks a lot, without you I would sit for my code until midnight
Von: petsc-users-bounces at mcs.anl.gov [mailto:petsc-users-bounces at mcs.anl.gov] Im Auftrag von Jed Brown
Gesendet: Freitag, 20. Mai 2011 13:33
An: PETSc users list
Betreff: Re: [petsc-users] creating csr matrix from 3 arrays
2011/5/20 Dürrwang, Jürgen <Juergen.Duerrwang at iosb.fraunhofer.de<mailto:Juergen.Duerrwang at iosb.fraunhofer.de>>
MatSetValues(A,n,prow,nz,pcol,pval,INSERT_VALUES);
This function inserts logically dense blocks. You would loop over rows:
for (row=0; row<n; row++) {
PetscInt ncol = prow[row+1] - prow[row];
PetscInt offset = prow[row];
MatSetValues(A,1,&row,ncol,&pcol[offset],&pval[offset],INSERT_VALUES);
}
You should preallocate if at all possible. If your format is exactly as described here and you want the matrix to use your memory, look at:
http://www.mcs.anl.gov/petsc/petsc-as/snapshots/petsc-dev/docs/manualpages/Mat/MatCreateSeqAIJWithArrays.html
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20110520/5d9d5880/attachment.htm>
More information about the petsc-users
mailing list