#include "petscmat.h" PetscErrorCode MatCreateKAIJ(Mat A,PetscInt p,PetscInt q,const PetscScalar S[],const PetscScalar T[],Mat *kaij)[I \otimes S + A \otimes T]
where S is a dense (p \times q) matrix T is a dense (p \times q) matrix A is an AIJ (n \times n) matrix I is the identity matrix The resulting matrix is (np \times nq)
S and T are always stored independently on all processes as PetscScalar arrays in column-major format.
Collective
A | - the AIJ matrix | |
p | - number of rows in S and T | |
q | - number of columns in S and T | |
S | - the S matrix (can be PETSC_NULL), stored as a PetscScalar array (column-major) | |
T | - the T matrix (can be PETSC_NULL), stored as a PetscScalar array (column-major) |