29 return exp(-1/(1-
pow(2*(x+2),2)));
30 }
else if(2*
fabs(x-2)<1){
31 return exp(-1/(1-
pow(2*(x-2),2)));
41 const double leftEndPt = -3;
42 const double rightEndPt = 3;
52 norm_sq = basis->norm_squared();
53 basis->getRecurrenceCoefficients(alpha, beta, delta, gamma);
56 for(
int i = 0; i<p; i++){
57 std::cout <<
"alpha[" << i <<
"]= " << alpha[i] <<
" beta[" << i <<
"]= " << beta[i] <<
" gamma[" << i <<
"]= " << gamma[i] <<
"\n";
60 for(
int i = 0; i<=p; i++){
61 std::cout <<
"E(P_"<<i<<
"^2) = "<< norm_sq[i] <<
"\n";
67 basis->getQuadPoints(20, quad_points, quad_weights, quad_values);
68 for(
int i = 0; i<quad_points.
size(); i++){
69 std::cout <<
"x_i = "<<quad_points[i]<<
" w_i = "<< quad_weights[i] <<
" " << i <<
" / " << quad_points.
size()<<
"\n";
72 double maxOffDiag = 0;
73 double currentInnerProduct;
74 for(
int i = 0; i<=p; i++){
75 for(
int j = 0;
j<i;
j++){
76 currentInnerProduct =
fabs(basis->eval_inner_product(i,
j));
77 if(currentInnerProduct > maxOffDiag){
78 maxOffDiag = currentInnerProduct;
82 std::cout<<
"Maximum Off Diagonal Inner Product is: " << maxOffDiag <<
"\n";
85 catch (std::exception& e) {
86 std::cout << e.what() << std::endl;
KOKKOS_INLINE_FUNCTION PCE< Storage > fabs(const PCE< Storage > &a)
Generates three-term recurrence using the Discretized Stieltjes procedure.
KOKKOS_INLINE_FUNCTION PCE< Storage > pow(const PCE< Storage > &a, const PCE< Storage > &b)
TEUCHOS_DEPRECATED RCP< T > rcp(T *p, Dealloc_T dealloc, bool owns_mem)
double weightFunction(const double &x)
KOKKOS_INLINE_FUNCTION PCE< Storage > exp(const PCE< Storage > &a)
int main(int argc, char **argv)