Re: NIntegrate to compute LegendreP approximations to functions
- To: mathgroup at smc.vnet.net
- Subject: [mg123001] Re: NIntegrate to compute LegendreP approximations to functions
- From: DrMajorBob <btreat1 at austin.rr.com>
- Date: Sun, 20 Nov 2011 05:35:46 -0500 (EST)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
Oops, disregard my earlier comment, as that's a DEFINITE integral. Bobby On Sat, 19 Nov 2011 14:19:04 -0600, DrMajorBob <btreat1 at austin.rr.com> wrote: > 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