12 template <
typename ordinal_type,
typename value_type>
22 template <
typename ordinal_type,
typename value_type>
35 "Stokhos::AlgebraicOrthogPolyExpansion::exp()"
36 <<
": Method not implemented!");
40 template <
typename ordinal_type,
typename value_type>
53 "Stokhos::AlgebraicOrthogPolyExpansion::log()"
54 <<
": Method not implemented!");
57 template <
typename ordinal_type,
typename value_type>
70 "Stokhos::AlgebraicOrthogPolyExpansion::log10()"
71 <<
": Method not implemented!");
74 template <
typename ordinal_type,
typename value_type>
87 "Stokhos::AlgebraicOrthogPolyExpansion::sqrt()"
88 <<
": Method not implemented!");
91 template <
typename ordinal_type,
typename value_type>
104 "Stokhos::AlgebraicOrthogPolyExpansion::cbrt()"
105 <<
": Method not implemented!");
108 template <
typename ordinal_type,
typename value_type>
115 if (a.
size() == 1 && b.
size() == 1) {
122 "Stokhos::AlgebraicOrthogPolyExpansion::pow()"
123 <<
": Method not implemented!");
126 template <
typename ordinal_type,
typename value_type>
140 "Stokhos::AlgebraicOrthogPolyExpansion::pow()"
141 <<
": Method not implemented!");
144 template <
typename ordinal_type,
typename value_type>
158 "Stokhos::AlgebraicOrthogPolyExpansion::pow()"
159 <<
": Method not implemented!");
162 template <
typename ordinal_type,
typename value_type>
175 "Stokhos::AlgebraicOrthogPolyExpansion::sin()"
176 <<
": Method not implemented!");
179 template <
typename ordinal_type,
typename value_type>
192 "Stokhos::AlgebraicOrthogPolyExpansion::cos()"
193 <<
": Method not implemented!");
196 template <
typename ordinal_type,
typename value_type>
209 "Stokhos::AlgebraicOrthogPolyExpansion::tan()"
210 <<
": Method not implemented!");
213 template <
typename ordinal_type,
typename value_type>
226 "Stokhos::AlgebraicOrthogPolyExpansion::sinh()"
227 <<
": Method not implemented!");
230 template <
typename ordinal_type,
typename value_type>
243 "Stokhos::AlgebraicOrthogPolyExpansion::cosh()"
244 <<
": Method not implemented!");
247 template <
typename ordinal_type,
typename value_type>
260 "Stokhos::AlgebraicOrthogPolyExpansion::tanh()"
261 <<
": Method not implemented!");
264 template <
typename ordinal_type,
typename value_type>
277 "Stokhos::AlgebraicOrthogPolyExpansion::acos()"
278 <<
": Method not implemented!");
281 template <
typename ordinal_type,
typename value_type>
294 "Stokhos::AlgebraicOrthogPolyExpansion::asin()"
295 <<
": Method not implemented!");
298 template <
typename ordinal_type,
typename value_type>
311 "Stokhos::AlgebraicOrthogPolyExpansion::atan()"
312 <<
": Method not implemented!");
315 template <
typename ordinal_type,
typename value_type>
322 if (a.
size() == 1 && b.
size() == 1) {
329 "Stokhos::AlgebraicOrthogPolyExpansion::atan2()"
330 <<
": Method not implemented!");
333 template <
typename ordinal_type,
typename value_type>
347 "Stokhos::AlgebraicOrthogPolyExpansion::atan2()"
348 <<
": Method not implemented!");
351 template <
typename ordinal_type,
typename value_type>
365 "Stokhos::AlgebraicOrthogPolyExpansion::atan2()"
366 <<
": Method not implemented!");
369 template <
typename ordinal_type,
typename value_type>
382 "Stokhos::AlgebraicOrthogPolyExpansion::acosh()"
383 <<
": Method not implemented!");
386 template <
typename ordinal_type,
typename value_type>
399 "Stokhos::AlgebraicOrthogPolyExpansion::asinh()"
400 <<
": Method not implemented!");
403 template <
typename ordinal_type,
typename value_type>
416 "Stokhos::AlgebraicOrthogPolyExpansion::atanh()"
417 <<
": 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)