18   : label(
"Stokhos::PCECovarianceOp"),
 
   20     s(X_poly.basis()->norm_squared()),
 
   26   int sz = X_poly.
size();
 
   29   for (
int i=0; i<sz-1; i++)
 
   30     (*XX)(i)->Scale(1.0, X_poly[i+1]);
 
   39   : label(
"Stokhos::PCECovarianceOp"),
 
   41     s(basis.norm_squared()),
 
   48   int sz = basis.
size();
 
   58   : label(
"Stokhos::PCECovarianceOp"),
 
   60     s(basis.norm_squared()),
 
   76   useTranspose = UseTheTranspose;
 
   85   int m = Input.NumVectors();
 
   90   tmp->Multiply(
'T', 
'N', 1.0, *X, Input, 0.0);
 
   93   for (
int j=0; 
j<m; 
j++)
 
   94     for (
int i=0; i<X->NumVectors(); i++)
 
   95       (*tmp)[
j][i] *= s[i+1];
 
   98   Result.Multiply(
'N', 
'N', 1.0, *X, *tmp, 0.0);
 
  107   throw "PCECovarianceOp::ApplyInverse not defined!";
 
  121   return const_cast<char*
>(label.c_str());
 
  139   return X->Map().Comm();
 
  144   return dynamic_cast<const Epetra_Map&
>(X->Map());
 
  150   return dynamic_cast<const Epetra_Map&
>(X->Map());
 
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 Epetra_Map & OperatorRangeMap() const 
Returns the Epetra_Map object associated with the range of this matrix operator. 
virtual double NormInf() const 
Returns an approximate infinity norm of the operator matrix. 
virtual const Epetra_Comm & Comm() const 
Returns a reference to the Epetra_Comm communicator associated with this operator. 
virtual bool UseTranspose() const 
Returns the current UseTranspose setting. 
PCECovarianceOp(const Stokhos::VectorOrthogPoly< Epetra_Vector > &X_poly)
Constructor with polynomial X. 
int NumMyElements() const 
TEUCHOS_DEPRECATED RCP< T > rcp(T *p, Dealloc_T dealloc, bool owns_mem)
virtual const Epetra_BlockMap & Map() const =0
virtual ~PCECovarianceOp()
Destructor. 
virtual bool HasNormInf() const 
Returns true if the this object can provide an approximate Inf-norm, false otherwise. 
const Epetra_Comm & Comm() const 
Teuchos::RCP< const Epetra_MultiVector > X
Multivector X defining A = X*S*X^T. 
const Epetra_BlockMap & CoeffMap() const 
Returns PCE coefficient map. 
Teuchos::RCP< Epetra_Map > tmp_map
Map needed for temporary vector. 
ordinal_type size() const 
Return size. 
virtual const Epetra_Map & OperatorDomainMap() const 
Returns the Epetra_Map object associated with the domain of this matrix operator. ...
virtual ordinal_type size() const =0
Return total size of basis. 
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 ...
virtual const char * Label() const 
Returns a character std::string describing the operator. 
virtual int SetUseTranspose(bool UseTranspose)
Set to true if the transpose of the operator is requested.