<div dir="ltr"><div dir="ltr"><div dir="ltr">Hello,<div><br></div><div>I wrote a code computing element wise absolute value of a matrix. When I run the code sequentially, it works. However, when I try to use it in parallel with the same matrix, I get the following error:</div><div><br></div><div><div>[1]PETSC ERROR: Argument out of range</div><div>[1]PETSC ERROR: Only local rows</div></div><div><br></div><div>The absolute value code is:</div><div><br></div><div><div>ierr = MatGetSize(A,&n,NULL);CHKERRQ(ierr);</div><div>ierr = MatDuplicate(A,MAT_COPY_VALUES,AbsA);CHKERRQ(ierr);</div><div>  </div><div>  for (i=0; i<n; i++) {</div><div>    ierr = MatGetRow(A,i,&nc,&aj,&aa);CHKERRQ(ierr);                               </div><div><br></div><div>    PetscMalloc1(nc,&absaa);</div><div>    for (j=0; j<nc; j++){</div><div>        absaa[j] = fabs(aa[j]);</div><div>    }</div><div>    </div><div>    ierr = MatSetValues(*AbsA,1,&i,nc,aj,absaa,INSERT_VALUES);CHKERRQ(ierr);    </div><div>ierr = MatRestoreRow(A,i,&nc,&aj,&aa);CHKERRQ(ierr);</div><div>  }</div></div><div><br></div><div>I didn't understand how I fix this problem since I am new to PETSc.</div><div><br></div><div>Thanks</div><div><br></div><div>Eda</div></div></div></div>