55 const Teuchos::RCP<const Epetra_BlockMap>& block_map) :
65 const Teuchos::RCP<const Epetra_BlockMap>& block_map,
66 const Teuchos::RCP<const Epetra_BlockMap>& coeff_map,
67 const Teuchos::RCP<const EpetraExt::MultiComm>& product_comm,
78 const Teuchos::RCP<const Epetra_BlockMap>& block_map,
79 const Teuchos::RCP<const Epetra_BlockMap>& coeff_map,
80 const Teuchos::RCP<const Epetra_BlockMap>& product_map,
81 const Teuchos::RCP<const EpetraExt::MultiComm>& product_comm,
93 const Teuchos::RCP<const Epetra_BlockMap>& block_map,
94 const Teuchos::RCP<const Epetra_BlockMap>& coeff_map,
95 const Teuchos::RCP<const Epetra_BlockMap>& product_map,
96 const Teuchos::RCP<const EpetraExt::MultiComm>& product_comm,
129 const Teuchos::RCP<const Epetra_BlockMap>& block_map,
130 const Teuchos::RCP<const Epetra_BlockMap>& coeff_map,
131 const Teuchos::RCP<const EpetraExt::MultiComm>& product_comm,
136 this->basis_ = new_basis;
143 const Teuchos::RCP<const Epetra_BlockMap>& block_map,
144 const Teuchos::RCP<const Epetra_BlockMap>& coeff_map,
145 const Teuchos::RCP<const Epetra_BlockMap>& product_map,
146 const Teuchos::RCP<const EpetraExt::MultiComm>& product_comm,
150 product_comm, num_vectors);
151 this->basis_ = new_basis;
158 int lid = this->map_->LID(0);
159 v.
Scale(1.0, *(this->coeff_[lid]));
166 const Teuchos::Array<double>& nrm2 = this->basis_->norm_squared();
169 for (
int i=1; i<this->size(); i++) {
170 i_gid = this->map_->GID(i);
171 v.
Multiply(nrm2[i_gid], *(this->coeff_[i]), *(this->coeff_[i]), 1.0);
183 v[
j][i] = std::sqrt(v[
j][i]);
int Scale(double ScalarValue)
int Multiply(char TransA, char TransB, double ScalarAB, const Epetra_MultiVector &A, const Epetra_MultiVector &B, double ScalarThis)
int PutScalar(double ScalarConstant)
A container class storing an orthogonal polynomial whose coefficients are vectors,...
void computeStandardDeviation(Epetra_MultiVector &v) const
Compute standard deviation.
EpetraMultiVectorOrthogPoly & operator=(const EpetraMultiVectorOrthogPoly &v)
Assignment.
void computeMean(Epetra_MultiVector &v) const
Compute mean.
virtual ~EpetraMultiVectorOrthogPoly()
Destructor.
void reset(const Teuchos::RCP< const Stokhos::OrthogPolyBasis< int, double > > &basis, const Teuchos::RCP< const Epetra_BlockMap > &block_map, const Teuchos::RCP< const Epetra_BlockMap > &coeff_map, const Teuchos::RCP< const EpetraExt::MultiComm > &product_comm, int num_vectors)
Reset to a new basis.
void computeVariance(Epetra_MultiVector &v) const
Compute variance.
EpetraMultiVectorOrthogPoly()
Constructor with no basis.
Abstract base class for multivariate orthogonal polynomials.
A product (in the mathematical sense) container class whose coefficients are vectors,...
A container class storing products of Epetra_MultiVector's.
ProductEpetraMultiVector & operator=(const ProductEpetraMultiVector &v)
Assignment.
void reset(const Teuchos::RCP< const Epetra_BlockMap > &block_map, const Teuchos::RCP< const Epetra_BlockMap > &coeff_map, const Teuchos::RCP< const EpetraExt::MultiComm > &product_comm, int num_vectors)
Reset to a new size.
A container class storing an orthogonal polynomial whose coefficients are vectors,...
Teuchos::RCP< const Stokhos::OrthogPolyBasis< ordinal_type, value_type > > basis_
Basis.