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.