I am reasking this question in a new thread. My previous post How Can I Use Solve/Reduce Output? seemed to have led to a an interesting dissussion of how to (better) solve the problem that produced the output rather than in how to use the output further as I had intended. [Perhaps it indirectly answered my question by telling me that if I wanted to know more I needed to reformulate the problem and the solution as qiven was as far as Mathematica could go with the original formulation.]
My questions is "Can I use the following result for further Mathematica calculations?" [i.e. I am not particularly interested in this solution other than using it as an example expression of a conditional with restricted domain.]
solQ= (x | y) \[Element] Rationals && -1 <= x <=
1 && (y == -Sqrt[1 - x^2] || y == Sqrt[1 - x^2])
I do know of one Mathematica function that will accept this as input:
In[9]:= FindInstance[solQ, {x, y}, 10]
During evaluation of In[9]:= FindInstance::fwsol: Warning: FindInstance found only 3
instance(s), but it was not able to prove 10 instances do not exist. >>
Out[9]= {{x -> -1, y -> 0}, {x -> 100/2501, y -> 2499/2501}, {x -> 1,
y -> 0}}
[However (as an aside) this function has strange behavior when I ask for 50 instances it can only find 2 for sure!]
In[11]:= FindInstance[solQ, {x, y}, 50]
During evaluation of In[11]:= FindInstance::fwsol: Warning: FindInstance found only 2
instance(s), but it was not able to prove 50 instances do not exist. >>
Out[11]= {{x -> -1, y -> 0}, {x -> 1, y -> 0}}
Are there other Mathematica functions that will accept these types of solutions (like solQ) as a valid input expressions that would help me further explore the solution? Perhaps some graphics functions? Perhaps in an Assumption? ...?
Perhaps the solution as given above satisfies a Mathematician (which I am not) by "proving" that a solution exits and giving a few examples?
Thank you all for your patience with these rather poorly defined questions [coming from a 75 year old physicist in retirement, with no cohort for discussion, just trying to (re)learn some math and Mathematica.]
solQis a validMathematicaexpression. You can retrieve information from that, e.g. if you evaluatePlot[List @@ solQ[[3, All, 2]], {x, -1, 1}, Evaluated -> True, AspectRatio -> 1]. Does this answer your question ? – Artes Aug 03 '12 at 18:33FindInstance[ solQ, {x, y}, 10]returns something, not exceptionally interesting, but it is better than nothing. As I demonstrated in my answer to your former question, you can still find more interesting results thanFindInstanceorSolvedirectly do. If you want to get an information fromsolQyou can do it but in general there is no direct procedure. If you don't like it, perhaps you'll have to wait much for more robust versions ofMathematicaor any other computer algebra system otherwise you have to accustom with similar issues trying more ingenious ways. – Artes Aug 03 '12 at 19:05Mathematicasyntax is too hard, you can make use of free-form input orWolframAlphaquery, shorthands (=) or (==) to find out something more fromsolQ. – Artes Aug 03 '12 at 19:18SolveandReduceare powerful functions, but not as much as to give the full solution to your problem. In several cases when you restrict your domain of interest toRationalsthey can give you the full solutions, but not always. It is not surprising that it cannot find all solutions however you should be pleased withsolQreturned byReduce. You shouldn't espectMathematicato return all list of solutions : first : there are infinitely many solutions, second : they are apparently dense. You remember that the number of solutions found withP-tripleswas finite. – Artes Aug 03 '12 at 22:40solQis just the full solution expressed symbolically. No computer ever will help you to find an infinite number of solutions. – Artes Aug 03 '12 at 22:44Plot[List @@ solQ[[3, All, 2]], {x, -1, 1}, Evaluated -> True, AspectRatio -> 1]? You hopefully understand that plotting an infinite number of solutions in a finite range (precisely : in a compact set) cannot be different from that whole circle. I demonstrated some ways to proceed further in the answer to the former question. In any case evaluatepts = Union @ Flatten[Table[{(x^2 - y^2)/(x^2 + y^2), (2 x y)/(x^2 + y^2)}, {y, 300}, {x, 300}], 1];and thenParametricPlot[{Cos[u], Sin[u]}, {u, 0, Pi/2}, Epilog -> {Red, Point@pts}]– Artes Aug 04 '12 at 05:02X^2+y^2 == 1. And it is assumed that you understand the expressionsolQ. To resume my answer : there is no direct way (at present) to work withsolQ. There are some facilities likefree-form inputorWolframAlpha querybut they don't return exactly what you can get withParametricPlot[{Cos[u], Sin[u]}, {u, 0, Pi/2}, Epilog -> {Red, Point @ pts}]. – Artes Aug 04 '12 at 05:17