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.
- References:
- Nested Lists, Definition and Evaluation.
- From: "Alexander" <beginning.physst@mail.ru>
- Nested Lists, Definition and Evaluation.