Actual source code: normalmat.h

      1: #include "src/mat/matimpl.h"
      2: #include "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);