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) :
77 const Teuchos::RCP<const Epetra_BlockMap>& block_map,
78 const Teuchos::RCP<const Epetra_BlockMap>&
coeff_map,
79 const Teuchos::RCP<const Epetra_BlockMap>&
product_map,
80 const Teuchos::RCP<const EpetraExt::MultiComm>&
product_comm) :
90 const Teuchos::RCP<const Epetra_BlockMap>& block_map,
91 const Teuchos::RCP<const Epetra_BlockMap>&
coeff_map,
92 const Teuchos::RCP<const Epetra_BlockMap>&
product_map,
93 const Teuchos::RCP<const EpetraExt::MultiComm>&
product_comm,
126 const Teuchos::RCP<const Epetra_BlockMap>& block_map,
127 const Teuchos::RCP<const Epetra_BlockMap>&
coeff_map,
128 const Teuchos::RCP<const EpetraExt::MultiComm>&
product_comm)
138 const Teuchos::RCP<const Epetra_BlockMap>& block_map,
139 const Teuchos::RCP<const Epetra_BlockMap>&
coeff_map,
140 const Teuchos::RCP<const Epetra_BlockMap>&
product_map,
141 const Teuchos::RCP<const EpetraExt::MultiComm>&
product_comm)
151 if (this->
map_->Comm().NumProc() == 1 || !this->map_->DistributedGlobal()) {
159 this->
map_->RemoteIDList(1, &gid, &root, &lid);
160 if (this->
map_->Comm().MyPID() == root) {
171 bool is_parallel = (this->
map_->Comm().NumProc() > 1) &&
172 this->
map_->DistributedGlobal();
179 const Teuchos::Array<double>& nrm2 = this->
basis_->norm_squared();
182 for (
int i=0; i<this->
size(); i++) {
183 i_gid = this->
map_->GID(i);
203 v[i] = std::sqrt(v[i]);
const Epetra_BlockMap & Map() const
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 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)
Reset to a new basis.
EpetraVectorOrthogPoly & operator=(const EpetraVectorOrthogPoly &v)
Assignment.
EpetraVectorOrthogPoly()
Constructor with no basis.
void computeMean(Epetra_Vector &v) const
Compute mean.
void computeVariance(Epetra_Vector &v) const
Compute variance.
void computeStandardDeviation(Epetra_Vector &v) const
Compute standard deviation.
virtual ~EpetraVectorOrthogPoly()
Destructor.
Abstract base class for multivariate orthogonal polynomials.
A product (in the mathematical sense) container class whose coefficients are vectors,...
Teuchos::Array< Teuchos::RCP< Epetra_Vector > > coeff_
ordinal_type size() const
Teuchos::RCP< const Epetra_BlockMap > map_
Teuchos::RCP< const EpetraExt::MultiComm > product_comm
Product multi-level communicator.
Teuchos::RCP< const Epetra_BlockMap > product_map
Product map of block vector.
ProductEpetraVector()
Default constructor.
Teuchos::RCP< const Epetra_BlockMap > coeff_map
Product map of block vector.
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)
Reset to a new size.
ProductEpetraVector & operator=(const ProductEpetraVector &v)
Assignment.
Teuchos::RCP< const Stokhos::OrthogPolyBasis< ordinal_type, value_type > > basis() const
Teuchos::RCP< const Stokhos::OrthogPolyBasis< ordinal_type, value_type > > basis_