Re: Re: Solve weirdness again
- To: mathgroup at smc.vnet.net
- Subject: [mg35072] Re: [mg35043] Re: Solve weirdness again
- From: Andrzej Kozlowski <andrzej at platon.c.u-tokyo.ac.jp>
- Date: Mon, 24 Jun 2002 03:20:54 -0400 (EDT)
- Sender: owner-wri-mathgroup at wolfram.com
Well actually Mathematica can solve this, provided one eliminates mistakes in the input and uses rational numbers rather than floating point ones. In[3]:= Solve[Rationalize[{k*0.01^p==0.1,k*0.1^p==1.}],{k,p}] From In[3]:= Solve::ifun: Inverse functions are being used by Solve, so some solutions may \ not be found. Out[3]= {{k->10,p->1}} It is a little strange why this does not work without Rationalize since, I think, Solve normally applies Rationalize anyway, at least in the multivariate case. What is even stranger that NSolve also requires Rationalize in this case. Looks looks to me like there is a minor bug somewhere. Andrzej On Friday, June 21, 2002, at 12:54 PM, David W. Cantrell wrote: > "Joshua A. Solomon" <J.A.Solomon at city.ac.uk> wrote: >> There was a transcription error in my original message. >> Allow me to try again. >> Why doesn't >> >> Solve[{k*.01^p==10,k*.1^p==1},{k,p}] >> >> produce >> >> {{k->10.,p->-1.}} >> >> ? > > There appears to be another error remaining. If your equations are now > correct, then I presume you meant to ask why {{k->0.1,p->-1.0}} is not > produced. > > I would say that Mathematica _should_ be able to solve the system. The > equations do not really "involve variables in an essentially > nonalgebraic > way", as Mathematica uses that phrase. > > Here's one way to help Mathematica: > > In[1]:= > Eliminate[{k*a^p==b,k*c^p==d},k] > > Out[1]= > a^p*d == b*c^p > > In[2]:= > Solve[%,p] > > Solve::ifun: Inverse functions are being used by Solve, so some > solutions > may not be found. > > Out[2]= > {{p -> -(Log[b/d]/(-Log[a] + Log[c]))}} > > Then to get k, just substitute the value obtained for p in either of the > original equations. > > It's unfortunate that Mathematica can't do this on its own under just > the > Solve command. It really should be able to do so, it seems to me. > > Regards, > David > > -- > -------------------- http://NewsReader.Com/ -------------------- > Usenet Newsgroup Service > > > Andrzej Kozlowski Toyama International University JAPAN http://platon.c.u-tokyo.ac.jp/andrzej/