MathGroup Archive 2005

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

Search the Archive

Re: format of "Solve" output

  • To: mathgroup at smc.vnet.net
  • Subject: [mg59949] Re: format of "Solve" output
  • From: Jean-Marc Gulliet <jeanmarc.gulliet at gmail.com>
  • Date: Fri, 26 Aug 2005 04:53:39 -0400 (EDT)
  • Organization: The Open University, Milton Keynes, U.K.
  • References: <200508190831.EAA27442@smc.vnet.net> <dek84b$a8k$1@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

Ed Peschko wrote:
> hey all,
> 
> I had a simple question that I can't find a simple answer for in the docs:
> 
> When you solve an equation using 'Solve', it comes out in the format:
> 
> {{ x -> a+b, y ->  2 a + b}}
> 
> However, when you try to transform the equations for use in FindInstance, 
> say by using:
> 
> 
> 	Fold[And, 1, Apply[Equal, %25[[1]], {1}]]
> 
> you get:
> 
> 	"x" == "a" + "b" && "y" + 2 "a" + "b"
> 
> In other words, variables lose their variableness. So, when you
> plug the results into, say, FindInstance it complains that "a" is not
> a variable.
> 
> Is there any reason for this? And how can you turn the character strings
> back into variables?
> 
> Thanks,
> 
> Ed
> 
Hi Ed,

I do not get any string conversion.

In[1]:=
sols = {{x -> a + b, y -> 2*a + b}}

Out[1]=
{{x -> a + b, y -> 2*a + b}}

In[2]:=
Drop[Fold[And, 1, Apply[Equal, sols[[1]], {1}]], 1]

Out[2]=
x == a + b && y == 2*a + b

You could try the following approach

In[3]:=
Flatten[sols /. Rule -> Equal]

Out[3]=
{x == a + b, y == 2*a + b}

In[4]:=
$Version

Out[4]=
"5.2 for Microsoft Windows (June 20, 2005)"

Best regards,
/J.M.


  • Prev by Date: Re: format of "Solve" output
  • Next by Date: Re: format of "Solve" output
  • Previous by thread: Re: format of "Solve" output
  • Next by thread: Re: format of "Solve" output