Gauss–Laguerre kvadratur

I numerisk analys är Gauss–Laguerre-kvadratur (uppkallad efter Carl Friedrich Gauss och Edmond Laguerre ) en förlängning av den Gaussiska kvadraturmetoden för att approximera värdet av integraler av följande slag:

I detta fall

där x i är den i -te roten av Laguerrepolynomet L n ( x ) och vikten w i ges av

Följande Python-kod med SymPy -biblioteket tillåter beräkning av värdena för och till 20 siffrors precision:

   

 
      
       
          
                     
      

 från  sympy  import  *  def  lag_weights_roots  (  n  ):  x  =  Symbol  (  "x"  )  rötter  =  Poly  (  laguerre  (  n  ,  x  ))  .  all_roots  ()  x_i  =  [  rt  .  evalf  (  20  )  för  rt  i  rötter  ]  w_i  =  [(  rt  /  ((  n  +  1  )  *  laguerre  (  n  +  1  ,  rt  ))  **  2  )  .  evalf  (  20  )  för  rt  in  roots  ]  return  x_i  ,  w_i  print  (  lag_weights_roots  (  5  )) 

För mer allmänna funktioner

För att integrera funktionen tillämpar vi följande transformation

där . För den sista integralen använder man sedan Gauss-Laguerre kvadratur. Observera att även om detta tillvägagångssätt fungerar ur ett analytiskt perspektiv, är det inte alltid numeriskt stabilt.

Generaliserad Gauss–Laguerre kvadratur

Mer generellt kan man också överväga integrander som har en känd potenslagssingularitet vid x =0, för något reellt tal , vilket leder till integraler av formen:

I det här fallet ges vikterna i termer av de generaliserade Laguerre-polynomen :

där är rötterna till .

Detta gör att man effektivt kan utvärdera sådana integraler för polynom eller jämn f ( x ) även när α inte är ett heltal.

Vidare läsning

externa länkar