> On Jan 29, 2018, at 3:18 AM, Ali Berk Kahraman
> wrote:
>
> Yes, that is exactly what I am trying to do.
>
> In the documentation it says that MatGetRow cannot be used to alter the
> entries, it is only for examining them. So if I understand correctly, do you
>
Yes, that is exactly what I am trying to do.
In the documentation it says that MatGetRow cannot be used to alter the
entries, it is only for examining them. So if I understand correctly, do
you suggest:
1:MatGetRow, get the row
2:MatSetValues, set the values
3:Do not call assembly, instead
From your code it looks like you are accessing values in a single row,
changing them and then putting them back in the same row at the same index
locations?
If this is the case you should use MatGetRow() to process the values, change
the numerical entries in that row as needed and then
In your code there is NO reason to call the MatAssemblyBegin/End where you
do. Just pull it out and call it once. I submit this is the same for any other
code. Please explain enough about your code (or send it) that has to call the
assembly routines a different number of times. You just pull
You are assuming that all processes enter this loop an identical number of
times
for(loop2=ownbegin;loop2