MathGroup Archive 2006

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Problem plotting high-order Laguerre polynomials

  • To: mathgroup at smc.vnet.net
  • Subject: [mg63879] Re: [mg63849] Problem plotting high-order Laguerre polynomials
  • From: "Elinor K. Irish" <eirish at pas.rochester.edu>
  • Date: Fri, 20 Jan 2006 04:32:33 -0500 (EST)
  • References: <200601190502.AAA21278@smc.vnet.net>
  • Reply-to: eirish at pas.rochester.edu
  • Sender: owner-wri-mathgroup at wolfram.com

I want to say thank you to the people who have replied to my message
already.  From the responses I've received, it seems that I need to
clarify the problem a bit further.  The function I gave is the simplest
example I could come up with which illustrates the problem I'm running
into.  I am actually trying to plot functions which involve sums over
terms of that form, from n=0 to n=70 or so.  Also, the actual functions
I'm working with are two-dimensional, so I'm doing 3D plots.

So, my questions are:
1. Why does using Evaluate on this type of function give incorrect results?
2. What is the fastest way to plot it correctly?

For example, on my machine the command

    Plot[func /. n -> 40, {q, 0, 30}, PlotRange -> All]

typically takes 0.06 seconds to execute, while the command

    Plot[Evaluate[func /. n -> 40], {q, 0, 30}, PlotRange -> All]

takes 0.01 seconds.  Using the form

    func2[n_][q_] := Exp[-q^2] 1/Pi LaguerreL[n, 2 q^2]
    Plot[func2[40][q], {q, 0, 30}, PlotRange -> All]

as suggested takes 0.05-0.06 seconds, which doesn't really help.

Let me know if I can clarify this further.

Thanks,
Elinor

> Hi folks,
> I'm doing some work which involves plotting fairly high-order Laguerre
polynomials, up to 200 or so.  I've been getting some very strange and
obviously incorrect results which seem to have to do with the order of
evaluation.  (I'm using Mathematica 5.0, but I've checked it in 5.2 and
I
> get the same problems.)  Here are some examples with a simple form of
the
> type of function I'm working with:
>
> func = 1/Pi Exp[- q^2] LaguerreL[n, 2 q^2]
>
> These commands work, displaying the expected oscillatory result:
>
> Plot[func /. n -> 40, {q, 0, 30}, PlotRange -> All]
> Plot[Evaluate[func] /. n -> 40, {q, 0, 30}, PlotRange -> All]
>
> This form, however, results in a big mess which isn't even bounded
correctly:
>
> Plot[Evaluate[func /. n -> 40], {q, 0, 30}, PlotRange -> All]
>
> I don't know whether this is a bug or if there's a subtlety of
> Plot/Evaluate/etc. which I don't understand.  I would very much like to
be
> able to use Evaluate on my functions before plotting them, because my
actual calculations involve complicated sums over expressions like that
above and take a LONG time to plot.  (With Evaluate, a single plot takes
about 20 minutes; without it the same plot takes nearly 4 hours.)
>
> Could anyone shed some light on this problem?  I have more examples,
including some involving sums, which I can give if needed.  I've been
fighting with this issue for a long time...
>
> Thanks,
> Elinor
>
>
>
> ______________________________
> Elinor K. Irish
> Dept. of Physics and Astronomy
> University of Rochester
> Rochester, NY  14627 USA
> eirish at pas.rochester.edu
>
>





  • Prev by Date: Re: Problem plotting high-order Laguerre polynomials
  • Next by Date: Re: Problem plotting high-order Laguerre polynomials
  • Previous by thread: Problem plotting high-order Laguerre polynomials
  • Next by thread: Re: Problem plotting high-order Laguerre polynomials