Re: Insight into Solve...

*To*: mathgroup at smc.vnet.net*Subject*: [mg89835] Re: [mg89815] Insight into Solve...*From*: DrMajorBob <drmajorbob at att.net>*Date*: Sun, 22 Jun 2008 03:23:08 -0400 (EDT)*References*: <18655235.1214044423275.JavaMail.root@m08>*Reply-to*: drmajorbob at longhorns.com

This helps a bit, I think: Solve[{(x1 - x0)^2 + (y1 - y0)^2 == r^2, (x2 - x0)^2 + (y2 - y0)^2 == r^2}, {x0, y0}] // Simplify or this: Solve[{(x1 - x0)^2 + (y1 - y0)^2 == (x2 - x0)^2 + (y2 - y0)^2}, {x0}] or: {p0, p1, p2} = {{x0, y0}, {x1, y1}, {x2, y2}}; midPt = Mean@{p1, p2}; Solve[(p0 - midPt).(p1 - p2) == 0, x0] // ExpandAll // Collect[#, y0] & The last two options don't take account of the known radius, so they return a line of possible centers. Bobby On Sat, 21 Jun 2008 04:31:17 -0500, David Reiss <dbreiss at gmail.com> wrote: > Some insight requested...: > > When Solving for the center of a circle that goes through two > specified points, > > Solve[{(x1 - x0)^2 + (y1 - y0)^2 == r^2, (x2 - x0)^2 + (y2 - y0)^2 == > r^2}, {x0, y0}] > > the result gives expressions for x0 and y0 that are structurally very > different even though the symmetry of the problem says that they are, > in fact expressions that are ultimately very similar. > > My question is what is the reason in the algorithm that Solve uses > that causes the initial results to structurally look so different. It > appears that Solve is not aware of the symmetry in the problem. > > Note that if instead of using x0 and y0 one used z0 and y0, then the > structural forms of the expressions are reversed suggesting that Solve > is taking variables alphabetically (no surprise here). > > The problem with this sort of result from Solve is that one needs to > explicitly manipulate the resulting expressions to exploit the > symmetries in order for the final expressions to structurally/visually > exhibit those symmetries. FullSimplify does not, starting from the > results of Solve, succeed in rendering the final expressions into the > desired form. > > E.g, if temp is the result of the Solve command above, > > FullSimplify[circlePoints, > Assumptions -> {r >= 0, x1 \[Element] Reals, x2 \[Element] Reals, > y1 \[Element] Reals, y2 \[Element] Reals}] > > does not sufficiently reduce the expressions in to forms that > explicitly exhibit the symmetry transform into one another. > > Is there another approach that comes to anyones' mind that will simply > yield the anticipated results? > > Thanks in advance, > > David > > -- DrMajorBob at longhorns.com