44 #ifndef EPETRA_SERIALDENSEMATRIX_H 
   45 #define EPETRA_SERIALDENSEMATRIX_H 
   47 #if defined(Epetra_SHOW_DEPRECATED_WARNINGS) 
   49 #warning "The Epetra package is deprecated" 
  160                            bool set_object_label=
true);
 
  185   int Shape(
int NumRows, 
int NumCols);
 
  201   int Reshape(
int NumRows, 
int NumCols);
 
  227   int Multiply(
char TransA, 
char TransB, 
double ScalarAB,
 
  238   int Multiply(
bool transA,
 
  264   int Multiply(
char SideA, 
double ScalarAB,
 
  278   int Scale(
double ScalarA);
 
  284   virtual double NormOne() 
const;
 
  287   virtual double NormInf() 
const;
 
  313     { 
return !(*
this == rhs); }
 
  335       double& operator () (
int RowIndex, 
int ColIndex);
 
  347     const double& operator () (
int RowIndex, 
int ColIndex) 
const;
 
  360     double* operator [] (
int ColIndex);
 
  373     const double* operator [] (
int ColIndex) 
const;
 
  385   int M()
 const {
return(M_);};
 
  388   int N()
 const {
return(N_);};
 
  391   double* 
A()
 const {
return(A_);};
 
  394   double* 
A() {
return(A_);};
 
  397   int LDA()
 const {
return(LDA_);};
 
  405   virtual void Print(std::ostream& os) 
const;
 
  416   virtual double OneNorm()
 const {
return(NormOne());};
 
  435     virtual int SetUseTranspose(
bool UseTranspose_in) { UseTranspose_ = UseTranspose_in; 
return (0); }
 
  475     virtual int RowDim()
 const { 
return M(); }
 
  478     virtual int ColDim()
 const { 
return N(); }
 
  483   void CopyMat(
const double* Source, 
int Source_LDA, 
int NumRows, 
int NumCols,
 
  484                double* Target, 
int Target_LDA, 
bool add=
false);
 
  508 #ifdef HAVE_EPETRA_ARRAY_BOUNDS_CHECK 
  509   if (RowIndex >= 
M_ || RowIndex < 0)
 
  512   if (ColIndex >= 
N_ || ColIndex < 0)
 
  516    return(
A_[ColIndex*
LDA_ + RowIndex]);
 
  520 #ifdef HAVE_EPETRA_ARRAY_BOUNDS_CHECK 
  521   if (RowIndex >= 
M_ || RowIndex < 0)
 
  524   if (ColIndex >= 
N_ || ColIndex < 0)
 
  528   return(
A_[ColIndex*
LDA_ + RowIndex]);
 
  532 #ifdef HAVE_EPETRA_ARRAY_BOUNDS_CHECK 
  533   if (ColIndex >= 
N_ || ColIndex < 0)
 
  537   return(
A_ + ColIndex*
LDA_);
 
  541 #ifdef HAVE_EPETRA_ARRAY_BOUNDS_CHECK 
  542   if (ColIndex >= 
N_ || ColIndex < 0)
 
  546   return(
A_+ ColIndex*
LDA_);
 
virtual void Print(std::ostream &os) const 
Print object to an output stream Print method. 
double * operator[](int ColIndex)
Column access function. 
virtual int ColDim() const 
Returns the column dimension of operator. 
virtual int RowDim() const 
Returns the row dimension of operator. 
Epetra_DataAccess CV() const 
Returns the data access mode of the this matrix. 
Epetra_VbrMatrix: A class for the construction and use of real-valued double-precision variable block...
virtual int ApplyInverse(const Epetra_SerialDenseMatrix &X, Epetra_SerialDenseMatrix &Y)
Returns the result of a Epetra_SerialDenseOperator inverse applied to an Epetra_SerialDenseMatrix X i...
Epetra_CompObject & operator=(const Epetra_CompObject &src)
virtual int Apply(const Epetra_SerialDenseMatrix &X, Epetra_SerialDenseMatrix &Y)=0
Returns the result of a Epetra_SerialDenseOperator applied to a Epetra_SerialDenseMatrix X in Y...
Epetra_SerialDenseMatrix: A class for constructing and using real double precision general dense matr...
Epetra_SerialSymDenseMatrix: A class for constructing and using symmetric positive definite dense mat...
double * A() const 
Returns pointer to the this matrix. 
Epetra_BLAS: The Epetra BLAS Wrapper Class. 
virtual const char * Label() const 
Epetra_Object Label access funtion. 
std::string toString(const int &x) const 
double & operator()(int RowIndex, int ColIndex)
Element access function. 
virtual double OneNorm() const 
Computes the 1-Norm of the this matrix (identical to NormOne() method). 
Epetra_Object: The base Epetra class. 
virtual int SetUseTranspose(bool UseTranspose_in)
If set true, transpose of this operator will be applied. 
Epetra_CompObject: Functionality and data that is common to all computational classes. 
virtual double InfNorm() const 
Computes the Infinity-Norm of the this matrix (identical to NormInf() method). 
virtual bool HasNormInf() const 
Returns true if the this object can provide an approximate Inf-norm, false otherwise. 
Epetra_SerialDenseOperator: A pure virtual class for using real-valued double-precision operators...
virtual double NormInf() const =0
Returns the infinity norm of the global matrix. 
int LDA() const 
Returns the leading dimension of the this matrix. 
bool operator!=(const Epetra_SerialDenseMatrix &rhs) const 
Inequality operator. 
virtual const char * Label() const 
Returns a character string describing the operator. 
double * A()
Returns pointer to the this matrix. 
virtual bool UseTranspose() const 
Returns the current UseTranspose setting. 
virtual int ReportError(const std::string Message, int ErrorCode) const 
Error reporting method. 
int N() const 
Returns column dimension of system. 
bool operator==(BigUInt< n > const &a, BigUInt< n > const &b)
int M() const 
Returns row dimension of system.