|
[Date Index]
[Thread Index]
[Author Index]
Re: Better recursive method?
- To: mathgroup at smc.vnet.net
- Subject: [mg72831] Re: Better recursive method?
- From: Johan Grönqvist <johan.gronqvist at gmail.com>
- Date: Sun, 21 Jan 2007 06:14:02 -0500 (EST)
- References: <eosh0f$9bs$1@smc.vnet.net>
nandan skrev:
> This should be pretty easy to calculate for Mathematica. I have written
> it the following way:
> pi[0,theta] := 0;
> pi[1,theta] := 1;
I believe this should be pi[0,theta_] := 0
> pi[i_, theta_] := pi[i, theta] =(2n-1)/(n-1) Cos[theta] pi[i-1, theta]
> - n/(n-1) pi[i-2,theta]
Here n is a free variable, and I get a huge expression when trying to
evaluate this. Is it correct to guess that n should be i?
I also believe that in general it is best to add an N[...] in the
definition of pi, to avoid a large polynomial expression in rational
numbers and Cos[theta].
If that is the case, and after setting $RecursionLimit = Infinity, it
takes me 0.052003 Second to calculate pi[1000,1].
My kernel quits silently when attempting pi[10000,1], and I would be
interested in knowing why.
> in IDL, it calculates
> in fraction of a second. Even the simple calculation of 'pi[40,pi/4]'
> took more than 350 seconds.
>
> What could be the problem in my logic. Is there any other better way to
> write recursive functions in Mathematica?
>
I believe it is about avoiding analytical expressions when you only want
numerical answers.
Hope this can help somewhat.
/ johan
Prev by Date:
Re: how to quickly read a >10MB big file
Next by Date:
Kernel Quits without error message. (Was: Better recursive method?)
Previous by thread:
Re: Better recursive method?
Next by thread:
Re: Better recursive method?
|