Re: Avoiding imaginary numbers in DSolve
- To: mathgroup at smc.vnet.net
- Subject: [mg37995] Re: [mg37977] Avoiding imaginary numbers in DSolve
- From: Andrzej Kozlowski <andrzej at tuins.ac.jp>
- Date: Mon, 25 Nov 2002 01:56:18 -0500 (EST)
- Sender: owner-wri-mathgroup at wolfram.com
You can get an expression not involving explicit I by evaluating: ComplexExpand[t[r]/.DSolve[(-Derivative[ 2][t][r])*r^2+ M*Derivative[1][t][r]^3==0,t[r],r],TargetFunctions->{Re,Im}] This expression is very much more complicated than the one you go originally. What's more, it is only an illusion that it is "real". Since the answer contains *arbitrary* constants it will be real for some choices of these and complex for others. All you are doing is giving yourself a certain psychological comfort without any mathematical benefit. The answer is not any more real than before but it is so much more complicated as to be nearly useless. On Sunday, November 24, 2002, at 09:14 AM, Dave Snead wrote: > I'm using DSolve to solve a differential equation, the result of which > should be real but instead I get combinations > > of quantities involving the imaginary I (which I assume reduces to a > real > quantity). How do I get results that look > > real and avoid I? Thanks in advance. > > > > (FullSimplify[#1, M > 0 && r > 0] & )[ > > DSolve[(-Derivative[2][t][r])*r^2 + > > M*Derivative[1][t][r]^3 == 0, t[r], r]] > > > > {{t[r] -> Sqrt[r*(M - r*C[1])]/(Sqrt[2]*C[1]) + C[2] - > > (I*M*Log[2*((-I)*Sqrt[2]*Sqrt[r*C[1]] + > > Sqrt[2*M - 2*r*C[1]])])/(Sqrt[2]*C[1]^(3/2))}, > > {t[r] -> -(Sqrt[r*(M - r*C[1])]/(Sqrt[2]*C[1])) + C[2] + > > (I*M*Log[2*((-I)*Sqrt[2]*Sqrt[r*C[1]] + > > Sqrt[2*M - 2*r*C[1]])])/(Sqrt[2]*C[1]^(3/2))}} > > > > > > > Andrzej Kozlowski Yokohama, Japan http://www.mimuw.edu.pl/~akoz/ http://platon.c.u-tokyo.ac.jp/andrzej/