Tue Oct 19 11:25:21 2021 chebyshev_polynomial_test(): Python version: 3.6.9 Test chebyshev_polynomial(). imtqlx_test(): Python version: 3.6.9 imtqlx() takes a symmetric tridiagonal matrix A and computes its eigenvalues LAM. It also accepts a vector Z and computes Q'*Z, where Q is the matrix that diagonalizes A. Computed eigenvalues: 0: 0.267949 1: 1 2: 2 3: 3 4: 3.73205 Exact eigenvalues: 0: 0.267949 1: 1 2: 2 3: 3 4: 3.73205 Vector Z: 0: 1 1: 1 2: 1 3: 1 4: 1 Vector Q*Z: 0: -2.1547 1: -1.8855e-16 2: 0.57735 3: 1.66533e-16 4: -0.154701 imtqlx_test(): Normal end of execution. r8_hyper_2f1_test(): Python version: 3.6.9 r8_hyper_2f1() evaluates the hypergeometric 2F1 function. A B C X 2F1 2F1 DIFF (tabulated) (computed) -2.5 3.3 6.7 0.25 0.723561 0.723561 2.22045e-16 -0.5 1.1 6.7 0.25 0.979111 0.979111 1.11022e-16 0.5 1.1 6.7 0.25 1.02166 1.02166 0 2.5 3.3 6.7 0.25 1.40516 1.40516 4.44089e-16 -2.5 3.3 6.7 0.55 0.469614 0.469614 5.55112e-17 -0.5 1.1 6.7 0.55 0.952962 0.952962 3.33067e-16 0.5 1.1 6.7 0.55 1.05128 1.05128 8.88178e-16 2.5 3.3 6.7 0.55 2.39991 2.39991 1.77636e-15 -2.5 3.3 6.7 0.85 0.291061 0.291061 2.77556e-16 -0.5 1.1 6.7 0.85 0.92537 0.92537 0 0.5 1.1 6.7 0.85 1.08655 1.08655 2.22045e-16 2.5 3.3 6.7 0.85 5.73816 5.73816 1.98064e-13 3.3 6.7 -5.5 0.25 15090.7 15090.7 1.09139e-11 1.1 6.7 -0.5 0.25 -104.312 -104.312 2.84217e-14 1.1 6.7 0.5 0.25 21.1751 21.1751 1.06581e-14 3.3 6.7 4.5 0.25 4.19469 4.19469 8.88178e-16 3.3 6.7 -5.5 0.55 1.01708e+10 1.01708e+10 1.14441e-05 1.1 6.7 -0.5 0.55 -24708.6 -24708.6 1.81899e-11 1.1 6.7 0.5 0.55 1372.23 1372.23 2.27374e-12 3.3 6.7 4.5 0.55 58.0927 58.0927 2.84217e-14 3.3 6.7 -5.5 0.85 5.86821e+18 5.86821e+18 16384 1.1 6.7 -0.5 0.85 -4.4635e+08 -4.4635e+08 1.78814e-07 1.1 6.7 0.5 0.85 5.38351e+06 5.38351e+06 2.79397e-09 3.3 6.7 4.5 0.85 20396.9 20396.9 2.54659e-11 r8_hyper_2f1_test(): Normal end of execution. r8_mop_test(): r8_mop() evaluates (-1.0)^I4 as an R8. I4 r8_mop(I4) 77 -1.0 52 1.0 19 -1.0 -9 -1.0 -63 -1.0 81 -1.0 42 1.0 80 1.0 43 -1.0 65 -1.0 r8_mop_test(): Normal end of execution. r8_psi_test(): Python version: 3.6.9 r8_psi() evaluates the PSI function. X PSI(X) r8_psi(X) 0.1 -10.42375494041108 -10.42375494041108 0.2 -5.289039896592188 -5.289039896592188 0.3 -3.502524222200133 -3.502524222200133 0.4 -2.561384544585116 -2.561384544585116 0.5 -1.963510026021423 -1.963510026021424 0.6 -1.54061921389319 -1.540619213893191 0.7 -1.220023553697935 -1.220023553697935 0.8 -0.9650085667061385 -0.9650085667061382 0.9 -0.7549269499470515 -0.7549269499470511 1 -0.5772156649015329 -0.5772156649015329 1.1 -0.4237549404110768 -0.4237549404110768 1.2 -0.2890398965921883 -0.2890398965921884 1.3 -0.1691908888667997 -0.1691908888667995 1.4 -0.06138454458511615 -0.06138454458511624 1.5 0.03648997397857652 0.03648997397857652 1.6 0.1260474527734763 0.1260474527734763 1.7 0.208547874873494 0.208547874873494 1.8 0.2849914332938615 0.2849914332938615 1.9 0.3561841611640597 0.3561841611640596 2 0.4227843350984671 0.4227843350984672 r8_psi_test() Normal end of execution. r8poly_print_test(): Python version: 3.6.9 r8poly_print() prints an R8POLY. The R8POLY: p(x) = 9 * x^5 + 0.78 * x^4 + 56 * x^2 - 3.4 * x + 12 r8poly_print_test(): Normal end of execution. t_mass_matrix_test(): Python version: 3.6.9 t_mass_matrix() computes the mass matrix for the Chebyshev T polynomials T(i,x). A(I,J) = integral ( -1 <=x <= +1 ) T(i,x) T(j,x) / sqrt ( 1 - x^2 ) dx 0 if i is not equal to j pi if i = j = 0 pi/2 if i = j =/= 0. T mass matrix: Col: 0 1 2 3 Row 0 : 3.14159 -1.95654e-15 -1.08451e-15 1.26759e-15 1 :-1.77636e-15 1.5708 -3.29803e-16 -4.01565e-16 2 :-1.11022e-15 -4.34982e-16 1.5708 -4.95194e-16 3 : 1.16573e-15 -3.77077e-16 -4.23361e-16 1.5708 t_mass_matrix_test(): Normal end of execution. t_moment_test(): Python version: 3.6.9 t_moment() returns the value of integral ( -1 <=x <= +1 ) x^e / sqrt ( 1 - x^2 ) dx E Integral 0 3.14159 1 0 2 1.5708 3 0 4 1.1781 5 0 6 0.981748 7 0 8 0.859029 9 0 10 0.773126 t_moment_test(): Normal end of execution. t_polynomial_test(): Python version: 3.6.9 t_polynomial() evaluates the Chebyshev polynomial T(n,x). Tabulated Computed N X T(n,x) T(n,x) Error 0 0.8 1 1 0 1 0.8 0.8 0.8 0 2 0.8 0.28 0.2800000000000002 -2.2e-16 3 0.8 -0.352 -0.3519999999999996 -3.3e-16 4 0.8 -0.8431999999999999 -0.8431999999999997 -2.2e-16 5 0.8 -0.99712 -0.99712 0 6 0.8 -0.752192 -0.7521920000000004 4.4e-16 7 0.8 -0.2063872 -0.2063872000000007 6.7e-16 8 0.8 0.42197248 0.4219724799999993 6.7e-16 9 0.8 0.881543168 0.8815431679999997 3.3e-16 10 0.8 0.9884965888 0.9884965888000001 -1.1e-16 11 0.8 0.70005137408 0.7000513740800007 -7.8e-16 12 0.8 0.131585609728 0.131585609728001 -1e-15 t_polynomial_test(): Normal end of execution. t_polynomial_01_values_test(): Python version: 3.6.9 t_polynomial_01_values() stores values of the shifted Chebyshev T polynomials. N X FX -1 0.850000 0 0 0.850000 1 1 0.850000 0.7 2 0.850000 -0.02 3 0.850000 -0.728 4 0.850000 -0.9992 5 0.850000 -0.67088 6 0.850000 0.059968 7 0.850000 0.7548352 8 0.850000 0.99680128 9 0.850000 0.640686592 10 0.850000 -0.0998400512 11 0.850000 -0.7804626636799999 12 0.850000 -0.992807677952 7 0.000000 -1 7 0.100000 0.2063872 7 0.200000 -0.9784704 7 0.300000 0.2580224 7 0.400000 0.9870208 7 0.500000 0 7 0.600000 -0.9870208 7 0.700000 -0.2580224 7 0.800000 0.9784704 7 0.900000 -0.2063872 7 1.000000 1 t_polynomial_01_values_test(): Normal end of execution. t_polynomial_ab_test(): Python version: 3.6.9 t_polynomial_ab() evaluates Chebyshev polynomials TAB(n,x) shifted from [-1,+1] to the domain [A,B]. Here, we will use the new domain [0,1] and the desired maximum polynomial degree will be N = 5. Tables of T values: Col: 0 1 2 3 4 Row 0 : 1 -1 1 -1 1 1 : 1 -0.8 0.28 0.352 -0.8432 2 : 1 -0.6 -0.28 0.936 -0.8432 3 : 1 -0.4 -0.68 0.944 -0.0752 4 : 1 -0.2 -0.92 0.568 0.6928 5 : 1 0 -1 -0 1 6 : 1 0.2 -0.92 -0.568 0.6928 7 : 1 0.4 -0.68 -0.944 -0.0752 8 : 1 0.6 -0.28 -0.936 -0.8432 9 : 1 0.8 0.28 -0.352 -0.8432 10 : 1 1 1 1 1 Col: 5 Row 0 : -1 1 : 0.99712 2 : 0.07584 3 : -0.88384 4 : -0.84512 5 : 0 6 : 0.84512 7 : 0.88384 8 : -0.07584 9 : -0.99712 10 : 1 t_polynomial_ab_test(): Normal end of execution. t_polynomial_ab_value_test(): Python version: 3.6.9 t_polynomial_ab_value() evaluates a Chebyshev polynomial TAB(n,x) shifted from [-1,+1] to the domain [A,B]. Here, we will use the new domain [0,1]. Tabulated Computed N X T01(n,x) T01(n,x) -1 0.8500 0 0 0 0.8500 1 1 1 0.8500 0.7 0.7 2 0.8500 -0.02 -0.02 3 0.8500 -0.728 -0.728 4 0.8500 -0.9992 -0.9992 5 0.8500 -0.67088 -0.67088 6 0.8500 0.059968 0.059968 7 0.8500 0.754835 0.754835 8 0.8500 0.996801 0.996801 9 0.8500 0.640687 0.640687 10 0.8500 -0.0998401 -0.0998401 11 0.8500 -0.780463 -0.780463 12 0.8500 -0.992808 -0.992808 7 0.0000 -1 -1 7 0.1000 0.206387 0.206387 7 0.2000 -0.97847 -0.97847 7 0.3000 0.258022 0.258022 7 0.4000 0.987021 0.987021 7 0.5000 0 -0 7 0.6000 -0.987021 -0.987021 7 0.7000 -0.258022 -0.258022 7 0.8000 0.97847 0.97847 7 0.9000 -0.206387 -0.206387 7 1.0000 1 1 t_polynomial_ab_value_test(): Normal end of execution. t_polynomial_coefficients_test(): Python version: 3.6.9 t_polynomial_coefficients() determines the Chebyshev polynomial coefficients. p(x) = 1 p(x) = 1 * x p(x) = 2 * x^2 - 1 p(x) = 4 * x^3 - 3 * x p(x) = 8 * x^4 - 8 * x^2 + 1 p(x) = 16 * x^5 - 20 * x^3 + 5 * x t_polynomial_coefficients_test(): Normal end of execution. t_polynomial_plot_test(): Python version: 3.6.9 t_polynomial_plot() plots several Chebyshev T polynomials. Created plot file "t_polynomial_plot.png". t_polynomial_plot_test(): Normal end of execution. t_polynomial_value_test(): Python version: 3.6.9 t_polynomial_value() evaluates the Chebyshev polynomial T(n,x). Tabulated Computed N X T(n,x) T(n,x) Error -1 0.8 0 0 0 0 0.8 1 1 0 1 0.8 0.8 0.8 0 2 0.8 0.28 0.2800000000000002 -2.2e-16 3 0.8 -0.352 -0.3519999999999996 -3.3e-16 4 0.8 -0.8431999999999999 -0.8431999999999997 -2.2e-16 5 0.8 -0.99712 -0.99712 0 6 0.8 -0.752192 -0.7521920000000004 4.4e-16 7 0.8 -0.2063872 -0.2063872000000007 6.7e-16 8 0.8 0.42197248 0.4219724799999993 6.7e-16 9 0.8 0.881543168 0.8815431679999997 3.3e-16 10 0.8 0.9884965888 0.9884965888000001 -1.1e-16 11 0.8 0.70005137408 0.7000513740800007 -7.8e-16 12 0.8 0.131585609728 0.131585609728001 -1e-15 t_polynomial_value_test(): Normal end of execution. t_polynomial_values_test(): Python version: 3.6.9 t_polynomial_values() stores values of the Chebyshev T polynomials. N X FX -1 0.800000 0 0 0.800000 1 1 0.800000 0.8 2 0.800000 0.28 3 0.800000 -0.352 4 0.800000 -0.8431999999999999 5 0.800000 -0.99712 6 0.800000 -0.752192 7 0.800000 -0.2063872 8 0.800000 0.42197248 9 0.800000 0.881543168 10 0.800000 0.9884965888 11 0.800000 0.70005137408 12 0.800000 0.131585609728 t_polynomial_values_test(): Normal end of execution. t_polynomial_zeros_test(): Python version: 3.6.9 t_polynomial_zeros() computes the zeros of T(n,x) N X T(n,x) 0 6.123e-17 6.12323e-17 0 0.7071 2.22045e-16 1 -0.7071 -2.22045e-16 0 0.866 3.33067e-16 1 6.123e-17 -1.83697e-16 2 -0.866 -3.33067e-16 0 0.9239 -2.22045e-16 1 0.3827 -2.22045e-16 2 -0.3827 1.11022e-16 3 -0.9239 -2.22045e-16 0 0.9511 -4.44089e-16 1 0.5878 0 2 6.123e-17 3.06162e-16 3 -0.5878 -7.77156e-16 4 -0.9511 4.44089e-16 t_polynomial_zeros_test(): Normal end of execution. t_quadrature_rule_test(): Python version: 3.6.9 t_quadrature_rule() computes the quadrature rule associated with T(n,x) X W 0: -0.974928 0.448799 1: -0.781831 0.448799 2: -0.433884 0.448799 3: -1.61666e-16 0.448799 4: 0.433884 0.448799 5: 0.781831 0.448799 6: 0.974928 0.448799 Use the quadrature rule to estimate: Q = Integral ( -1 <= X <= +1 ) X^E / sqrt ( 1-x^2) dx E Q_Estimate Q_Exact 0 3.14159 3.14159 1 1.29846e-16 0 2 1.5708 1.5708 3 1.2228e-15 0 4 1.1781 1.1781 5 1.40868e-15 0 6 0.981748 0.981748 7 1.45698e-15 0 8 0.859029 0.859029 9 1.46409e-15 0 10 0.773126 0.773126 11 1.36213e-15 0 12 0.708699 0.708699 13 1.38821e-15 0 t_quadrature_rule_test(): Normal end of execution. tt_product_test(): tt_product(I,J;X) = T(I,X) * T(J,X) I J X TI TJ TI*TJ tt_product 4 0 -0.978007 0.667114 1 0.667114 0.667114 5 0 0.615933 -0.175344 1 -0.175344 -0.175344 3 2 -0.894259 -0.177773 0.599397 -0.106557 -0.106557 6 2 -0.718569 -0.0979077 0.0326825 -0.00319986 -0.00319986 6 1 0.870141 -0.998763 0.870141 -0.869065 -0.869065 1 -1 -0.186875 -0.186875 0 -0 0 6 1 -0.100223 -0.824006 -0.100223 0.0825845 0.0825845 2 0 0.93444 0.746356 1 0.746356 0.746356 4 -1 -0.229054 0.602295 0 0 0 3 -1 -0.144688 0.421949 0 0 0 tt_product_test(): Normal end of execution. tt_product_integral_test(): Python version: 3.6.9 tt_product_integral() computes the product integral of a pair of Chebyshev T polynomials T(i,x) and T(j,x). A(I,J) = integral ( -1 <=x <= +1 ) T(i,x) T(j,x) / sqrt ( 1 - x^2 ) dx 0 if i is not equal to j pi if i = j = 0 pi/2 if i = j =/= 0. T(i,x)*T(j,x) integral matrix: Col: 0 1 2 3 4 Row 0 : 3.14159 0 0 0 0 1 : 0 1.5708 0 0 0 2 : 0 0 1.5708 0 0 3 : 0 0 0 1.5708 0 4 : 0 0 0 0 1.5708 tt_product_integral_test(): Normal end of execution. ttt_product_integral_test(): ttt_product_integral() computes the triple integral Tijk = integral ( -1 <= x <= 1 ) T(i,x) T(j,x) T(k,x) / sqrt ( 1-x^2) dx I J K Tijk Tijk computed exact 2 2 1 0 -1.05471e-15 3 3 4 0 1.66533e-16 3 2 4 0 -3.55271e-15 5 2 2 0 -2.66454e-15 6 1 1 0 4.96825e-15 2 1 1 0.785398 0.785398 5 2 1 0 3.38618e-15 6 3 1 0 6.66134e-16 6 2 0 0 2.16493e-15 5 2 1 0 3.38618e-15 4 3 0 0 -2.44249e-15 4 2 1 0 -2.02616e-15 6 1 2 0 -4.32987e-15 4 3 2 0 -3.4972e-15 5 3 2 0.785398 0.785398 3 2 3 0 1.77636e-15 4 3 3 0 1.66533e-16 2 2 3 0 -2.85882e-15 4 2 3 0 -3.4972e-15 4 1 2 0 -1.9984e-15 ttt_product_integral_test(): Normal end of execution. tu_product_test(): tu_product(I,J;X) = T(I,X) * U(J,X) I J X TI UJ TI*UJ tu_product 1 -1 0.481494 0.481494 0 0 0 6 4 -0.0727197 -0.906151 0.93699 -0.849054 -0.849054 5 4 -0.7229 0.782306 -0.901501 -0.70525 -0.70525 2 -1 0.45783 -0.580783 0 -0 0 6 4 -0.209772 -0.298145 0.502933 -0.149947 -0.149947 2 0 0.464232 -0.568978 1 -0.568978 -0.568978 5 0 -0.977125 -0.478789 1 -0.478789 -0.478789 5 1 -0.435998 -0.774457 -0.871997 0.675324 0.675324 1 2 0.853458 0.853458 1.91356 1.63315 1.63315 5 0 -0.292577 -0.996288 1 -0.996288 -0.996288 tu_product_test(): Normal end of execution. u_mass_matrix_test(): Python version: 3.6.9 u_mass_matrix() computes the mass matrix for the Chebyshev U polynomials U(i,x). A(I,J) = integral ( -1 <=x <= +1 ) U(i,x) U(j,x) * sqrt ( 1 - x^2 ) dx 0 if i is not equal to j pi/2 if i = j. U mass matrix: Col: 0 1 2 3 Row 0 : 1.5708 2.59687e-16 -4.06447e-16 2.498e-16 1 : 2.77556e-16 1.5708 5.09256e-16 -5.55112e-17 2 :-3.88578e-16 5.09256e-16 1.5708 4.44089e-16 3 : 2.498e-16 3.76419e-17 5.37242e-16 1.5708 u_mass_matrix_test(): Normal end of execution. u_moment_test(): Python version: 3.6.9 u_moment() returns the value of integral ( -1 <=x <= +1 ) x^e * sqrt ( 1 - x^2 ) dx E Integral 0 1.5708 1 0 2 0.392699 3 0 4 0.19635 5 0 6 0.122718 7 0 8 0.0859029 9 0 10 0.0644272 u_moment_test(): Normal end of execution. u_polynomial_test(): Python version: 3.6.9 u_polynomial() evaluates the Chebyshev polynomial U(n,x). Tabulated Computed N X U(n,x) U(n,x) Error 0 0.8 1 1 0 1 0.8 1.6 1.6 0 2 0.8 1.56 1.56 -4.4e-16 3 0.8 0.896 0.8960000000000008 -7.8e-16 4 0.8 -0.1264 -0.1263999999999992 -8.3e-16 5 0.8 -1.09824 -1.098239999999999 -6.7e-16 6 0.8 -1.630784 -1.630784 0 7 0.8 -1.5110144 -1.511014400000001 6.7e-16 8 0.8 -0.78683904 -0.7868390400000014 1.3e-15 9 0.8 0.252071936 0.2520719359999986 1.4e-15 10 0.8 1.1901541376 1.190154137599999 8.9e-16 11 0.8 1.65217468416 1.65217468416 0 12 0.8 1.453325357056 1.453325357056001 -1.1e-15 u_polynomial_test(): Normal end of execution. u_polynomial_01_values_test(): Python version: 3.6.9 u_polynomial_01_values() stores values of the shifted Chebyshev U polynomials. N X FX -1 0.850000 0 0 0.850000 1 1 0.850000 1.4 2 0.850000 0.96 3 0.850000 -0.056 4 0.850000 -1.0384 5 0.850000 -1.39776 6 0.850000 -0.9184639999999999 7 0.850000 0.1119104 8 0.850000 1.07513856 9 0.850000 1.393283584 10 0.850000 0.8754584576 11 0.850000 -0.16764174336 12 0.850000 -1.110156898304 7 0.000000 -8 7 0.100000 1.5110144 7 0.200000 -1.1332608 7 0.300000 -0.1636352 7 0.400000 1.0198016 7 0.500000 0 7 0.600000 -1.0198016 7 0.700000 0.1636352 7 0.800000 1.1332608 7 0.900000 -1.5110144 7 1.000000 8 u_polynomial_01_values_test(): Normal end of execution. u_polynomial_ab_test(): Python version: 3.6.9 u_polynomial_ab() evaluates Chebyshev polynomials UAB(n,x) shifted from [-1,+1] to the domain [A,B]. Here, we will use the new domain [0,1] and the desired maximum polynomial degree will be N = 5. Tables of U values: Col: 0 1 2 3 4 Row 0 : 1 -2 3 -4 5 1 : 1 -1.6 1.56 -0.896 -0.1264 2 : 1 -1.2 0.44 0.672 -1.2464 3 : 1 -0.8 -0.36 1.088 -0.5104 4 : 1 -0.4 -0.84 0.736 0.5456 5 : 1 0 -1 -0 1 6 : 1 0.4 -0.84 -0.736 0.5456 7 : 1 0.8 -0.36 -1.088 -0.5104 8 : 1 1.2 0.44 -0.672 -1.2464 9 : 1 1.6 1.56 0.896 -0.1264 10 : 1 2 3 4 5 Col: 5 Row 0 : -6 1 : 1.09824 2 : 0.82368 3 : -0.67968 4 : -0.95424 5 : 0 6 : 0.95424 7 : 0.67968 8 : -0.82368 9 : -1.09824 10 : 6 u_polynomial_ab_test(): Normal end of execution. u_polynomial_ab_value_test(): Python version: 3.6.9 u_polynomial_ab_value() evaluates a Chebyshev polynomial UAB(n,x) shifted from [-1,+1] to the domain [A,B]. Here, we will use the new domain [0,1]. Tabulated Computed N X U01(n,x) U01(n,x) -1 0.8500 0 0 0 0.8500 1 1 1 0.8500 1.4 1.4 2 0.8500 0.96 0.96 3 0.8500 -0.056 -0.056 4 0.8500 -1.0384 -1.0384 5 0.8500 -1.39776 -1.39776 6 0.8500 -0.918464 -0.918464 7 0.8500 0.11191 0.11191 8 0.8500 1.07514 1.07514 9 0.8500 1.39328 1.39328 10 0.8500 0.875458 0.875458 11 0.8500 -0.167642 -0.167642 12 0.8500 -1.11016 -1.11016 7 0.0000 -8 -8 7 0.1000 1.51101 1.51101 7 0.2000 -1.13326 -1.13326 7 0.3000 -0.163635 -0.163635 7 0.4000 1.0198 1.0198 7 0.5000 0 -0 7 0.6000 -1.0198 -1.0198 7 0.7000 0.163635 0.163635 7 0.8000 1.13326 1.13326 7 0.9000 -1.51101 -1.51101 7 1.0000 8 8 u_polynomial_ab_value_test(): Normal end of execution. u_polynomial_coefficients_test(): Python version: 3.6.9 u_polynomial_coefficients() determines the Chebyshev polynomial coefficients. p(x) = 1 p(x) = 2 * x p(x) = 4 * x^2 - 1 p(x) = 8 * x^3 - 4 * x p(x) = 16 * x^4 - 12 * x^2 + 1 p(x) = 32 * x^5 - 32 * x^3 + 6 * x u_polynomial_coefficients_test(): Normal end of execution. u_polynomial_plot_test(): Python version: 3.6.9 u_polynomial_plot() plots several Chebyshev U polynomials. Created plot file "u_polynomial_plot.png". u_polynomial_plot_test(): Normal end of execution. u_polynomial_value_test(): Python version: 3.6.9 u_polynomial_value() evaluates the Chebyshev polynomial U(n,x). Tabulated Computed N X U(n,x) U(n,x) Error -1 0.8 0 0 0 0 0.8 1 1 0 1 0.8 1.6 1.6 0 2 0.8 1.56 1.56 -4.4e-16 3 0.8 0.896 0.8960000000000008 -7.8e-16 4 0.8 -0.1264 -0.1263999999999992 -8.3e-16 5 0.8 -1.09824 -1.098239999999999 -6.7e-16 6 0.8 -1.630784 -1.630784 0 7 0.8 -1.5110144 -1.511014400000001 6.7e-16 8 0.8 -0.78683904 -0.7868390400000014 1.3e-15 9 0.8 0.252071936 0.2520719359999986 1.4e-15 10 0.8 1.1901541376 1.190154137599999 8.9e-16 11 0.8 1.65217468416 1.65217468416 0 12 0.8 1.453325357056 1.453325357056001 -1.1e-15 u_polynomial_value_test(): Normal end of execution. u_polynomial_values_test(): Python version: 3.6.9 u_polynomial_values() stores values of the Chebyshev U polynomials. N X FX -1 0.800000 0 0 0.800000 1 1 0.800000 1.6 2 0.800000 1.56 3 0.800000 0.896 4 0.800000 -0.1264 5 0.800000 -1.09824 6 0.800000 -1.630784 7 0.800000 -1.5110144 8 0.800000 -0.78683904 9 0.800000 0.252071936 10 0.800000 1.1901541376 11 0.800000 1.65217468416 12 0.800000 1.453325357056 u_polynomial_values_test(): Normal end of execution. u_polynomial_zeros_test(): Python version: 3.6.9 u_polynomial_zeros() computes the zeros of U(n,x) N X U(n,x) 0 6.123e-17 1.22465e-16 0 0.5 4.44089e-16 1 -0.5 -8.88178e-16 0 0.7071 6.66134e-16 1 6.123e-17 -2.44929e-16 2 -0.7071 6.66134e-16 0 0.809 0 1 0.309 -1.11022e-16 2 -0.309 5.55112e-16 3 -0.809 -8.88178e-16 0 0.866 1.33227e-15 1 0.5 -8.88178e-16 2 6.123e-17 3.67394e-16 3 -0.5 -1.77636e-15 4 -0.866 -1.33227e-15 u_polynomial_zeros_test(): Normal end of execution. u_quadrature_rule_test(): Python version: 3.6.9 u_quadrature_rule() computes the quadrature rule associated with U(n,x) X W 0: -0.92388 0.0575094 1: -0.707107 0.19635 2: -0.382683 0.33519 3: 2.45521e-17 0.392699 4: 0.382683 0.33519 5: 0.707107 0.19635 6: 0.92388 0.0575094 Use the quadrature rule to estimate: Q = Integral ( -1 <= X <= +1 ) X^E * sqrt ( 1-x^2) dx E Q_Estimate Q_Exact 0 1.5708 1.5708 1 2.69371e-16 0 2 0.392699 0.392699 3 3.64207e-17 0 4 0.19635 0.19635 5 -1.16132e-17 0 6 0.122718 0.122718 7 -1.34582e-17 0 8 0.0859029 0.0859029 9 -7.12464e-20 0 10 0.0644272 0.0644272 11 6.53817e-18 0 12 0.0506214 0.0506214 13 1.87775e-17 0 u_quadrature_rule_test: Normal end of execution. uu_product_test(): uu_product(I,J;X) = U(I,X) * U(J,X) I J X UI UJ UI*UJ uu_product 3 -1 -0.396838 1.0874 0 0 0 1 3 -0.018015 -0.03603 0.0720133 -0.00259464 -0.00259464 6 0 -0.230562 0.0593563 1 0.0593563 0.0593563 4 1 0.899024 1.7532 1.79805 3.15234 3.15234 5 2 -0.154671 -0.812453 -0.904307 0.734707 0.734707 6 4 0.692942 -0.83555 -1.07304 0.896574 0.896574 4 3 -0.782109 -0.353609 -0.69886 0.247123 0.247123 6 -1 -0.183929 -0.277163 0 -0 0 0 0 -0.985863 1 1 1 1 2 3 0.888209 2.15566 2.05294 4.42544 4.42544 uu_product_test(): Normal end of execution. uu_product_integral_test(): Python version: 3.6.9 uu_product_integral() computes the product integral of a pair of Chebyshev U polynomials U(i,x) and U(j,x). A(I,J) = integral ( -1 <=x <= +1 ) U(i,x) U(j,x) sqrt ( 1 - x^2 ) dx 0 if i is not equal to j pi/2 if i = j U(i,x)*U(j,x) integral matrix: Col: 0 1 2 3 4 Row 0 : 1.5708 0 0 0 0 1 : 0 1.5708 0 0 0 2 : 0 0 1.5708 0 0 3 : 0 0 0 1.5708 0 4 : 0 0 0 0 1.5708 uu_product_integral_test(): Normal end of execution. v_mass_matrix_test(): Python version: 3.6.9 v_mass_matrix() computes the mass matrix for the Chebyshev polynomials V(i,x). A(I,J) = integral ( -1 <=x <= +1 ) V(i,x) V(j,x) sqrt(1+x)/sqrt(1-x) dx 0 if i is not equal to j pi if i = j =/= 0. V mass matrix: Col: 0 1 2 3 Row 0 : 3.14159 -2.32302e-15 -2.12222e-15 -8.93888e-16 1 :-2.22045e-15 3.14159 -1.16275e-15 -4.99628e-16 2 : -1.9984e-15 -1.21845e-15 3.14159 2.65159e-15 3 :-9.99201e-16 -5.30232e-16 2.65087e-15 3.14159 v_mass_matrix_test(): Normal end of execution. v_moment_test(): Python version: 3.6.9 v_moment() returns the value of integral ( -1 <=x <= +1 ) x^e * sqrt(1+x) / sqrt(1-x) dx E Integral 0 3.14159 1 1.5708 2 1.5708 3 1.1781 4 1.1781 5 0.981748 6 0.981748 7 0.859029 8 0.859029 9 0.773126 10 0.773126 v_moment_test(): Normal end of execution. v_polynomial_test(): Python version: 3.6.9 v_polynomial() evaluates the Chebyshev polynomial V(n,x). Tabulated Computed N X V(n,x) V(n,x) Error 0 0.8 1 1 0 1 0.8 0.6 0.6000000000000001 -1.1e-16 2 0.8 -0.04 -0.03999999999999981 -1.9e-16 3 0.8 -0.664 -0.6639999999999998 -2.2e-16 4 0.8 -1.0224 -1.0224 0 5 0.8 -0.97184 -0.9718400000000001 1.1e-16 6 0.8 -0.532544 -0.5325440000000004 3.3e-16 7 0.8 0.1197696 0.1197695999999996 4.2e-16 8 0.8 0.72417536 0.7241753599999997 3.3e-16 9 0.8 1.038910976 1.038910976 0 10 0.8 0.9380822016 0.9380822016000002 -2.2e-16 11 0.8 0.46202054656 0.4620205465600005 -4.4e-16 12 0.8 -0.198849327104 -0.1988493271039994 -6.1e-16 v_polynomial_test(): Normal end of execution. v_polynomial_01_values_test(): Python version: 3.6.9 v_polynomial_01_values() stores values of the shifted Chebyshev V polynomials. N X FX -1 0.850000 0 0 0.850000 1 1 0.850000 0.4 2 0.850000 -0.44 3 0.850000 -1.016 4 0.850000 -0.9824000000000001 5 0.850000 -0.35936 6 0.850000 0.479296 7 0.850000 1.0303744 8 0.850000 0.96322816 9 0.850000 0.318145024 10 0.850000 -0.5178251264 11 0.850000 -1.04310020096 12 0.850000 -0.942515154944 7 0.000000 -15 7 0.100000 3.1417984 7 0.200000 -1.3912448 7 0.300000 -1.2177792 7 0.400000 1.1837056 7 0.500000 1 7 0.600000 -0.8558976 7 0.700000 -0.8905088 7 0.800000 0.8752768 7 0.900000 0.1197696 7 1.000000 1 v_polynomial_01_values_test(): Normal end of execution. v_polynomial_ab_test(): Python version: 3.6.9 v_polynomial_ab() evaluates Chebyshev polynomials VAB(n,x) shifted from [-1,+1] to the domain [A,B]. Here, we will use the new domain [0,1] and the desired maximum polynomial degree will be N = 5. Tables of V values: Col: 0 1 2 3 4 Row 0 : 1 -3 5 -7 9 1 : 1 -2.6 3.16 -2.456 0.7696 2 : 1 -2.2 1.64 0.232 -1.9184 3 : 1 -1.8 0.44 1.448 -1.5984 4 : 1 -1.4 -0.44 1.576 -0.1904 5 : 1 -1 -1 1 1 6 : 1 -0.6 -1.24 0.104 1.2816 7 : 1 -0.2 -1.16 -0.728 0.5776 8 : 1 0.2 -0.76 -1.112 -0.5744 9 : 1 0.6 -0.04 -0.664 -1.0224 10 : 1 1 1 1 1 Col: 5 Row 0 : -11 1 : 1.22464 2 : 2.07008 3 : -0.16928 4 : -1.49984 5 : -1 6 : 0.40864 7 : 1.19008 8 : 0.42272 9 : -0.97184 10 : 1 v_polynomial_ab_test(): Normal end of execution. v_polynomial_ab_value_test(): Python version: 3.6.9 v_polynomial_ab_value() evaluates a Chebyshev polynomial VAB(n,x) shifted from [-1,+1] to the domain [A,B]. Here, we will use the new domain [0,1]. Tabulated Computed N X V01(n,x) V01(n,x) -1 0.8500 0 0 0 0.8500 1 1 1 0.8500 0.4 0.4 2 0.8500 -0.44 -0.44 3 0.8500 -1.016 -1.016 4 0.8500 -0.9824 -0.9824 5 0.8500 -0.35936 -0.35936 6 0.8500 0.479296 0.479296 7 0.8500 1.03037 1.03037 8 0.8500 0.963228 0.963228 9 0.8500 0.318145 0.318145 10 0.8500 -0.517825 -0.517825 11 0.8500 -1.0431 -1.0431 12 0.8500 -0.942515 -0.942515 7 0.0000 -15 -15 7 0.1000 3.1418 3.1418 7 0.2000 -1.39124 -1.39124 7 0.3000 -1.21778 -1.21778 7 0.4000 1.18371 1.18371 7 0.5000 1 1 7 0.6000 -0.855898 -0.855898 7 0.7000 -0.890509 -0.890509 7 0.8000 0.875277 0.875277 7 0.9000 0.11977 0.11977 7 1.0000 1 1 v_polynomial_ab_value_test(): Normal end of execution. v_polynomial_coefficients_test(): Python version: 3.6.9 v_polynomial_coefficients() determines the Chebyshev polynomial coefficients. p(x) = 1 p(x) = 2 * x - 1 p(x) = 4 * x^2 - 2 * x - 1 p(x) = 8 * x^3 - 4 * x^2 - 4 * x + 1 p(x) = 16 * x^4 - 8 * x^3 - 12 * x^2 + 4 * x + 1 p(x) = 32 * x^5 - 16 * x^4 - 32 * x^3 + 12 * x^2 + 6 * x - 1 p(x) = 64 * x^6 - 32 * x^5 - 80 * x^4 + 32 * x^3 + 24 * x^2 - 6 * x - 1 p(x) = 128 * x^7 - 64 * x^6 - 192 * x^5 + 80 * x^4 + 80 * x^3 - 24 * x^2 - 8 * x + 1 v_polynomial_coefficients_test(): Normal end of execution. v_polynomial_plot_test(): Python version: 3.6.9 v_polynomial_plot() plots several Chebyshev V polynomials. Created plot file "v_polynomial_plot.png". v_polynomial_plot_test(): Normal end of execution. v_polynomial_value_test(): Python version: 3.6.9 v_polynomial_value() evaluates the Chebyshev polynomial V(n,x). Tabulated Computed N X V(n,x) V(n,x) Error -1 0.8 0 0 0 0 0.8 1 1 0 1 0.8 0.6 0.6000000000000001 -1.1e-16 2 0.8 -0.04 -0.03999999999999981 -1.9e-16 3 0.8 -0.664 -0.6639999999999998 -2.2e-16 4 0.8 -1.0224 -1.0224 0 5 0.8 -0.97184 -0.9718400000000001 1.1e-16 6 0.8 -0.532544 -0.5325440000000004 3.3e-16 7 0.8 0.1197696 0.1197695999999996 4.2e-16 8 0.8 0.72417536 0.7241753599999997 3.3e-16 9 0.8 1.038910976 1.038910976 0 10 0.8 0.9380822016 0.9380822016000002 -2.2e-16 11 0.8 0.46202054656 0.4620205465600005 -4.4e-16 12 0.8 -0.198849327104 -0.1988493271039994 -6.1e-16 v_polynomial_value_test(): Normal end of execution. v_polynomial_values_test(): Python version: 3.6.9 v_polynomial_values() stores values of the Chebyshev V polynomials. N X FX -1 0.800000 0 0 0.800000 1 1 0.800000 0.6 2 0.800000 -0.04 3 0.800000 -0.664 4 0.800000 -1.0224 5 0.800000 -0.97184 6 0.800000 -0.532544 7 0.800000 0.1197696 8 0.800000 0.72417536 9 0.800000 1.038910976 10 0.800000 0.9380822016 11 0.800000 0.46202054656 12 0.800000 -0.198849327104 v_polynomial_values_test(): Normal end of execution. v_polynomial_zeros_test(): Python version: 3.6.9 v_polynomial_zeros() computes the zeros of V(n,x) N X V(n,x) 0 0.5 2.22045e-16 0 -0.309 -3.33067e-16 1 0.809 2.22045e-16 0 -0.6235 4.44089e-16 1 0.2225 -2.22045e-16 2 0.901 1.11022e-16 0 -0.766 -3.10862e-15 1 -0.1736 3.33067e-16 2 0.5 -6.66134e-16 3 0.9397 7.77156e-16 0 -0.8413 3.55271e-15 1 -0.4154 -1.11022e-15 2 0.1423 -1.66533e-16 3 0.6549 -2.22045e-16 4 0.9595 -4.44089e-16 v_polynomial_zeros_test(): Normal end of execution. v_quadrature_rule_test(): Python version: 3.6.9 v_quadrature_rule() computes the quadrature rule associated with V(n,x) X W 0: -0.913545 0.036214 1: -0.669131 0.138594 2: -0.309017 0.289438 3: 0.104528 0.462664 4: 0.5 0.628319 5: 0.809017 0.757759 6: 0.978148 0.828605 Use the quadrature rule to estimate: Q = Integral ( -1 <= X <= +1 ) X^E * sqrt(1+x)/sqrt(1-x) dx E Q_Estimate Q_Exact 0 3.14159 3.14159 1 1.5708 1.5708 2 1.5708 1.5708 3 1.1781 1.1781 4 1.1781 1.1781 5 0.981748 0.981748 6 0.981748 0.981748 7 0.859029 0.859029 8 0.859029 0.859029 9 0.773126 0.773126 10 0.773126 0.773126 11 0.708699 0.708699 12 0.708699 0.708699 13 0.658078 0.658078 v_quadrature_rule_test(): Normal end of execution. vv_product_integral_test(): Python version: 3.6.9 vv_product_integral() computes the product integral of a pair of Chebyshev V polynomials V(i,x) and V(j,x). A(I,J) = integral ( -1 <=x <= +1 ) V(i,x) V(j,x) sqrt ( 1 + x ) / sqrt ( 1 - x ) dx 0 if i is not equal to j pi if i = j V(i,x)*V(j,x) integral matrix: Col: 0 1 2 3 4 Row 0 : 3.14159 0 0 0 0 1 : 0 3.14159 0 0 0 2 : 0 0 3.14159 0 0 3 : 0 0 0 3.14159 0 4 : 0 0 0 0 3.14159 vv_product_integral_test(): Normal end of execution. w_mass_matrix_test(): Python version: 3.6.9 w_mass_matrix() computes the mass matrix for the Chebyshev polynomials W(i,x). A(I,J) = integral ( -1 <=x <= +1 ) W(i,x) W(j,x) sqrt(1-x)/sqrt(1+x) dx 0 if i is not equal to j pi if i = j. W mass matrix: Col: 0 1 2 3 Row 0 : 3.14159 2.17876e-15 -2.03206e-15 9.69981e-16 1 : 2.16493e-15 3.14159 1.04929e-15 -4.45383e-16 2 :-2.05391e-15 1.25581e-15 3.14159 -2.62941e-15 3 : 9.4369e-16 -5.97003e-16 -2.55303e-15 3.14159 w_mass_matrix_test(): Normal end of execution. w_moment_test(): Python version: 3.6.9 w_moment() returns the value of integral ( -1 <=x <= +1 ) x^e * sqrt(1-x) / sqrt(1+x) dx E Integral 0 3.14159 1 -1.5708 2 1.5708 3 -1.1781 4 1.1781 5 -0.981748 6 0.981748 7 -0.859029 8 0.859029 9 -0.773126 10 0.773126 w_moment_test: Normal end of execution. w_polynomial_test(): Python version: 3.6.9 w_polynomial() evaluates the Chebyshev polynomial W(n,x). Tabulated Computed N X W(n,x) W(n,x) Error 0 0.8 1 1 0 1 0.8 2.6 2.6 0 2 0.8 3.16 3.16 0 3 0.8 2.456 2.456000000000001 -8.9e-16 4 0.8 0.7696 0.7696000000000014 -1.4e-15 5 0.8 -1.22464 -1.224639999999999 -1.3e-15 6 0.8 -2.729024 -2.729023999999999 -8.9e-16 7 0.8 -3.1417984 -3.1417984 4.4e-16 8 0.8 -2.29785344 -2.297853440000002 1.8e-15 9 0.8 -0.534767104 -0.5347671040000024 2.3e-15 10 0.8 1.4422260736 1.442226073599998 2.2e-15 11 0.8 2.84232882176 2.842328821759999 8.9e-16 12 0.8 3.105500041216 3.105500041216001 -4.4e-16 w_polynomial_test(): Normal end of execution. w_polynomial_01_values_test(): Python version: 3.6.9 w_polynomial_01_values() stores values of the shifted Chebyshev W polynomials. N X FX -1 0.850000 0 0 0.850000 1 1 0.850000 2.4 2 0.850000 2.36 3 0.850000 0.904 4 0.850000 -1.0944 5 0.850000 -2.43616 6 0.850000 -2.316224 7 0.850000 -0.8065536 8 0.850000 1.18704896 9 0.850000 2.468422144 10 0.850000 2.2687420416 11 0.850000 0.70781671424 12 0.850000 -1.277798641664 7 0.000000 -1 7 0.100000 -0.1197696 7 0.200000 -0.8752768 7 0.300000 0.8905088 7 0.400000 0.8558976 7 0.500000 -1 7 0.600000 -1.1837056 7 0.700000 1.2177792 7 0.800000 1.3912448 7 0.900000 -3.1417984 7 1.000000 15 w_polynomial_01_values_test(): Normal end of execution. w_polynomial_ab_test(): Python version: 3.6.9 w_polynomial_ab() evaluates Chebyshev polynomials WAB(n,x) shifted from [-1,+1] to the domain [A,B]. Here, we will use the new domain [0,1] and the desired maximum polynomial degree will be N = 5. Tables of W values: Col: 0 1 2 3 4 Row 0 : 1 -1 1 -1 1 1 : 1 -0.6 -0.04 0.664 -1.0224 2 : 1 -0.2 -0.76 1.112 -0.5744 3 : 1 0.2 -1.16 0.728 0.5776 4 : 1 0.6 -1.24 -0.104 1.2816 5 : 1 1 -1 -1 1 6 : 1 1.4 -0.44 -1.576 -0.1904 7 : 1 1.8 0.44 -1.448 -1.5984 8 : 1 2.2 1.64 -0.232 -1.9184 9 : 1 2.6 3.16 2.456 0.7696 10 : 1 3 5 7 9 Col: 5 Row 0 : -1 1 : 0.97184 2 : -0.42272 3 : -1.19008 4 : -0.40864 5 : 1 6 : 1.49984 7 : 0.16928 8 : -2.07008 9 : -1.22464 10 : 11 w_polynomial_ab_test(): Normal end of execution. w_polynomial_ab_value_test(): Python version: 3.6.9 w_polynomial_ab_value() evaluates a Chebyshev polynomial WAB(n,x) shifted from [-1,+1] to the domain [A,B]. Here, we will use the new domain [0,1]. Tabulated Computed N X W01(n,x) W01(n,x) -1 0.8500 0 0 0 0.8500 1 1 1 0.8500 2.4 2.4 2 0.8500 2.36 2.36 3 0.8500 0.904 0.904 4 0.8500 -1.0944 -1.0944 5 0.8500 -2.43616 -2.43616 6 0.8500 -2.31622 -2.31622 7 0.8500 -0.806554 -0.806554 8 0.8500 1.18705 1.18705 9 0.8500 2.46842 2.46842 10 0.8500 2.26874 2.26874 11 0.8500 0.707817 0.707817 12 0.8500 -1.2778 -1.2778 7 0.0000 -1 -1 7 0.1000 -0.11977 -0.11977 7 0.2000 -0.875277 -0.875277 7 0.3000 0.890509 0.890509 7 0.4000 0.855898 0.855898 7 0.5000 -1 -1 7 0.6000 -1.18371 -1.18371 7 0.7000 1.21778 1.21778 7 0.8000 1.39124 1.39124 7 0.9000 -3.1418 -3.1418 7 1.0000 15 15 w_polynomial_ab_value_test(): Normal end of execution. w_polynomial_coefficients_test(): Python version: 3.6.9 w_polynomial_coefficients() determines the Chebyshev polynomial coefficients. p(x) = 1 p(x) = 2 * x + 1 p(x) = 4 * x^2 + 2 * x - 1 p(x) = 8 * x^3 + 4 * x^2 - 4 * x - 1 p(x) = 16 * x^4 + 8 * x^3 - 12 * x^2 - 4 * x + 1 p(x) = 32 * x^5 + 16 * x^4 - 32 * x^3 - 12 * x^2 + 6 * x + 1 p(x) = 64 * x^6 + 32 * x^5 - 80 * x^4 - 32 * x^3 + 24 * x^2 + 6 * x - 1 p(x) = 128 * x^7 + 64 * x^6 - 192 * x^5 - 80 * x^4 + 80 * x^3 + 24 * x^2 - 8 * x - 1 w_polynomial_coefficients_test(): Normal end of execution. w_polynomial_plot_test(): Python version: 3.6.9 w_polynomial_plot() plots several Chebyshev W polynomials. Created plot file "w_polynomial_plot.png". w_polynomial_plot_test(): Normal end of execution. w_polynomial_value_test(): Python version: 3.6.9 w_polynomial_value() evaluates the Chebyshev polynomial W(n,x). Tabulated Computed N X W(n,x) W(n,x) Error -1 0.8 0 0 0 0 0.8 1 1 0 1 0.8 2.6 2.6 0 2 0.8 3.16 3.16 0 3 0.8 2.456 2.456000000000001 -8.9e-16 4 0.8 0.7696 0.7696000000000014 -1.4e-15 5 0.8 -1.22464 -1.224639999999999 -1.3e-15 6 0.8 -2.729024 -2.729023999999999 -8.9e-16 7 0.8 -3.1417984 -3.1417984 4.4e-16 8 0.8 -2.29785344 -2.297853440000002 1.8e-15 9 0.8 -0.534767104 -0.5347671040000024 2.3e-15 10 0.8 1.4422260736 1.442226073599998 2.2e-15 11 0.8 2.84232882176 2.842328821759999 8.9e-16 12 0.8 3.105500041216 3.105500041216001 -4.4e-16 w_polynomial_value_test(): Normal end of execution. w_polynomial_values_test(): Python version: 3.6.9 w_polynomial_values() stores values of the Chebyshev W polynomials. N X FX -1 0.800000 0 0 0.800000 1 1 0.800000 2.6 2 0.800000 3.16 3 0.800000 2.456 4 0.800000 0.7696 5 0.800000 -1.22464 6 0.800000 -2.729024 7 0.800000 -3.1417984 8 0.800000 -2.29785344 9 0.800000 -0.534767104 10 0.800000 1.4422260736 11 0.800000 2.84232882176 12 0.800000 3.105500041216 w_polynomial_values_test(): Normal end of execution. w_polynomial_zeros_test(): Python version: 3.6.9 w_polynomial_zeros() computes the zeros of W(n,x) N X W(n,x) 0 -0.5 4.44089e-16 0 -0.809 -3.33067e-16 1 0.309 2.22045e-16 0 -0.901 8.88178e-16 1 -0.2225 -3.33067e-16 2 0.6235 4.44089e-16 0 -0.9397 -6.66134e-16 1 -0.5 1.33227e-15 2 0.1736 -5.55112e-16 3 0.766 -8.88178e-16 0 -0.9595 4.44089e-16 1 -0.6549 -6.66134e-16 2 -0.1423 1.05471e-15 3 0.4154 0 4 0.8413 3.10862e-15 w_polynomial_zeros_test(): Normal end of execution. w_quadrature_rule_test(): Python version: 3.6.9 w_quadrature_rule() computes the quadrature rule associated with W(n,x) X W 0: -0.978148 0.828605 1: -0.809017 0.757759 2: -0.5 0.628319 3: -0.104528 0.462664 4: 0.309017 0.289438 5: 0.669131 0.138594 6: 0.913545 0.036214 Use the quadrature rule to estimate: Q = Integral ( -1 <= X <= +1 ) X^E * sqrt (1-x)/sqrt(1+x) dx E Q_Estimate Q_Exact 0 3.14159 3.14159 1 -1.5708 -1.5708 2 1.5708 1.5708 3 -1.1781 -1.1781 4 1.1781 1.1781 5 -0.981748 -0.981748 6 0.981748 0.981748 7 -0.859029 -0.859029 8 0.859029 0.859029 9 -0.773126 -0.773126 10 0.773126 0.773126 11 -0.708699 -0.708699 12 0.708699 0.708699 13 -0.658078 -0.658078 w_quadrature_rule_test(): Normal end of execution. ww_product_integral_test(): Python version: 3.6.9 ww_product_integral() computes the product integral of a pair of Chebyshev W polynomials W(i,x) and W(j,x). A(I,J) = integral ( -1 <=x <= +1 ) W(i,x) W(j,x) sqrt ( 1 - x ) / sqrt ( 1 + x ) dx 0 if i is not equal to j pi if i = j W(i,x)*W(j,x) integral matrix: Col: 0 1 2 3 4 Row 0 : 3.14159 0 0 0 0 1 : 0 3.14159 0 0 0 2 : 0 0 3.14159 0 0 3 : 0 0 0 3.14159 0 4 : 0 0 0 0 3.14159 ww_product_integral_test(): Normal end of execution. chebyshev_polynomial_test(): Normal end of execution. Tue Oct 19 11:25:22 2021