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);