44 template <
typename ordinal_type,
typename value_type>
54 template <
typename ordinal_type,
typename value_type>
67 "Stokhos::AlgebraicOrthogPolyExpansion::exp()"
68 <<
": Method not implemented!");
72 template <
typename ordinal_type,
typename value_type>
85 "Stokhos::AlgebraicOrthogPolyExpansion::log()"
86 <<
": Method not implemented!");
89 template <
typename ordinal_type,
typename value_type>
102 "Stokhos::AlgebraicOrthogPolyExpansion::log10()"
103 <<
": Method not implemented!");
106 template <
typename ordinal_type,
typename value_type>
119 "Stokhos::AlgebraicOrthogPolyExpansion::sqrt()"
120 <<
": Method not implemented!");
123 template <
typename ordinal_type,
typename value_type>
136 "Stokhos::AlgebraicOrthogPolyExpansion::cbrt()"
137 <<
": Method not implemented!");
140 template <
typename ordinal_type,
typename value_type>
147 if (a.
size() == 1 && b.
size() == 1) {
154 "Stokhos::AlgebraicOrthogPolyExpansion::pow()"
155 <<
": Method not implemented!");
158 template <
typename ordinal_type,
typename value_type>
172 "Stokhos::AlgebraicOrthogPolyExpansion::pow()"
173 <<
": Method not implemented!");
176 template <
typename ordinal_type,
typename value_type>
190 "Stokhos::AlgebraicOrthogPolyExpansion::pow()"
191 <<
": Method not implemented!");
194 template <
typename ordinal_type,
typename value_type>
207 "Stokhos::AlgebraicOrthogPolyExpansion::sin()"
208 <<
": Method not implemented!");
211 template <
typename ordinal_type,
typename value_type>
224 "Stokhos::AlgebraicOrthogPolyExpansion::cos()"
225 <<
": Method not implemented!");
228 template <
typename ordinal_type,
typename value_type>
241 "Stokhos::AlgebraicOrthogPolyExpansion::tan()"
242 <<
": Method not implemented!");
245 template <
typename ordinal_type,
typename value_type>
258 "Stokhos::AlgebraicOrthogPolyExpansion::sinh()"
259 <<
": Method not implemented!");
262 template <
typename ordinal_type,
typename value_type>
275 "Stokhos::AlgebraicOrthogPolyExpansion::cosh()"
276 <<
": Method not implemented!");
279 template <
typename ordinal_type,
typename value_type>
292 "Stokhos::AlgebraicOrthogPolyExpansion::tanh()"
293 <<
": Method not implemented!");
296 template <
typename ordinal_type,
typename value_type>
309 "Stokhos::AlgebraicOrthogPolyExpansion::acos()"
310 <<
": Method not implemented!");
313 template <
typename ordinal_type,
typename value_type>
326 "Stokhos::AlgebraicOrthogPolyExpansion::asin()"
327 <<
": Method not implemented!");
330 template <
typename ordinal_type,
typename value_type>
343 "Stokhos::AlgebraicOrthogPolyExpansion::atan()"
344 <<
": Method not implemented!");
347 template <
typename ordinal_type,
typename value_type>
354 if (a.
size() == 1 && b.
size() == 1) {
361 "Stokhos::AlgebraicOrthogPolyExpansion::atan2()"
362 <<
": Method not implemented!");
365 template <
typename ordinal_type,
typename value_type>
379 "Stokhos::AlgebraicOrthogPolyExpansion::atan2()"
380 <<
": Method not implemented!");
383 template <
typename ordinal_type,
typename value_type>
397 "Stokhos::AlgebraicOrthogPolyExpansion::atan2()"
398 <<
": Method not implemented!");
401 template <
typename ordinal_type,
typename value_type>
414 "Stokhos::AlgebraicOrthogPolyExpansion::acosh()"
415 <<
": Method not implemented!");
418 template <
typename ordinal_type,
typename value_type>
431 "Stokhos::AlgebraicOrthogPolyExpansion::asinh()"
432 <<
": Method not implemented!");
435 template <
typename ordinal_type,
typename value_type>
448 "Stokhos::AlgebraicOrthogPolyExpansion::atanh()"
449 <<
": Method not implemented!");
KOKKOS_INLINE_FUNCTION PCE< Storage > sqrt(const PCE< Storage > &a)
KOKKOS_INLINE_FUNCTION PCE< Storage > tan(const PCE< Storage > &a)
KOKKOS_INLINE_FUNCTION PCE< Storage > sinh(const PCE< Storage > &a)
void resize(ordinal_type sz)
Resize coefficient array (coefficients are preserved)
void log10(OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a)
Data structure storing a sparse 3-tensor C(i,j,k) in a a compressed format.
KOKKOS_INLINE_FUNCTION PCE< Storage > pow(const PCE< Storage > &a, const PCE< Storage > &b)
void asinh(OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a)
#define TEUCHOS_TEST_FOR_EXCEPTION(throw_exception_test, Exception, msg)
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)
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.
Base class for consolidating common expansion implementations.
void asin(OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a)
KOKKOS_INLINE_FUNCTION PCE< Storage > tanh(const PCE< Storage > &a)
void exp(OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a)
KOKKOS_INLINE_FUNCTION PCE< Storage > cbrt(const PCE< Storage > &a)
void acos(OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a)
KOKKOS_INLINE_FUNCTION PCE< Storage > acos(const PCE< Storage > &a)
atan2(expr1.val(), expr2.val())
void tanh(OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a)
Abstract base class for multivariate orthogonal polynomials.
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 sqrt(OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a)
KOKKOS_INLINE_FUNCTION PCE< Storage > cosh(const PCE< Storage > &a)
void atan(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 cosh(OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a)
KOKKOS_INLINE_FUNCTION PCE< Storage > atan(const PCE< Storage > &a)
KOKKOS_INLINE_FUNCTION PCE< Storage > exp(const PCE< Storage > &a)
void log(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 sin(OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a)
void tan(OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a)
KOKKOS_INLINE_FUNCTION PCE< Storage > sin(const PCE< Storage > &a)
void atanh(OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a)
ordinal_type size() const
Return size.
KOKKOS_INLINE_FUNCTION PCE< Storage > log(const PCE< Storage > &a)
KOKKOS_INLINE_FUNCTION PCE< Storage > log10(const PCE< Storage > &a)
void cbrt(OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a)
KOKKOS_INLINE_FUNCTION PCE< Storage > asin(const PCE< Storage > &a)
void acosh(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)
KOKKOS_INLINE_FUNCTION PCE< Storage > cos(const PCE< Storage > &a)