Wed Sep 12 21:11:22 2018 CHEBYSHEV_POLYNOMIAL_TEST Python version: 3.6.5 Test the CHEBYSHEV_POLYNOMIAL library. GAMMA_VALUES_TEST: Python version: 3.6.5 GAMMA_VALUES stores values of the Gamma function. X GAMMA(X) -0.500000 -3.5449077018110322 -0.010000 -100.5871979644108052 0.010000 99.4325851191506018 0.100000 9.5135076986687324 0.200000 4.5908437119988026 0.400000 2.2181595437576882 0.500000 1.7724538509055161 0.600000 1.4891922488128171 0.800000 1.1642297137253030 1.000000 1.0000000000000000 1.100000 0.9513507698668732 1.200000 0.9181687423997607 1.300000 0.8974706963062772 1.400000 0.8872638175030753 1.500000 0.8862269254527581 1.600000 0.8935153492876903 1.700000 0.9086387328532904 1.800000 0.9313837709802427 1.900000 0.9617658319073874 2.000000 1.0000000000000000 3.000000 2.0000000000000000 4.000000 6.0000000000000000 10.000000 362880.0000000000000000 20.000000 121645100408832000.0000000000000000 30.000000 8841761993739701898620088352768.0000000000000000 GAMMA_VALUES_TEST: Normal end of execution. I4_UNIFORM_AB_TEST Python version: 3.6.5 I4_UNIFORM_AB computes pseudorandom values in an interval [A,B]. The lower endpoint A = -100 The upper endpoint B = 200 The initial seed is 123456789 1 -35 2 187 3 149 4 69 5 25 6 -81 7 -23 8 -67 9 -87 10 90 11 -82 12 35 13 20 14 127 15 139 16 -100 17 170 18 5 19 -72 20 -96 I4_UNIFORM_AB_TEST: Normal end of execution. IMTQLX_TEST Python version: 3.6.5 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_CHOOSE_TEST Python version: 3.6.5 R8_CHOOSE evaluates C(N,K). N K CNK 0 0 1 1 0 1 1 1 1 2 0 1 2 1 2 2 2 1 3 0 1 3 1 3 3 2 3 3 3 1 4 0 1 4 1 4 4 2 6 4 3 4 4 4 1 5 0 1 5 1 5 5 2 10 5 3 10 5 4 5 5 5 1 R8_CHOOSE_TEST Normal end of execution. R8_EPSILON_TEST Python version: 3.6.5 R8_EPSILON produces the R8 roundoff unit. R = R8_EPSILON() = 2.220446e-16 ( 1 + R ) - 1 = 2.220446e-16 ( 1 + (R/2) ) - 1 = 0.000000e+00 R8_EPSILON_TEST Normal end of execution. R8_FACTORIAL_TEST Python version: 3.6.5 R8_FACTORIAL evaluates the factorial function. N Exact Computed 0 1 1 1 1 1 2 2 2 3 6 6 4 24 24 5 120 120 6 720 720 7 5040 5040 8 40320 40320 9 362880 362880 10 3628800 3628800 11 39916800 39916800 12 479001600 479001600 13 6227020800 6227020800 14 87178291200 87178291200 15 1307674368000 1307674368000 16 20922789888000 20922789888000 17 355687428096000 355687428096000 18 6402373705728000 6402373705728000 19 1.21645100408832e+17 1.21645100408832e+17 20 2.43290200817664e+18 2.43290200817664e+18 25 1.551121004333099e+25 1.551121004333099e+25 50 3.041409320171338e+64 3.041409320171338e+64 100 9.332621544394415e+157 9.33262154439441e+157 150 5.713383956445855e+262 5.71338395644585e+262 R8_FACTORIAL_TEST Normal end of execution. R8_GAMMA_TEST: Python version: 3.6.5 R8_GAMMA evaluates the Gamma function. X GAMMA(X) R8_GAMMA(X) -0.5 -3.544907701811032 -3.544907701811032 -0.01 -100.5871979644108 -100.5871979644108 0.01 99.4325851191506 99.4325851191506 0.1 9.513507698668732 9.513507698668731 0.2 4.590843711998803 4.590843711998803 0.4 2.218159543757688 2.218159543757688 0.5 1.772453850905516 1.772453850905516 0.6 1.489192248812817 1.489192248812817 0.8 1.164229713725303 1.164229713725303 1 1 1 1.1 0.9513507698668732 0.9513507698668732 1.2 0.9181687423997607 0.9181687423997607 1.3 0.8974706963062772 0.8974706963062772 1.4 0.8872638175030753 0.8872638175030754 1.5 0.8862269254527581 0.8862269254527581 1.6 0.8935153492876903 0.8935153492876903 1.7 0.9086387328532904 0.9086387328532904 1.8 0.9313837709802427 0.9313837709802427 1.9 0.9617658319073874 0.9617658319073874 2 1 1 3 2 2 4 6 6 10 362880 362880 20 1.21645100408832e+17 1.216451004088321e+17 30 8.841761993739702e+30 8.841761993739751e+30 R8_GAMMA_TEST Normal end of execution. R8_HYPER_2F1_TEST Python version: 3.6.5 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.22045e-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 0 2.5 3.3 6.7 0.85 5.73816 5.73816 3.97016e-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 36864 1.1 6.7 -0.5 0.85 -4.4635e+08 -4.4635e+08 4.76837e-07 1.1 6.7 0.5 0.85 5.38351e+06 5.38351e+06 8.3819e-09 3.3 6.7 4.5 0.85 20396.9 20396.9 1.45519e-11 R8_HYPER_2F1_TEST Normal end of execution. R8_MOP_TEST Python version: 3.6.5 R8_MOP evaluates (-1.0)^I4 as an R8. I4 R8_MOP(I4) -57 -1.0 92 1.0 66 1.0 12 1.0 -17 -1.0 -87 -1.0 -49 -1.0 -78 1.0 -92 1.0 27 -1.0 R8_MOP_TEST Normal end of execution. R8_PSI_TEST: Python version: 3.6.5 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. R8_UNIFORM_AB_TEST Python version: 3.6.5 R8_UNIFORM_AB returns random values in a given range: [ A, B ] For this problem: A = 10.000000 B = 20.000000 12.184183 19.563176 18.295092 15.616954 14.153071 10.661187 12.575778 11.099568 10.438290 16.339657 R8_UNIFORM_AB_TEST Normal end of execution R8MAT_PRINT_TEST Python version: 3.6.5 R8MAT_PRINT prints an R8MAT. Here is an R8MAT: Col: 0 1 2 3 4 Row 0 : 11 12 13 14 15 1 : 21 22 23 24 25 2 : 31 32 33 34 35 3 : 41 42 43 44 45 Col: 5 Row 0 : 16 1 : 26 2 : 36 3 : 46 R8MAT_PRINT_TEST: Normal end of execution. R8MAT_PRINT_SOME_TEST Python version: 3.6.5 R8MAT_PRINT_SOME prints some of an R8MAT. Here is an R8MAT: Col: 3 4 5 Row 0 : 14 15 16 1 : 24 25 26 2 : 34 35 36 R8MAT_PRINT_SOME_TEST: Normal end of execution. R8POLY_PRINT_TEST Python version: 3.6.5 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. R8VEC_PRINT_TEST Python version: 3.6.5 R8VEC_PRINT prints an R8VEC. Here is an R8VEC: 0: 123.456 1: 5e-06 2: -1e+06 3: 3.14159 R8VEC_PRINT_TEST: Normal end of execution. R8VEC2_PRINT_TEST Python version: 3.6.5 R8VEC2_PRINT prints a pair of R8VEC's. Print a pair of R8VEC's: 0: 0 0 1: 0.2 0.04 2: 0.4 0.16 3: 0.6 0.36 4: 0.8 0.64 5: 1 1 R8VEC2_PRINT_TEST: Normal end of execution. T_MASS_MATRIX_TEST: Python version: 3.6.5 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.83187e-15 -1.11586e-15 1.11022e-15 1 :-1.88738e-15 1.5708 -4.44089e-16 -3.88148e-16 2 :-1.11022e-15 -4.44089e-16 1.5708 -5.55112e-16 3 : 1.11022e-15 -3.80755e-16 -3.88578e-16 1.5708 T_MASS_MATRIX_TEST: Normal end of execution. T_MOMENT_TEST: Python version: 3.6.5 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.5 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.5 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.5 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.5 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.5 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.5 Plot 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.5 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.5 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.5 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.5 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.94289e-16 0 2 1.5708 1.5708 3 1.11022e-15 0 4 1.1781 1.1781 5 1.38778e-15 0 6 0.981748 0.981748 7 1.38778e-15 0 8 0.859029 0.859029 9 1.44329e-15 0 10 0.773126 0.773126 11 1.44329e-15 0 12 0.708699 0.708699 13 1.38778e-15 0 T_QUADRATURE_RULE_TEST: Normal end of execution. TT_PRODUCT_TEST: Python version: 3.6.5 TT_PRODUCT(I,J;X) = T(I,X) * T(J,X) I J X TI TJ TI*TJ TT_PRODUCT 6 3 -0.563163 0.901462 0.975054 0.878974 0.878974 2 -1 0.123391 -0.969549 0 -0 0 0 -1 -0.484844 1 0 0 0 0 1 0.267931 1 0.267931 0.267931 0.267931 5 3 -0.197387 -0.83792 0.5614 -0.470408 -0.470408 6 1 -0.996323 0.870454 -0.996323 -0.867254 -0.867254 0 4 -0.81091 1 -0.801359 -0.801359 -0.801359 0 -1 0.681695 1 0 0 0 6 -1 -0.479394 0.989962 0 0 0 5 0 -0.296743 -0.997927 1 -0.997927 -0.997927 TT_PRODUCT_TEST: Normal end of execution. TT_PRODUCT_INTEGRAL_TEST: Python version: 3.6.5 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: Python version: 3.6.5 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 3 3 4 0 1.66533e-16 4 2 0 0 4.52416e-15 3 1 0 0 1.22125e-15 5 1 2 0 3.41394e-15 4 3 3 0 1.66533e-16 2 3 1 0.785398 0.785398 2 1 4 0 -2.05391e-15 6 1 0 0 -1.97065e-15 3 3 0 1.5708 1.5708 3 3 1 0 -1.41553e-15 5 2 4 0 -6.13398e-15 4 3 2 0 -3.4972e-15 2 3 1 0.785398 0.785398 2 2 1 0 -1.05471e-15 5 2 1 0 3.38618e-15 5 1 1 0 -1.7486e-15 6 3 0 0 -6.66134e-15 5 1 3 0 -4.55191e-15 5 1 4 0.785398 0.785398 5 3 2 0.785398 0.785398 TTT_PRODUCT_INTEGRAL_TEST: Normal end of execution. TU_PRODUCT_TEST: Python version: 3.6.5 TU_PRODUCT(I,J;X) = T(I,X) * U(J,X) I J X TI UJ TI*UJ TU_PRODUCT 6 3 -0.563163 0.901462 0.823782 0.742608 0.742608 2 -1 0.123391 -0.969549 0 -0 0 0 -1 -0.484844 1 0 0 0 0 1 0.267931 1 0.535863 0.535863 0.535863 5 3 -0.197387 -0.83792 0.728025 -0.610027 -0.610027 6 1 -0.996323 0.870454 -1.99265 -1.73451 -1.73451 0 4 -0.81091 1 0.0275857 0.0275857 0.0275857 0 -1 0.681695 1 0 0 0 6 -1 -0.479394 0.989962 0 0 0 5 0 -0.296743 -0.997927 1 -0.997927 -0.997927 TU_PRODUCT_TEST: Normal end of execution. U_MASS_MATRIX_TEST: Python version: 3.6.5 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 1.78289e-16 -4.10901e-16 2.22045e-16 1 : 2.22045e-16 1.5708 5.55112e-16 -1.65156e-17 2 :-3.88578e-16 5.55112e-16 1.5708 5.16116e-16 3 : 2.22045e-16 7.66324e-17 4.73081e-16 1.5708 U_MASS_MATRIX_TEST: Normal end of execution. U_MOMENT_TEST: Python version: 3.6.5 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.5 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.5 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.5 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.5 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.5 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.5 Plot 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.5 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.5 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.5 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.5 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.91434e-16 0 2 0.392699 0.392699 3 5.20417e-17 0 4 0.19635 0.19635 5 -6.93889e-18 0 6 0.122718 0.122718 7 -1.38778e-17 0 8 0.0859029 0.0859029 9 0 0 10 0.0644272 0.0644272 11 3.46945e-18 0 12 0.0506214 0.0506214 13 1.73472e-17 0 U_QUADRATURE_RULE_TEST: Normal end of execution. UU_PRODUCT_TEST: Python version: 3.6.5 UU_PRODUCT(I,J;X) = U(I,X) * U(J,X) I J X UI UJ UI*UJ UU_PRODUCT 6 3 -0.563163 0.606464 0.823782 0.499594 0.499594 2 -1 0.123391 -0.939099 0 -0 0 0 -1 -0.484844 1 0 0 0 0 1 0.267931 1 0.535863 0.535863 0.535863 5 3 -0.197387 -0.947815 0.728025 -0.690033 -0.690033 6 1 -0.996323 6.59497 -1.99265 -13.1414 -13.1414 0 4 -0.81091 1 0.0275857 0.0275857 0.0275857 0 -1 0.681695 1 0 0 0 6 -1 -0.479394 1.06717 0 0 0 5 0 -0.296743 -1.01792 1 -1.01792 -1.01792 UU_PRODUCT_TEST: Normal end of execution. UU_PRODUCT_INTEGRAL_TEST: Python version: 3.6.5 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.5 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.16493e-15 -2.10942e-15 -8.88178e-16 1 :-2.05391e-15 3.14159 -1.11022e-15 -4.44089e-16 2 : -1.9984e-15 -1.11022e-15 3.14159 2.60902e-15 3 :-8.88178e-16 -4.44089e-16 2.60902e-15 3.14159 V_MASS_MATRIX_TEST: Normal end of execution. V_MOMENT_TEST: Python version: 3.6.5 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.5 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.5 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.5 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.5 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.5 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.5 Plot 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.5 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.5 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.5 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.5 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.5 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.5 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.05391e-15 -2.10942e-15 8.88178e-16 1 : 2.05391e-15 3.14159 8.88178e-16 -4.44089e-16 2 : -1.9984e-15 1.11022e-15 3.14159 -2.60902e-15 3 : 8.88178e-16 -5.55112e-16 -2.58127e-15 3.14159 W_MASS_MATRIX_TEST: Normal end of execution. W_MOMENT_TEST: Python version: 3.6.5 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.5 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.5 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.5 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.5 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.5 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.5 Plot 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.5 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.5 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.5 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.5 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.5 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. Wed Sep 12 21:11:23 2018