Actual source code: normalmat.h
1: #include "private/matimpl.h"
2: #include "private/vecimpl.h"
4: typedef struct{
6: Mat A;
7: Vec D1;
8: Vec D2;
9: Vec W;
10: Vec W2;
11: Vec ADADiag;
12: int GotDiag;
14: } _p_TaoMatADACtx;
16: typedef _p_TaoMatADACtx* TaoMatADACtx;
18: int MatCreateADA(Mat,Vec,Vec,Mat*);
19: int MatMult_ADA(Mat,Vec,Vec);
20: int MatMultTranspose_ADA(Mat,Vec,Vec);
21: int MatDiagonalShift_ADA(Vec,Mat);
22: int MatDestroy_ADA(Mat);
23: int MatView_ADA(Mat,PetscViewer);
24: int MatShift_ADA(Mat,PetscScalar);
25: int MatDuplicate_ADA(Mat,MatDuplicateOption,Mat*);
26: int MatEqual_ADA(Mat,Mat,PetscTruth*);
27: int MatScale_ADA(Mat,PetscScalar);
28: int MatGetSubMatrix_ADA(Mat,IS,IS,int,MatReuse,Mat *);
29: int MatGetSubMatrices_ADA(Mat,int,IS*,IS*,MatReuse,Mat**);
30: int MatTranspose_ADA(Mat,Mat*);
31: int MatGetDiagonal_ADA(Mat,Vec);
32: int MatGetColumnVector_ADA(Mat,Vec, int);
33: int MatNorm_ADA(Mat,NormType,PetscReal *);
34: int MatADAComputeDiagonal(Mat);