%typeset_mode True
var('xi') xi_LGL = [-1.0, \ -0.87174014851, \ -0.591700181433,\ -0.209299217902,\ 0.209299217902, \ 0.591700181433, \ 0.87174014851, \ 1.0]
(x, ξ)
#Assigning L_0 and L_1 as the lagrange basis polynomials. L_0 = ((xi - (xi_LGL[1])) / (xi_LGL[0] - xi_LGL[1]))\ * ((xi - (xi_LGL[2])) / (xi_LGL[0] - xi_LGL[2]))\ * ((xi - (xi_LGL[3])) / (xi_LGL[0] - xi_LGL[3]))\ * ((xi - (xi_LGL[4])) / (xi_LGL[0] - xi_LGL[4]))\ * ((xi - (xi_LGL[5])) / (xi_LGL[0] - xi_LGL[5]))\ * ((xi - (xi_LGL[6])) / (xi_LGL[0] - xi_LGL[6]))\ * ((xi - (xi_LGL[7])) / (xi_LGL[0] - xi_LGL[7])) L_1 = ((xi - (xi_LGL[0])) / (xi_LGL[1] - xi_LGL[0]))\ * ((xi - (xi_LGL[2])) / (xi_LGL[1] - xi_LGL[2]))\ * ((xi - (xi_LGL[3])) / (xi_LGL[1] - xi_LGL[3]))\ * ((xi - (xi_LGL[4])) / (xi_LGL[1] - xi_LGL[4]))\ * ((xi - (xi_LGL[5])) / (xi_LGL[1] - xi_LGL[5]))\ * ((xi - (xi_LGL[6])) / (xi_LGL[1] - xi_LGL[6]))\ * ((xi - (xi_LGL[7])) / (xi_LGL[1] - xi_LGL[7])) L_2 = ((xi - (xi_LGL[0])) / (xi_LGL[2] - xi_LGL[0])) \ * ((xi - (xi_LGL[1])) / (xi_LGL[2] - xi_LGL[1])) \ * ((xi - (xi_LGL[3])) / (xi_LGL[2] - xi_LGL[3])) \ * ((xi - (xi_LGL[4])) / (xi_LGL[2] - xi_LGL[4])) \ * ((xi - (xi_LGL[5])) / (xi_LGL[2] - xi_LGL[5])) \ * ((xi - (xi_LGL[6])) / (xi_LGL[2] - xi_LGL[6])) \ * ((xi - (xi_LGL[7])) / (xi_LGL[2] - xi_LGL[7])) L_3 = ((xi - (xi_LGL[0])) / (xi_LGL[3] - xi_LGL[0])) \ * ((xi - (xi_LGL[1])) / (xi_LGL[3] - xi_LGL[1])) \ * ((xi - (xi_LGL[2])) / (xi_LGL[3] - xi_LGL[2])) \ * ((xi - (xi_LGL[4])) / (xi_LGL[3] - xi_LGL[4])) \ * ((xi - (xi_LGL[5])) / (xi_LGL[3] - xi_LGL[5])) \ * ((xi - (xi_LGL[6])) / (xi_LGL[3] - xi_LGL[6])) \ * ((xi - (xi_LGL[7])) / (xi_LGL[3] - xi_LGL[7])) L_4 = ((xi - (xi_LGL[0])) / (xi_LGL[4] - xi_LGL[0])) \ * ((xi - (xi_LGL[1])) / (xi_LGL[4] - xi_LGL[1])) \ * ((xi - (xi_LGL[2])) / (xi_LGL[4] - xi_LGL[2])) \ * ((xi - (xi_LGL[3])) / (xi_LGL[4] - xi_LGL[3])) \ * ((xi - (xi_LGL[5])) / (xi_LGL[4] - xi_LGL[5])) \ * ((xi - (xi_LGL[6])) / (xi_LGL[4] - xi_LGL[6])) \ * ((xi - (xi_LGL[7])) / (xi_LGL[4] - xi_LGL[7])) L_5 = ((xi - (xi_LGL[0])) / (xi_LGL[5] - xi_LGL[0])) \ * ((xi - (xi_LGL[1])) / (xi_LGL[5] - xi_LGL[1])) \ * ((xi - (xi_LGL[2])) / (xi_LGL[5] - xi_LGL[2])) \ * ((xi - (xi_LGL[3])) / (xi_LGL[5] - xi_LGL[3])) \ * ((xi - (xi_LGL[4])) / (xi_LGL[5] - xi_LGL[4])) \ * ((xi - (xi_LGL[6])) / (xi_LGL[5] - xi_LGL[6])) \ * ((xi - (xi_LGL[7])) / (xi_LGL[5] - xi_LGL[7])) L_6 = ((xi - (xi_LGL[0])) / (xi_LGL[6] - xi_LGL[0])) \ * ((xi - (xi_LGL[1])) / (xi_LGL[6] - xi_LGL[1])) \ * ((xi - (xi_LGL[2])) / (xi_LGL[6] - xi_LGL[2])) \ * ((xi - (xi_LGL[3])) / (xi_LGL[6] - xi_LGL[3])) \ * ((xi - (xi_LGL[4])) / (xi_LGL[6] - xi_LGL[4])) \ * ((xi - (xi_LGL[5])) / (xi_LGL[6] - xi_LGL[5])) \ * ((xi - (xi_LGL[7])) / (xi_LGL[6] - xi_LGL[7])) L_7 = ((xi - (xi_LGL[0])) / (xi_LGL[7] - xi_LGL[0])) \ * ((xi - (xi_LGL[1])) / (xi_LGL[7] - xi_LGL[1])) \ * ((xi - (xi_LGL[2])) / (xi_LGL[7] - xi_LGL[2])) \ * ((xi - (xi_LGL[3])) / (xi_LGL[7] - xi_LGL[3])) \ * ((xi - (xi_LGL[4])) / (xi_LGL[7] - xi_LGL[4])) \ * ((xi - (xi_LGL[5])) / (xi_LGL[7] - xi_LGL[5])) \ * ((xi - (xi_LGL[6])) / (xi_LGL[7] - xi_LGL[6])) \
L_0.simplify_full() L_1.simplify_full() L_2.simplify_full() L_3.simplify_full() L_4.simplify_full() L_5.simplify_full() L_6.simplify_full() L_7.simplify_full()
−3.35156250001ξ7+3.35156250001ξ6+3.86718750001ξ5−3.86718750001ξ4−1.0546875ξ3+1.0546875ξ2+0.0390624999999ξ−0.0390624999999
8.14072271825ξ7−7.09659483138ξ6−11.347477684ξ5+9.89205188146ξ4+3.33160871212ξ3−2.90429707348ξ2−0.124853746365ξ+0.108840023398
−10.3581368289ξ7+6.12891144098ξ6+18.6833551584ξ5−11.054944637ξ4−8.6700371412ξ3+5.13006254948ξ2+0.34481881174ξ−0.204029353468
11.3898137485ξ7−2.38387910961ξ6−24.032962502ξ5+5.03008025554ξ4+15.6735080469ξ3−3.280452976ξ2−3.0303592934ξ+0.63425183007
−11.3898137485ξ7−2.38387910961ξ6+24.032962502ξ5+5.03008025554ξ4−15.6735080469ξ3−3.280452976ξ2+3.0303592934ξ+0.63425183007
10.3581368289ξ7+6.12891144098ξ6−18.6833551584ξ5−11.054944637ξ4+8.6700371412ξ3+5.13006254948ξ2−0.34481881174ξ−0.204029353468
−8.14072271825ξ7−7.09659483138ξ6+11.347477684ξ5+9.89205188146ξ4−3.33160871212ξ3−2.90429707348ξ2+0.124853746365ξ+0.108840023398
3.35156250001ξ7+3.35156250001ξ6−3.86718750001ξ5−3.86718750001ξ4+1.0546875ξ3+1.0546875ξ2−0.0390624999999ξ−0.0390624999999
import numpy as np xi_set = np.linspace(-1, 1, 10) for xi_ in xi_set: print L_0(xi = xi_), print '\n' for xi_ in xi_set: print L_1(xi = xi_), print '\n' for xi_ in xi_set: print L_2(xi = xi_),
1.00000000000000 -0.132053542476430 0.0258385534173595 0.0466392318246838 -0.0295830894993247 -0.0236664715994598 0.0233196159123419 0.00738244383353131 -0.0165066928095537 0.000000000000000
0.000000000000000 0.758576206458160 -0.0882186919073414 -0.140270136955740 0.0839718544026725 0.0649858563619554 -0.0626703672768669 -0.0195428257173647 0.0432111816452180 -0.000000000000000
-0.000000000000000 0.487391303737210 0.981920359634066 0.371926962822827 -0.169103048286541 -0.115634278542167 0.103881206003751 0.0309356866966560 -0.0662242146131606 0.000000000000000