Re: NIntegrate to compute LegendreP approximations to functions

*To*: mathgroup at smc.vnet.net*Subject*: [mg122999] Re: NIntegrate to compute LegendreP approximations to functions*From*: DrMajorBob <btreat1 at austin.rr.com>*Date*: Sun, 20 Nov 2011 05:35:24 -0500 (EST)*Delivered-to*: l-mathgroup@mail-archive0.wolfram.com

The constant term in an indefinite integral is arbitrary, so what do you mean by computing it "properly"? This may be the plot you want: Plot[{u, -1 + Sum[c[k] LegendreP[k, t], {k, 0, 20}]}, {t, -1, 1}] Bobby On Sat, 19 Nov 2011 05:46:10 -0600, J. Jes=FAs Rico Melgoza <jerico at umich.mx> wrote: > Thanks for the advise. Though, I don't see why the constant term is not > calculated properly. > The resulting approximation in > > Plot[{u, Sum[c[k] LegendreP[k, t], {k, 0, 20}]}, {t, -1, 1}] > > has a different c[0]. > J. Rico > > > El 18/11/2011, a las 06:50, Bob Hanlon escribi==F3: > >> Do the integration once. >> >> u = Sign[t]; >> >> c[k_] = Simplify[ >> (2 k + 1)/2 Integrate[u LegendreP[k, t], {t, -1, 1}], >> Element[k, Integers]] >> >> ((1 + 2*k)*Sqrt[Pi])/(2*Gamma[1 - k/2]*Gamma[(3 + k)/2]) >> >> >> Bob Hanlon >> >> >> 2011/11/18 "J. Jes=FAs Rico Melgoza" <jerico at umich.mx>: >>> >>> Hello >>> I am approximating general scalar functions via orthogonal series. I am >>> using LegendreP polynomials. >>> As an example, I have approximated a Sign function. The coefficients >>> have been calculated as follows: >>> >>> n = 20; >>> u = Sign[t]; >>> N[Table[(2 k + 1)/2 Integrate[u LegendreP[k, t], {t, -1, 1}], {k, 0, >>> n}]] >>> >>> Everything works well but I would like to speed up computations since >>> for large values of n, Integrate takes long computations times. I need >>> to speed up the process since in general I will be approximating >>> multi-variable functions. I have tried NIntegrate but I get multiple >>> messages such as >>> >>> NIntegrate::slwcon : "Numerical integration converging too slowly; >>> suspect \ >>> one of the following: singularity, value of the integration is 0, >>> highly >>> \ >>> oscillatory integrand, or WorkingPrecision too small. >>> =91=99=98ButtonBox[" >>> ", >>> Appearance->{Automatic, None}, >>> BaseStyle->"Link", >>> ButtonData:>"paclet:ref/message/NIntegrate/slwcon", >>> ButtonNote->"NIntegrate::slwcon"]" >>> >>> NIntegrate is a very complete function in Mathematica, so much that it >>> has been rather difficult to find an adequate combination of a method >>> and a strategy of integration that would improve the timing of >>> Integrate. >>> >>> Could anyone give me some advice? >>> >>> Jesus Rico-Melgoza >> > > -- DrMajorBob at yahoo.com