Stokhos::PCECovarianceOp:: PCECovarianceOp(const Teuchos::RCP<const Epetra_MultiVector>& X_, const Stokhos::OrthogPolyBasis<int,double>& basis) : label("Stokhos::PCECovarianceOp"), X(X_), s(basis.norm_squared()), useTranspose(false), tmp_map(), tmp() { tmp_map = Teuchos::rcp(new Epetra_LocalMap(X->NumVectors(), 0, X->Map().Comm())); }
Stokhos::PCECovarianceOp:: PCECovarianceOp(const Teuchos::RCP<const EpetraExt::BlockVector>& X_bv, const Stokhos::OrthogPolyBasis<int,double>& basis) : label("Stokhos::PCECovarianceOp"), X(), s(basis.norm_squared()), useTranspose(false), tmp_map(), tmp() { const Epetra_BlockMap& base_map = X_bv->GetBaseMap(); int N = base_map.NumMyElements(); int sz = basis.size(); X = Teuchos::rcp(new Epetra_MultiVector(View, base_map, X_bv->Values()+N, N, sz-1)); tmp_map = Teuchos::rcp(new Epetra_LocalMap(X->NumVectors(), 0, X->Map().Comm())); }