xref: /petsc/src/tao/matrix/submatfree.h (revision 7dae84e064f15683b0c1756735f0ad1de62763f6)
1a7e14dcfSSatish Balay 
2a7e14dcfSSatish Balay typedef struct{
3a7e14dcfSSatish Balay 
4a7e14dcfSSatish Balay   Mat A;
5a7e14dcfSSatish Balay   Vec VC; /* Work vector in the column space */
6a7e14dcfSSatish Balay   Vec VR; /* Work vector in the row space */
7a7e14dcfSSatish Balay   IS Rows, Cols;
8a7e14dcfSSatish Balay 
9a7e14dcfSSatish Balay } _p_MatSubMatFreeCtx;
10a7e14dcfSSatish Balay 
11a7e14dcfSSatish Balay typedef  _p_MatSubMatFreeCtx* MatSubMatFreeCtx;
12a7e14dcfSSatish Balay 
13a7e14dcfSSatish Balay PetscErrorCode MatCreateSubMatrixFree(Mat,IS,IS,Mat*);
14a7e14dcfSSatish Balay PetscErrorCode MatSMFResetRowColumn(Mat,IS,IS);
15a7e14dcfSSatish Balay PetscErrorCode MatMult_SMF(Mat,Vec,Vec);
16a7e14dcfSSatish Balay PetscErrorCode MatMultTranspose_SMF(Mat,Vec,Vec);
17a7e14dcfSSatish Balay PetscErrorCode MatDiagonalSet_SMF(Mat,Vec,InsertMode);
18a7e14dcfSSatish Balay PetscErrorCode MatDestroy_SMF(Mat);
19a7e14dcfSSatish Balay PetscErrorCode MatView_SMF(Mat,PetscViewer);
20a7e14dcfSSatish Balay PetscErrorCode MatShift_SMF(Mat,PetscReal);
21a7e14dcfSSatish Balay PetscErrorCode MatDuplicate_SMF(Mat,MatDuplicateOption,Mat*);
22a7e14dcfSSatish Balay PetscErrorCode MatEqual_SMF(Mat,Mat,PetscBool*);
23a7e14dcfSSatish Balay PetscErrorCode MatScale_SMF(Mat,PetscReal);
24*7dae84e0SHong Zhang PetscErrorCode MatCreateSubMatrix_SMF(Mat,IS,IS,MatReuse,Mat *);
25*7dae84e0SHong Zhang PetscErrorCode MatCreateSubMatrices_SMF(Mat,PetscInt,IS*,IS*,MatReuse,Mat**);
26a7e14dcfSSatish Balay PetscErrorCode MatTranspose_SMF(Mat,Mat*);
27a7e14dcfSSatish Balay PetscErrorCode MatGetDiagonal_SMF(Mat,Vec);
28a7e14dcfSSatish Balay PetscErrorCode MatGetColumnVector_SMF(Mat,Vec, PetscInt);
29a7e14dcfSSatish Balay PetscErrorCode MatNorm_SMF(Mat,NormType,PetscReal *);
30a7e14dcfSSatish Balay PetscErrorCode MatGetRowMax_SMF(Mat, Vec);
31a62a097fSLisandro Dalcin PetscErrorCode MatGetRow_SMF(Mat,PetscInt,PetscInt *,const PetscInt **,const PetscScalar **);
32a62a097fSLisandro Dalcin PetscErrorCode MatRestoreRow_SMF(Mat,PetscInt,PetscInt *,const PetscInt **,const PetscScalar **);
33