44#include "Teuchos_UnitTestHarness.hpp"
45#include "Teuchos_TestingHelpers.hpp"
46#include "Teuchos_UnitTestRepository.hpp"
47#include "Teuchos_GlobalMPISession.hpp"
48#include "Teuchos_ArrayView.hpp"
56 template <
typename ordinal_type,
typename value_type>
75 typedef UnitTestSetup<ordinal_type,value_type>
setup_type;
81 for (
int i=0; i<x.size(); i++)
89 for (
int i=0; i<x.size(); i++)
97 Teuchos::Array< Teuchos::RCP<const Stokhos::OneDOrthogPolyBasis<ordinal_type,value_type> > > bases(
setup.d);
105 *smolyak_basis,
false);
108 Stokhos::SparseGridQuadrature<ordinal_type,value_type> quad(
109 smolyak_basis,
setup.p, 1e-12, Pecos::SLOW_RESTRICTED_GROWTH);
111 *smolyak_basis, quad);
130 *smolyak_basis, sm_op,
setup.rtol,
setup.atol, out);
136 Teuchos::Array< Teuchos::RCP<const Stokhos::OneDOrthogPolyBasis<ordinal_type,value_type> > > bases(
setup.d);
144 *smolyak_basis,
false);
147 Stokhos::SparseGridQuadrature<ordinal_type,value_type> quad(
148 smolyak_basis,
setup.p, 1e-12, Pecos::MODERATE_RESTRICTED_GROWTH);
150 *smolyak_basis, quad);
172 Teuchos::Array< Teuchos::RCP<const Stokhos::OneDOrthogPolyBasis<ordinal_type,value_type> > > bases(
setup.d);
180 *smolyak_basis,
true);
183 Stokhos::SparseGridQuadrature<ordinal_type,value_type> quad(
184 smolyak_basis,
setup.p, 1e-12, Pecos::SLOW_RESTRICTED_GROWTH);
186 *smolyak_basis, quad);
209 *smolyak_basis, sm_op,
setup.rtol,
setup.atol, out);
215 Teuchos::Array< Teuchos::RCP<const Stokhos::OneDOrthogPolyBasis<ordinal_type,value_type> > > bases(
setup.d);
223 *smolyak_basis,
true);
226 Stokhos::SparseGridQuadrature<ordinal_type,value_type> quad(
227 smolyak_basis,
setup.p, 1e-12, Pecos::MODERATE_RESTRICTED_GROWTH);
229 *smolyak_basis, quad);
252 *smolyak_basis, sm_op,
setup.rtol,
setup.atol, out);
255#ifdef HAVE_STOKHOS_DAKOTA
260 Teuchos::Array< Teuchos::RCP<const Stokhos::OneDOrthogPolyBasis<ordinal_type,value_type> > > bases(
setup.d);
268 *smolyak_basis,
false);
271 Stokhos::SparseGridQuadrature<ordinal_type,value_type> quad(
272 smolyak_basis,
setup.p, 1e-12, Pecos::UNRESTRICTED_GROWTH);
274 *smolyak_basis, quad);
296 Teuchos::Array< Teuchos::RCP<const Stokhos::OneDOrthogPolyBasis<ordinal_type,value_type> > > bases(
setup.d);
304 *smolyak_basis,
false);
307 Stokhos::SparseGridQuadrature<ordinal_type,value_type> quad(
308 smolyak_basis,
setup.p, 1e-12, Pecos::UNRESTRICTED_GROWTH);
310 *smolyak_basis, quad);
332 Teuchos::Array< Teuchos::RCP<const Stokhos::OneDOrthogPolyBasis<ordinal_type,value_type> > > bases(
setup.d);
340 *smolyak_basis,
true);
343 Stokhos::SparseGridQuadrature<ordinal_type,value_type> quad(
344 smolyak_basis,
setup.p, 1e-12, Pecos::UNRESTRICTED_GROWTH);
346 *smolyak_basis, quad);
369 *smolyak_basis, sm_op,
setup.rtol,
setup.atol, out);
375 Teuchos::Array< Teuchos::RCP<const Stokhos::OneDOrthogPolyBasis<ordinal_type,value_type> > > bases(
setup.d);
383 *smolyak_basis,
true);
386 Stokhos::SparseGridQuadrature<ordinal_type,value_type> quad(
387 smolyak_basis,
setup.p, 1e-12, Pecos::UNRESTRICTED_GROWTH);
389 *smolyak_basis, quad);
412 *smolyak_basis, sm_op,
setup.rtol,
setup.atol, out);
420 Teuchos::GlobalMPISession mpiSession(&argc, &
argv);
421 return Teuchos::UnitTestRepository::runUnitTestsFromMain(argc,
argv);
int main(int argc, char *argv[])
Legendre polynomial basis using Clenshaw-Curtis quadrature points.
Legendre polynomial basis using Gauss-Patterson quadrature points.
Legendre polynomial basis.
An operator for building pseudo-spectral coefficients using an arbitrary quadrature rule.
Multivariate orthogonal polynomial basis generated from a Smolyak sparse grid.
An operator for building pseudo-spectral coefficients using a sparse Smolyak construction.
Defines quadrature for a tensor product basis by tensor products of 1-D quadrature rules.
An isotropic total order index set.
value_type quad_func1(const Teuchos::ArrayView< const value_type > &x)
value_type quad_func2(const Teuchos::ArrayView< const value_type > &x)
UnitTestSetup< ordinal_type, value_type > setup_type
TEUCHOS_UNIT_TEST(Coefficients, IsotropicLinear)
bool testPseudoSpectralDiscreteOrthogonality(const basis_type &basis, const operator_type &op, const scalar_type &rel_tol, const scalar_type &abs_tol, Teuchos::FancyOStream &out)
bool testPseudoSpectralApplyTrans(const operator_type1 &op1, const operator_type2 &op2, const func_type1 &func1, const func_type2 &func2, const scalar_type &rel_tol, const scalar_type &abs_tol, Teuchos::FancyOStream &out)
bool testPseudoSpectralPoints(const operator_type1 &op1, const operator_type2 &op2, const scalar_type &rel_tol, const scalar_type &abs_tol, Teuchos::FancyOStream &out)
bool testPseudoSpectralApply(const operator_type1 &op1, const operator_type2 &op2, const func_type1 &func1, const func_type2 &func2, const scalar_type &rel_tol, const scalar_type &abs_tol, Teuchos::FancyOStream &out)