Mathematica 9 is now available
Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
2002
*January
*February
*March
*April
*May
*June
*July
*August
*September
*October
*November
*December
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 2002

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

Search the Archive

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/



  • Prev by Date: Re: Re: Table as Graphics Object?
  • Next by Date: Re: Working with Strings
  • Previous by thread: Re: Solve weirdness again
  • Next by thread: Importing .mat file from matlab