%typeset_mode True
var('x, xi') x_nodes = [-1, 1] xi_LGL = [-1.0, \ -0.87174014851, \ -0.591700181433,\ -0.209299217902,\ 0.209299217902, \ 0.591700181433, \ 0.87174014851, \ 1.0] lobatto_weights = [0.03571428571429,\ 0.21070422714351,\ 0.34112269248350,\ 0.41245879465870,\ 0.41245879465870,\ 0.34112269248350,\ 0.21070422714351,\ 0.03571428571429]
(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
diff(L_0).simplify_full() diff(L_1).simplify_full() diff(L_2).simplify_full() diff(L_3).simplify_full() diff(L_4).simplify_full() diff(L_5).simplify_full() diff(L_6).simplify_full() diff(L_7).simplify_full()
−23.4609375001ξ6+20.109375ξ5+19.3359375001ξ4−15.46875ξ3−3.16406250001ξ2+2.109375ξ+0.0390624999999
56.9850590277ξ6−42.5795689883ξ5−56.73738842ξ4+39.5682075259ξ3+9.99482613636ξ2−5.80859414696ξ−0.124853746365
−72.5069578025ξ6+36.7734686459ξ5+93.4167757919ξ4−44.219778548ξ3−26.0101114236ξ2+10.260125099ξ+0.34481881174
79.7286962395ξ6−14.3032746577ξ5−120.16481251ξ4+20.1203210222ξ3+47.0205241407ξ2−6.560905952ξ−3.0303592934
−79.7286962395ξ6−14.3032746577ξ5+120.16481251ξ4+20.1203210222ξ3−47.0205241407ξ2−6.560905952ξ+3.0303592934
72.5069578025ξ6+36.7734686459ξ5−93.4167757919ξ4−44.219778548ξ3+26.0101114236ξ2+10.260125099ξ−0.34481881174
−56.9850590277ξ6−42.5795689883ξ5+56.73738842ξ4+39.5682075259ξ3−9.99482613636ξ2−5.80859414696ξ+0.124853746365
23.4609375001ξ6+20.109375ξ5−19.3359375001ξ4−15.46875ξ3+3.16406250001ξ2+2.109375ξ−0.0390624999999