50 const Teuchos::RCP<const Epetra_MultiVector>& multi_vec_,
51 bool is_multi_vec_transposed_)
52 :
label(
"Epetra MultiVector Operator"),
65 const Teuchos::RCP<Epetra_MultiVector>& multi_vec_,
66 bool is_multi_vec_transposed_)
67 :
label(
"Epetra MultiVector Operator"),
104 TEUCHOS_TEST_FOR_EXCEPTION(ret != 0, std::logic_error,
105 "Error! Stokhos::EpetraMultiVectorOperator: " <<
106 "Result.Multiply() returned " << ret <<
"!");
116 throw "EpetraMultiVectorOperator::ApplyInverse not defined!";
130 tmp2.
Update(1.0, tmp1, 1.0);
143 return const_cast<char*
>(
label.c_str());
int NormInf(double *Result) const
int Abs(const Epetra_MultiVector &A)
int Multiply(char TransA, char TransB, double ScalarAB, const Epetra_MultiVector &A, const Epetra_MultiVector &B, double ScalarThis)
int Update(double ScalarA, const Epetra_MultiVector &A, double ScalarThis)
virtual int ApplyInverse(const Epetra_MultiVector &X, Epetra_MultiVector &Y) const
Returns the result of the inverse of the operator applied to a Epetra_MultiVector Input in Result as ...
bool useTranspose
Flag indicating whether transpose was selected.
std::string label
Label for operator.
virtual bool UseTranspose() const
Returns the current UseTranspose setting.
virtual const Epetra_Comm & Comm() const
Returns a reference to the Epetra_Comm communicator associated with this operator.
virtual const Epetra_Map & OperatorRangeMap() const
Returns the Epetra_Map object associated with the range of this matrix operator.
Teuchos::RCP< const Epetra_MultiVector > multi_vec
Multi-vector.
virtual double NormInf() const
Returns an approximate infinity norm of the operator matrix.
virtual bool HasNormInf() const
Returns true if the this object can provide an approximate Inf-norm, false otherwise.
virtual int SetUseTranspose(bool UseTranspose)
Set to true if the transpose of the operator is requested.
Teuchos::RCP< Epetra_MultiVector > nonconst_multi_vec
Non-const multi-vector.
virtual ~EpetraMultiVectorOperator()
Destructor.
bool is_multi_vec_transposed
Whether the multivector is already transposed.
virtual const Epetra_Map & OperatorDomainMap() const
Returns the Epetra_Map object associated with the domain of this matrix operator.
Teuchos::RCP< Epetra_Map > domain_map
Domain map ( = number of columns of multi_vec)
virtual int Apply(const Epetra_MultiVector &Input, Epetra_MultiVector &Result) const
Returns the result of a Epetra_Operator applied to a Epetra_MultiVector Input in Result as described ...
virtual const char * Label() const
Returns a character string describing the operator.
EpetraMultiVectorOperator(const Teuchos::RCP< const Epetra_MultiVector > &multi_vec, bool is_multi_vec_transposed)
Constructor.