︠9c3c2d53-8f72-4831-92d7-84d5e9bd82das︠ import numpy as np ︡f1f1236a-b634-4eeb-ae7c-4d1e4d470e71︡{"done":true}︡ ︠643162eb-8d8e-4e25-bce1-36a014a0dc6ds︠ 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] ︡fa996588-0b87-4aa0-8d8c-96932faf482a︡{"stdout":"(x, xi)\n"}︡{"done":true}︡ ︠8f6d1a3f-0b03-4fd3-a033-f65b52f9ed5ds︠ #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])) \ ︡dbca03f6-117d-4f21-b5b3-5354de46afa7︡{"done":true}︡ ︠7f7c5668-64cd-4a15-9b3c-6b0b17f777d7s︠ numerical_integral(L_0, -1, 1) ︡b4103aaf-246c-4651-908f-ccccd30e001e︡{"stderr":"Error in lines 1-1\nTraceback (most recent call last):\n File \"/cocalc/lib/python2.7/site-packages/smc_sagews/sage_server.py\", line 996, in execute\n exec compile(block+'\\n', '', 'single') in namespace, locals\n File \"\", line 1, in \nNameError: name 'L_0' is not defined\n"}︡{"done":true}︡ ︠44eb39ea-da73-44cd-a48b-a5d52b82c21es︠ diff(L_0)(xi_LGL[0]), diff(L_0)(xi_LGL[1]), diff(L_0)(xi_LGL[2]), diff(L_0)(xi_LGL[3]), diff(L_0)(xi_LGL[4]), diff(L_0)(xi_LGL[5]), diff(L_0)(xi_LGL[6]), diff(L_0)(xi_LGL[7]) diff(L_1)(xi_LGL[0]), diff(L_1)(xi_LGL[1]), diff(L_1)(xi_LGL[2]), diff(L_1)(xi_LGL[3]), diff(L_1)(xi_LGL[4]), diff(L_1)(xi_LGL[5]), diff(L_1)(xi_LGL[6]), diff(L_1)(xi_LGL[7]) diff(L_2)(xi_LGL[0]), diff(L_2)(xi_LGL[1]), diff(L_2)(xi_LGL[2]), diff(L_2)(xi_LGL[3]), diff(L_2)(xi_LGL[4]), diff(L_2)(xi_LGL[5]), diff(L_2)(xi_LGL[6]), diff(L_2)(xi_LGL[7]) diff(L_3)(xi_LGL[0]), diff(L_3)(xi_LGL[1]), diff(L_3)(xi_LGL[2]), diff(L_3)(xi_LGL[3]), diff(L_3)(xi_LGL[4]), diff(L_3)(xi_LGL[5]), diff(L_3)(xi_LGL[6]), diff(L_3)(xi_LGL[7]) diff(L_4)(xi_LGL[0]), diff(L_4)(xi_LGL[1]), diff(L_4)(xi_LGL[2]), diff(L_4)(xi_LGL[3]), diff(L_4)(xi_LGL[4]), diff(L_4)(xi_LGL[5]), diff(L_4)(xi_LGL[6]), diff(L_4)(xi_LGL[7]) diff(L_5)(xi_LGL[0]), diff(L_5)(xi_LGL[1]), diff(L_5)(xi_LGL[2]), diff(L_5)(xi_LGL[3]), diff(L_5)(xi_LGL[4]), diff(L_5)(xi_LGL[5]), diff(L_5)(xi_LGL[6]), diff(L_5)(xi_LGL[7]) diff(L_6)(xi_LGL[0]), diff(L_6)(xi_LGL[1]), diff(L_6)(xi_LGL[2]), diff(L_6)(xi_LGL[3]), diff(L_6)(xi_LGL[4]), diff(L_6)(xi_LGL[5]), diff(L_6)(xi_LGL[6]), diff(L_6)(xi_LGL[7]) diff(L_7)(xi_LGL[0]), diff(L_7)(xi_LGL[1]), diff(L_7)(xi_LGL[2]), diff(L_7)(xi_LGL[3]), diff(L_7)(xi_LGL[4]), diff(L_7)(xi_LGL[5]), diff(L_7)(xi_LGL[6]), diff(L_7)(xi_LGL[7]) ︡676e71ed-d013-4ec2-915e-cefd39e9e9ac︡{"stdout":"(-14.0000000000226, -3.20991570302344, 0.792476681323880, -0.372150435728984, 0.243330712724289, -0.203284568901545, 0.219957514771985, -0.500000000000000)\n"}︡{"stdout":"(18.9375986071129, 3.31501492922825e-11, -2.80647579473469, 1.07894468878725, -0.661157350899271, 0.537039586158262, -0.573565414940005, 1.29768738831567)\n"}︡{"stdout":"(-7.56928981931106, 4.54358506455201, -6.49491571635963e-12, -2.37818723350641, 1.13535801687865, -0.845022556506714, 0.869448098330221, -1.94165942553537)\n"}︡{"stdout":"(4.29790816425547, -2.11206121431525, 2.87551740597844, -1.18891563261059e-11, -2.38892435916370, 1.37278583181113, -1.29423205091574, 2.81018898925442)\n"}︡{"stdout":"(-2.81018898925442, 1.29423205091574, -1.37278583181113, 2.38892435916370, 1.18891563261059e-11, -2.87551740597844, 2.11206121431525, -4.29790816425547)\n"}︡{"stdout":"(1.94165942553537, -0.869448098330221, 0.845022556506714, -1.13535801687865, 2.37818723350641, 6.49480469405717e-12, -4.54358506455201, 7.56928981931106)\n"}︡{"stdout":"(-1.29768738831567, 0.573565414940005, -0.537039586158262, 0.661157350899271, -1.07894468878725, 2.80647579473469, -3.31504823591899e-11, -18.9375986071129)\n"}︡{"stdout":"(0.500000000000000, -0.219957514771985, 0.203284568901545, -0.243330712724289, 0.372150435728984, -0.792476681323880, 3.20991570302344, 14.0000000000226)\n"}︡{"done":true}︡ ︠c5d7aa18-60c2-49ab-835a-0504e42f2273︠ lobatto_weights = [0.03571428571429,\ 0.21070422714351,\ 0.34112269248350,\ 0.41245879465870,\ 0.41245879465870,\ 0.34112269248350,\ 0.21070422714351,\ 0.03571428571429] ︡804c4b1a-7526-4bd7-a583-b5ccfdf87306︡{"done":true}︡ ︠812d6d47-a23b-411d-a05f-4c46bd2c67a3︠ diff(L_0)(xi_LGL[0]) * lobatto_weights[0] ︡ffef8db8-0c39-4123-b795-c9c5f60d5240︡{"stdout":"-0.500000000000866\n"}︡{"done":true}︡ ︠63240d98-6382-4a31-b8c3-7fe551519e0b︠ ︡c6b9c1a7-1ff0-4205-81fb-9ebbbb7eb26e︡ ︠4a8a6e5d-367c-41c9-b83b-63707cbefc97s︠ L_0.simplify_full() ︡e6cf2cd4-7cc8-4502-b61b-48b205999f21︡{"stdout":"-3.351562500008004*xi^7 + 3.351562500008006*xi^6 + 3.867187500010295*xi^5 - 3.867187500010297*xi^4 - 1.054687500002225*xi^3 + 1.054687500002225*xi^2 + 0.03906249999993106*xi - 0.03906249999993102"}︡{"stdout":"\n"}︡{"done":true}︡︡ ︠7a5310f8-646a-47ce-969b-e6e52a8e82cbs︠ (14 - 7 **0.5)/30 ︡55f0f1c7-2b94-4bf4-aa77-62e6bb88401b︡{"stdout":"0.378474956297847\n"}︡{"done":true}︡ ︠e6c92bfc-b2e8-437e-bf80-2958439a0844︠