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; PetscErrorCode ierr; PetscScalar v[3]; ierr = PetscInitialize(&argc,&args,(char*)0,help);if (ierr) return ierr; CHKERRQ(PetscOptionsGetInt(NULL,NULL,"-n",&n,NULL)); /* Create A which has empty 0-th row and column */ CHKERRQ(MatCreate(PETSC_COMM_WORLD,&A)); CHKERRQ(MatSetSizes(A,PETSC_DECIDE,PETSC_DECIDE,n,n)); CHKERRQ(MatSetType(A,MATAIJ)); CHKERRQ(MatSetFromOptions(A)); CHKERRQ(MatSetUp(A)); v[0] = -1.; v[1] = 2.; v[2] = -1.; for (i=2; i