Why Is My Gaussian Quadrature Implementation Inaccurate?

Join the discussion
Ask a follow-up here, or get your own question answered by working scientists, mathematicians and engineers — people, not an autocomplete.
Real named experts · corrections over time · the nuance an AI answer skips
1 reply · 4K views
valis
Messages
1
Reaction score
0
I'm trying to make a generalized quadrature method and I seem to be running into some bizarre errors. For n=2 my answer is twice what it should be and for n greater the innaccuracy increases (answer/n is close but worse than answer/2 with n=2). My general algorithm is:
p = nth legendre polynomial
[itex]g = x \rightarrow f\left(\frac{b-a}{2}x+\frac{b+a}{2}\right)[/itex] where f is the function to integrate
xs = n roots of p
ws = weights based on value of n (2 => +/-0.57735026918963)
[itex]\frac{b-a}{2}\sum^n_0{w_ig(x_i)}[/itex]

I've checked my generation of legendre functions and they're consistently correct. I also generated a list of roots and verified some against wikipedia's list. Have I stupidly mangled the actual gaussian quadrature algorithm?

I'm writing this in haskell so my code is 1:1 with the pseduo-code above.

Thanks ahead for the help.

Sorry if this is in the wrong forum, it's not coursework, but it is academic.
 
Last edited:
Physics news on Phys.org