<div dir="ltr"><div class="gmail_default" style="font-family:courier new,monospace">The name of variable created by MatView using PETSC_VIEWER_ASCII_MATLAB is not the expected one. More clearly, the name of variable is "zzz" no matter what you set by calling PetscObjectSetName. <br><br>The code below reproduces the unexpected behaviour. There, I create a diagonal MATMPIAIJ matrix and I set its name to "A", but the name of created variable in MATLAB's script is "zzz".<br> <br>I also would like to point that there is no need to print the line "zzz = [m n];" once its value will not be used and it will produce an warning at Matlab's editor. So I think it could be removed.<br><br>Note: This strange behaviour doesn't occur with MATSEQAIJ matrices.<br><br></div><div class="gmail_default" style="font-family:courier new,monospace">Cheers,<br>Michael Souza<br></div><div class="gmail_default" style="font-family:courier new,monospace">----------------------------------------------------------<br>int main(int argc, char **args) {<br>    PetscErrorCode ierr;<br>    Mat A;<br>    PetscInt i, N = 3;<br><br>    ierr = PetscInitialize(&argc, &args, (char *) 0, help);CHKERRQ(ierr);<br><br>    // matrix creation and setup<br>    ierr = MatCreate(PETSC_COMM_WORLD, &A);CHKERRQ(ierr);<br>    ierr = MatSetType(A, MATMPIAIJ);CHKERRQ(ierr);<br>    ierr = MatSetSizes(A, PETSC_DECIDE, PETSC_DECIDE, N, N);CHKERRQ(ierr);<br>    ierr = MatSetUp(A);CHKERRQ(ierr);<br>    for (i = 0; i < N; i++) {<br>        ierr = MatSetValue(A, i, i, 1.0, INSERT_VALUES);CHKERRQ(ierr);<br>    }<br>    ierr = MatAssemblyBegin(A, MAT_FINAL_ASSEMBLY);CHKERRQ(ierr);<br>    ierr = MatAssemblyEnd(A, MAT_FINAL_ASSEMBLY);CHKERRQ(ierr);<br><br>    // matlab viewer<br>    ierr = PetscViewerSetFormat(PETSC_VIEWER_STDOUT_WORLD, PETSC_VIEWER_ASCII_MATLAB);CHKERRQ(ierr);<br>    ierr = PetscObjectSetName((PetscObject) A, "A");CHKERRQ(ierr);<br>    ierr = MatView(A, PETSC_VIEWER_STDOUT_WORLD);CHKERRQ(ierr);<br><br>    // free memory<br>    ierr = MatDestroy(&A);CHKERRQ(ierr);<br><br>    ierr = PetscFinalize();CHKERRQ(ierr);<br><br>    return EXIT_SUCCESSSS;<br>}<br>----------------------------------------------------------<br><br></div></div>