|
Ifpack Package Browser (Single Doxygen Collection)
Development
|
Go to the documentation of this file.
43 #ifndef IFPACK_DENSECONTAINER_H
44 #define IFPACK_DENSECONTAINER_H
48 #include "Epetra_SerialDenseMatrix.h"
49 #include "Epetra_SerialDenseSolver.h"
50 #include "Epetra_IntSerialDenseVector.h"
201 for (
int i = 0 ; i <
NumRows_ ; ++i)
214 virtual double&
LHS(
const int i,
const int Vector = 0);
217 virtual double&
RHS(
const int i,
const int Vector = 0);
229 virtual int&
ID(
const int i);
340 virtual std::ostream&
Print(std::ostream& os)
const;
virtual int Extract(const Epetra_RowMatrix &Matrix_in)
Extract the submatrices identified by the ID set int ID().
Ifpack_DenseContainer(const Ifpack_DenseContainer &rhs)
Copy constructor.
int NumRows_
Number of rows in the container.
std::string Label_
Label for this object.
double ComputeFlops_
Flops in Compute().
virtual int Apply()
Apply the matrix to RHS, results are stored in LHS.
virtual int NumVectors() const
Returns the number of vectors in LHS/RHS.
Ifpack_DenseContainer & operator=(const Ifpack_DenseContainer &rhs)
Operator=.
bool IsComputed_
If true, the container has been successfully computed.
virtual std::ostream & Print(std::ostream &os) const
Prints basic information on iostream. This function is used by operator<<.
Epetra_SerialDenseMatrix Matrix_
Dense matrix.
virtual int NumRows() const
Returns the number of rows of the matrix and LHS/RHS.
bool KeepNonFactoredMatrix_
If true, keeps a copy of the non-factored matrix.
virtual int ApplyInverse()
Apply the inverse of the matrix to RHS, results are stored in LHS.
virtual const Epetra_SerialDenseMatrix & Matrix() const
Returns the dense matrix or its factors.
virtual const Epetra_SerialDenseMatrix & NonFactoredMatrix() const
Returns the non-factored dense matrix (only if stored).
virtual const char * Label() const
Returns the label of this container.
virtual double & RHS(const int i, const int Vector=0)
Returns the i-th component of the vector Vector of RHS.
int NumVectors_
Number of vectors in the container.
Ifpack_DenseContainer: a class to define containers for dense matrices.
#define IFPACK_CHK_ERR(ifpack_err)
double ApplyInverseFlops_
Flops in ApplyInverse().
Epetra_SerialDenseMatrix NonFactoredMatrix_
Dense matrix, that contains the non-factored matrix.
Epetra_SerialDenseMatrix LHS_
Dense vector representing the LHS.
virtual const Epetra_IntSerialDenseVector & ID() const
Returns the integer dense vector of IDs.
virtual const Epetra_SerialDenseMatrix & RHS() const
Returns the dense vector containing the RHS.
virtual int SetParameters(Teuchos::ParameterList &List)
Sets all necessary parameters.
virtual int Compute(const Epetra_RowMatrix &Matrix_in)
Finalizes the linear system matrix and prepares for the application of the inverse.
Ifpack_DenseContainer(const int NumRows_in, const int NumVectors_in=1)
Default constructor.
virtual int SetNumVectors(const int NumVectors_in)
Sets the number of vectors for LHS/RHS.
virtual double InitializeFlops() const
Returns the flops in Initialize().
virtual bool IsInitialized() const
Returns true is the container has been successfully initialized.
virtual const Epetra_SerialDenseMatrix & LHS() const
Returns the dense vector containing the LHS.
int Reshape(int NumRows, int NumCols)
Epetra_SerialDenseMatrix RHS_
Dense vector representing the RHS.
virtual bool KeepNonFactoredMatrix() const
Returns KeepNonFactoredMatrix_.
Ifpack_Container: a pure virtual class for creating and solving local linear problems.
Epetra_SerialDenseSolver Solver_
Dense solver (solution will be get using LAPACK).
virtual ~Ifpack_DenseContainer()
Destructor.
bool IsInitialized_
If true, the container has been successfully initialized.
virtual double & LHS(const int i, const int Vector=0)
Returns the i-th component of the vector Vector of LHS.
virtual int SetMatrixElement(const int row, const int col, const double value)
Set the matrix element (row,col) to value.
int SetVectors(Epetra_SerialDenseMatrix &X, Epetra_SerialDenseMatrix &B)
double ApplyFlops_
Flops in Apply().
virtual int & ID(const int i)
Returns the ID associated to local row i.
virtual int SetKeepNonFactoredMatrix(const bool flag)
If flag is true, keeps a copy of the non-factored matrix.
virtual double ApplyInverseFlops() const
Returns the flops in ApplyInverse().
Epetra_IntSerialDenseVector ID_
Sets of local rows.
virtual int Initialize()
Initialize the container.
virtual double ApplyFlops() const
Returns the flops in Apply().
virtual double ComputeFlops() const
Returns the flops in Compute().
virtual bool IsComputed() const
Returns true is the container has been successfully computed.