#include int main(int argc, char **args) { PetscInitialize(&argc,&args,(char*)0,(char*)0); PetscInt ia[3] = { 0, 2, 4}; PetscInt ja[4] = { 0, 1, 0, 1}; PetscScalar c[16] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 }; Mat ssbaij; Mat msbaij; MatCreate(PETSC_COMM_SELF, &ssbaij); MatCreate(PETSC_COMM_SELF, &msbaij); MatSetType(ssbaij, MATSEQSBAIJ); MatSetType(msbaij, MATMPISBAIJ); MatSetBlockSize(ssbaij, 2); MatSetSizes(ssbaij, 4, 4, 4, 4); MatSetBlockSize(msbaij, 2); MatSetSizes(msbaij, 4, 4, 4, 4); MatSeqSBAIJSetPreallocationCSR(ssbaij, 2, ia, ja, c); MatMPISBAIJSetPreallocationCSR(msbaij, 2, ia, ja, c); MatView(ssbaij, PETSC_VIEWER_STDOUT_(PETSC_COMM_SELF)); MatView(msbaij, PETSC_VIEWER_STDOUT_(PETSC_COMM_SELF)); MatDestroy(&ssbaij); MatDestroy(&msbaij); PetscFinalize(); }