41#ifndef EPETRAEXT_MATRIXMATRIX_H 
   42#define EPETRAEXT_MATRIXMATRIX_H 
   44#if defined(EpetraExt_SHOW_DEPRECATED_WARNINGS) 
   46#warning "The EpetraExt package is deprecated" 
   61  class CrsMatrixStruct;
 
  112                        bool call_FillComplete_on_result=
true,
 
  113      bool keep_all_hard_zeros=
false);
 
  191    static int Jacobi(
double omega,
 
  196          bool call_FillComplete_on_result=
true);
 
  199    template<
typename int_type>
 
  205     bool call_FillComplete_on_result,
 
  206     bool keep_all_hard_zeros);
 
  213     bool call_FillComplete_on_result,
 
  214     bool keep_all_hard_zeros);
 
  216    template<
typename int_type>
 
  220            bool keep_all_hard_zeros);
 
  225           bool keep_all_hard_zeros);
 
  227    template<
typename int_type>
 
  233      bool call_FillComplete_on_result,
 
  234      bool keep_all_hard_zeros);
 
  236    template<
typename int_type>
 
  243    template<
typename int_type>
 
  252    template<
typename int_type>
 
  253    static int Tjacobi_A_B(
double omega,
 
  260         bool call_FillComplete_on_result);
 
  262    static int jacobi_A_B(
double omega,
 
  269        bool call_FillComplete_on_result);
 
  271    template<
typename int_type>
 
  272    static int TJacobi(
double omega,
 
  277           bool call_FillComplete_on_result);
 
 
  288 template<
typename int_type>
 
  289 double sparsedot(
double* u, int_type* u_ind, 
int u_len,
 
  290      double* v, int_type* v_ind, 
int v_len);
 
Collection of matrix-matrix operations.
 
static int Jacobi(double omega, const Epetra_Vector &Dinv, const Epetra_CrsMatrix &A, const Epetra_CrsMatrix &B, Epetra_CrsMatrix &C, bool call_FillComplete_on_result=true)
Given Epetra_CrsMatrix objects A, B and C, and Epetra_Vector Dinv, form the product C = (I-omega * Di...
 
static int Multiply(const Epetra_CrsMatrix &A, bool transposeA, const Epetra_CrsMatrix &B, bool transposeB, Epetra_CrsMatrix &C, bool call_FillComplete_on_result=true, bool keep_all_hard_zeros=false)
Given Epetra_CrsMatrix objects A, B and C, form the product C = A*B.
 
virtual ~MatrixMatrix()
destructor
 
EpetraExt::BlockCrsMatrix: A class for constructing a distributed block matrix.
 
double sparsedot(double *u, int_type *u_ind, int u_len, double *v, int_type *v_ind, int v_len)
Method for internal use... sparsedot forms a dot-product between two sparsely-populated 'vectors'.