Dear Sir/Madam, I am very new to PETSC and I have some issues running my code. I want to create a global M*1 matrix (not a vector since I want to multiply this matrix with an other 1*M matrix and get a M*M matrix and I know that transpose function on vectors does not work so this is why I need to have a M*1 matrix)
I have used the below function and it works well for a M*M matrix call MatCreateMPIBAIJ (PETSC_COMM_WORLD,6,6*numpn,6*numpn, & PETSC_DETERMINE, PETSC_DETERMINE, & PETSC_NULL_INTEGER, mr(np(246)), & PETSC_NULL_INTEGER, mr(np(247)), & matdummy2, ierr) I am trying to change it accordingly for the M*1 matrix So I use the following function call MatCreateMPIBAIJ (PETSC_COMM_WORLD,alpha,m,n, & PETSC_DETERMINE, PETSC_DETERMINE, & PETSC_NULL_INTEGER, mr(np(246)), & PETSC_NULL_INTEGER, mr(np(247)), & mvecdummy1, ierr) defining the following parameters respectively: alpha=number of degrees of freedom per node=1 m=each processor number of rows=6*numpn n=local number of columns=1 I think PETSC_DETERMINE represents the global number of rows and columns respectively. I think PETSC_NULL_INTEGER represents the number of nonzero terms in rows in the diagonal matrix and off diagonal matrix respectively and mr(np(246), mr(np(247) show the nnz terms in columns of diagonal and off diagonal matrices. mvecdummy1=the name of the matrix ierr is just an error compliment in the subroutine. The errors that I am getting are d_nnz can not be less than 0 o_nnz can not be less than -1 Please guide me through this issue. Thanks alot, -Reza