re: About RSolve
- To: mathgroup at yoda.physics.unc.edu
- Subject: re: About RSolve
- From: Paul=Rubin%Management%Business at banyan.cl.msu.edu
- Date: Thu, 26 May 94 13:10:05 EDT
Keehong Song wrote:
>I need help!!!
>I tried to find the general formula for p[n] using Mathematica.
>I used "RSolve" package as well as eigenvalue method.
>The answer is supposed to be n!/n^n.
>
>======== Problem is following ========
>p[n_] := ((n-1)/n)^(n-1) p[n-1]
>p[1] = 1
>======================================
It seems to take more cleverness than one would like (i.e., Mma is not
doing enough of the intellectual work IMHO). Try working with
lp[n] = Log[ p[n] ].
In[]:=
sol =
RSolve[ {lp[n] == (n-1) Log[(n-1)/n] + lp[n-1] /; n>=2,
lp[1] == 0}, lp[n], n ]
Out[]=
{{lp[n] ->
1 + K[1]
Sum[Log[--------],
2 + K[1]
{K[1], -If[DiscreteMath`RSolve`Private`pom == 0,
0, 0], -2 + n}] +
1 + K[2]
Sum[K[2] Log[--------], {K[2], 0, -2 + n}]}}
2 + K[2]
RSolve solves the equation, although there is an If in the solution that is
rather pointless. The following fixes that:
In[]:=
sol = sol /. If[a_, 0, 0] -> 0
Out[]=
{{lp[n] ->
1 + K[1]
Sum[Log[--------], {K[1], 0, -2 + n}] +
2 + K[1]
1 + K[2]
Sum[K[2] Log[--------], {K[2], 0, -2 + n}]}}
2 + K[2]
Note that the two sums both telescope and give the right value for lp[n]
(Log[ (n-1)!/n^(n-1) ]), although I don't know how to convince Mma to do
that without explicitly making all the substitutions and reductions yourself.
So this is not a fully satisfactory answer.
**************************************************************************
* Paul A. Rubin Phone: (517) 336-3509 *
* Department of Management Fax: (517) 336-1111 *
* Eli Broad Graduate School of Management Net: RUBIN at MSU.EDU *
* Michigan State University *
* East Lansing, MI 48824-1122 (USA) *
**************************************************************************