static char help[] = "Tests MatOption MAT_FORCE_DIAGONAL_ENTRIES.\n\n"; #include int main(int argc,char **args) { Mat A,B; Vec diag; PetscInt i,n = 10,col[3],test; PetscScalar v[3]; PetscCall(PetscInitialize(&argc,&args,(char*)0,help)); PetscCall(PetscOptionsGetInt(NULL,NULL,"-n",&n,NULL)); /* Create A which has empty 0-th row and column */ PetscCall(MatCreate(PETSC_COMM_WORLD,&A)); PetscCall(MatSetSizes(A,PETSC_DECIDE,PETSC_DECIDE,n,n)); PetscCall(MatSetType(A,MATAIJ)); PetscCall(MatSetFromOptions(A)); PetscCall(MatSetUp(A)); v[0] = -1.; v[1] = 2.; v[2] = -1.; for (i=2; i