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.