47 #include "Teuchos_UnitTestHarness.hpp" 48 #include "Teuchos_TestingHelpers.hpp" 49 #include "Teuchos_UnitTestRepository.hpp" 50 #include "Teuchos_GlobalMPISession.hpp" 59 const double mean = 0.2;
60 const double std_dev = 0.1;
61 Teuchos::Array< Teuchos::RCP<const Stokhos::OneDOrthogPolyBasis<int,double> > > bases(d);
62 for (
int i=0; i<d; i++) {
65 Teuchos::RCP<const Stokhos::CompletePolynomialBasis<int,double> > basis =
69 Teuchos::RCP<const Stokhos::Quadrature<int,double> > quad =
73 Teuchos::RCP<Stokhos::Sparse3Tensor<int,double> > Cijk =
74 basis->computeTripleProductTensor();
82 for (
int i=0; i<d; i++)
83 u.term(i,1) = std_dev / (i+1);
90 for (
int j=0;
j<d;
j++)
91 w_mean += u.term(
j,1)*u.term(
j,1)/2.0;
93 for (
int i=0; i<basis->size(); i++) {
96 for (
int j=0;
j<d;
j++)
98 w[i] = w_mean*s/basis->norm_squared(i);
105 #ifdef HAVE_STOKHOS_DAKOTA 110 const double mean = 0.2;
111 const double std_dev = 0.1;
112 Teuchos::Array< Teuchos::RCP<const Stokhos::OneDOrthogPolyBasis<int,double> > > bases(d);
113 for (
int i=0; i<d; i++) {
116 Teuchos::RCP<const Stokhos::CompletePolynomialBasis<int,double> > basis =
120 Teuchos::RCP<const Stokhos::Quadrature<int,double> > quad =
121 Teuchos::rcp(
new Stokhos::SparseGridQuadrature<int,double>(basis, p));
124 Teuchos::RCP<Stokhos::Sparse3Tensor<int,double> > Cijk =
125 basis->computeTripleProductTensor();
133 for (
int i=0; i<d; i++)
134 u.term(i,1) = std_dev / (i+1);
140 double w_mean = mean;
141 for (
int j=0;
j<d;
j++)
142 w_mean += u.term(
j,1)*u.term(
j,1)/2.0;
144 for (
int i=0; i<basis->size(); i++) {
147 for (
int j=0;
j<d;
j++)
149 w[i] = w_mean*s/basis->norm_squared(i);
158 Teuchos::GlobalMPISession mpiSession(&argc, &
argv);
159 return Teuchos::UnitTestRepository::runUnitTestsFromMain(argc,
argv);
Hermite polynomial basis.
void exp(OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a)
KOKKOS_INLINE_FUNCTION PCE< Storage > pow(const PCE< Storage > &a, const PCE< Storage > &b)
bool comparePCEs(const PCEType &a1, const std::string &a1_name, const Stokhos::OrthogPolyApprox< OrdinalType, ValueType > &a2, const std::string &a2_name, const ValueType &rel_tol, const ValueType &abs_tol, Teuchos::FancyOStream &out)
A multidimensional index.
int main(int argc, char *argv[])
Multivariate orthogonal polynomial basis generated from a total-order complete-polynomial tensor prod...
TEUCHOS_UNIT_TEST(Stokhos_LogNormal_TP, UnitTest)
KOKKOS_INLINE_FUNCTION PCE< Storage > exp(const PCE< Storage > &a)
Orthogonal polynomial expansions based on numerical quadrature.
Defines quadrature for a tensor product basis by tensor products of 1-D quadrature rules...