42 #include "Teuchos_Assert.hpp"
44 template <
typename ordinal_type,
typename value_type>
49 const Teuchos::RCP<Teuchos::ParameterList>& params_) :
54 template <
typename ordinal_type,
typename value_type>
66 TEUCHOS_TEST_FOR_EXCEPTION(
true, std::logic_error,
67 "Stokhos::AlgebraicOrthogPolyExpansion::exp()"
68 <<
": Method not implemented!");
72 template <
typename ordinal_type,
typename value_type>
84 TEUCHOS_TEST_FOR_EXCEPTION(
true, std::logic_error,
85 "Stokhos::AlgebraicOrthogPolyExpansion::log()"
86 <<
": Method not implemented!");
89 template <
typename ordinal_type,
typename value_type>
101 TEUCHOS_TEST_FOR_EXCEPTION(
true, std::logic_error,
102 "Stokhos::AlgebraicOrthogPolyExpansion::log10()"
103 <<
": Method not implemented!");
106 template <
typename ordinal_type,
typename value_type>
118 TEUCHOS_TEST_FOR_EXCEPTION(
true, std::logic_error,
119 "Stokhos::AlgebraicOrthogPolyExpansion::sqrt()"
120 <<
": Method not implemented!");
123 template <
typename ordinal_type,
typename value_type>
135 TEUCHOS_TEST_FOR_EXCEPTION(
true, std::logic_error,
136 "Stokhos::AlgebraicOrthogPolyExpansion::cbrt()"
137 <<
": Method not implemented!");
140 template <
typename ordinal_type,
typename value_type>
147 if (a.
size() == 1 && b.
size() == 1) {
153 TEUCHOS_TEST_FOR_EXCEPTION(
true, std::logic_error,
154 "Stokhos::AlgebraicOrthogPolyExpansion::pow()"
155 <<
": Method not implemented!");
158 template <
typename ordinal_type,
typename value_type>
171 TEUCHOS_TEST_FOR_EXCEPTION(
true, std::logic_error,
172 "Stokhos::AlgebraicOrthogPolyExpansion::pow()"
173 <<
": Method not implemented!");
176 template <
typename ordinal_type,
typename value_type>
189 TEUCHOS_TEST_FOR_EXCEPTION(
true, std::logic_error,
190 "Stokhos::AlgebraicOrthogPolyExpansion::pow()"
191 <<
": Method not implemented!");
194 template <
typename ordinal_type,
typename value_type>
206 TEUCHOS_TEST_FOR_EXCEPTION(
true, std::logic_error,
207 "Stokhos::AlgebraicOrthogPolyExpansion::sin()"
208 <<
": Method not implemented!");
211 template <
typename ordinal_type,
typename value_type>
223 TEUCHOS_TEST_FOR_EXCEPTION(
true, std::logic_error,
224 "Stokhos::AlgebraicOrthogPolyExpansion::cos()"
225 <<
": Method not implemented!");
228 template <
typename ordinal_type,
typename value_type>
240 TEUCHOS_TEST_FOR_EXCEPTION(
true, std::logic_error,
241 "Stokhos::AlgebraicOrthogPolyExpansion::tan()"
242 <<
": Method not implemented!");
245 template <
typename ordinal_type,
typename value_type>
257 TEUCHOS_TEST_FOR_EXCEPTION(
true, std::logic_error,
258 "Stokhos::AlgebraicOrthogPolyExpansion::sinh()"
259 <<
": Method not implemented!");
262 template <
typename ordinal_type,
typename value_type>
274 TEUCHOS_TEST_FOR_EXCEPTION(
true, std::logic_error,
275 "Stokhos::AlgebraicOrthogPolyExpansion::cosh()"
276 <<
": Method not implemented!");
279 template <
typename ordinal_type,
typename value_type>
291 TEUCHOS_TEST_FOR_EXCEPTION(
true, std::logic_error,
292 "Stokhos::AlgebraicOrthogPolyExpansion::tanh()"
293 <<
": Method not implemented!");
296 template <
typename ordinal_type,
typename value_type>
308 TEUCHOS_TEST_FOR_EXCEPTION(
true, std::logic_error,
309 "Stokhos::AlgebraicOrthogPolyExpansion::acos()"
310 <<
": Method not implemented!");
313 template <
typename ordinal_type,
typename value_type>
325 TEUCHOS_TEST_FOR_EXCEPTION(
true, std::logic_error,
326 "Stokhos::AlgebraicOrthogPolyExpansion::asin()"
327 <<
": Method not implemented!");
330 template <
typename ordinal_type,
typename value_type>
342 TEUCHOS_TEST_FOR_EXCEPTION(
true, std::logic_error,
343 "Stokhos::AlgebraicOrthogPolyExpansion::atan()"
344 <<
": Method not implemented!");
347 template <
typename ordinal_type,
typename value_type>
354 if (a.
size() == 1 && b.
size() == 1) {
360 TEUCHOS_TEST_FOR_EXCEPTION(
true, std::logic_error,
361 "Stokhos::AlgebraicOrthogPolyExpansion::atan2()"
362 <<
": Method not implemented!");
365 template <
typename ordinal_type,
typename value_type>
378 TEUCHOS_TEST_FOR_EXCEPTION(
true, std::logic_error,
379 "Stokhos::AlgebraicOrthogPolyExpansion::atan2()"
380 <<
": Method not implemented!");
383 template <
typename ordinal_type,
typename value_type>
396 TEUCHOS_TEST_FOR_EXCEPTION(
true, std::logic_error,
397 "Stokhos::AlgebraicOrthogPolyExpansion::atan2()"
398 <<
": Method not implemented!");
401 template <
typename ordinal_type,
typename value_type>
413 TEUCHOS_TEST_FOR_EXCEPTION(
true, std::logic_error,
414 "Stokhos::AlgebraicOrthogPolyExpansion::acosh()"
415 <<
": Method not implemented!");
418 template <
typename ordinal_type,
typename value_type>
430 TEUCHOS_TEST_FOR_EXCEPTION(
true, std::logic_error,
431 "Stokhos::AlgebraicOrthogPolyExpansion::asinh()"
432 <<
": Method not implemented!");
435 template <
typename ordinal_type,
typename value_type>
447 TEUCHOS_TEST_FOR_EXCEPTION(
true, std::logic_error,
448 "Stokhos::AlgebraicOrthogPolyExpansion::atanh()"
449 <<
": Method not implemented!");
atan2(expr1.val(), expr2.val())
void atan(OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a)
void atan2(OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a, const OrthogPolyApprox< ordinal_type, value_type, node_type > &b)
void tanh(OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a)
void cos(OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a)
void pow(OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a, const OrthogPolyApprox< ordinal_type, value_type, node_type > &b)
void tan(OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a)
void atanh(OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a)
void log(OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a)
void sin(OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a)
void cbrt(OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a)
void acosh(OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a)
void log10(OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a)
void exp(OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a)
void sqrt(OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a)
void cosh(OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a)
AlgebraicOrthogPolyExpansion(const Teuchos::RCP< const OrthogPolyBasis< ordinal_type, value_type > > &basis, const Teuchos::RCP< const Stokhos::Sparse3Tensor< ordinal_type, value_type > > &Cijk, const Teuchos::RCP< Teuchos::ParameterList > ¶ms=Teuchos::null)
Constructor.
void asin(OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a)
void asinh(OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a)
void acos(OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a)
void sinh(OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a)
Class to store coefficients of a projection onto an orthogonal polynomial basis.
void resize(ordinal_type sz)
Resize coefficient array (coefficients are preserved)
ordinal_type size() const
Return size.
Abstract base class for multivariate orthogonal polynomials.
Data structure storing a sparse 3-tensor C(i,j,k) in a a compressed format.
KOKKOS_INLINE_FUNCTION PCE< Storage > asin(const PCE< Storage > &a)
KOKKOS_INLINE_FUNCTION PCE< Storage > exp(const PCE< Storage > &a)
KOKKOS_INLINE_FUNCTION PCE< Storage > tanh(const PCE< Storage > &a)
KOKKOS_INLINE_FUNCTION PCE< Storage > sin(const PCE< Storage > &a)
KOKKOS_INLINE_FUNCTION PCE< Storage > pow(const PCE< Storage > &a, const PCE< Storage > &b)
KOKKOS_INLINE_FUNCTION PCE< Storage > tan(const PCE< Storage > &a)
KOKKOS_INLINE_FUNCTION PCE< Storage > sqrt(const PCE< Storage > &a)
KOKKOS_INLINE_FUNCTION PCE< Storage > sinh(const PCE< Storage > &a)
KOKKOS_INLINE_FUNCTION PCE< Storage > cosh(const PCE< Storage > &a)
KOKKOS_INLINE_FUNCTION PCE< Storage > log10(const PCE< Storage > &a)
KOKKOS_INLINE_FUNCTION PCE< Storage > cbrt(const PCE< Storage > &a)
KOKKOS_INLINE_FUNCTION PCE< Storage > atan(const PCE< Storage > &a)
KOKKOS_INLINE_FUNCTION PCE< Storage > log(const PCE< Storage > &a)
KOKKOS_INLINE_FUNCTION PCE< Storage > acos(const PCE< Storage > &a)
KOKKOS_INLINE_FUNCTION PCE< Storage > cos(const PCE< Storage > &a)