# [✓] Solve this system of equations with some assumptions?

Posted 10 months ago
1606 Views
|
3 Replies
|
4 Total Likes
|
 I want to solve a system of equations which will result in expressions for xs, ys, zs for a coordinate (xs, ys, zs) which corresponds to the point at which a vector, originating from the point (xp, yp, zp), intersects a paraboloid of equation zs = [ (xs^2 +ys^2) / 4f ] - f . assumptions = {rps > 0, -Pi/2 < theta < Pi/2, rps \[Element] Real, theta \[Element] Real, xp \[Element] Real, yp \[Element] Real , zp \[Element] Real, phi \[Element] Real, f > 0, f \[Element] real} Solve[{rps^2 == (xs - xp)^2 + (ys - yp)^2 + (zs - zp)^2, rps Sin[theta] Cos[phi] + xp == Sqrt[4 f zs + 4 f^2 - ys^2], rps Sin[theta] Sin[phi] + yp == Sqrt[4 f zs + 4 f^2 - xs^2], rps Cos[theta] + zp == (xs^2 + ys^2 )/(4 f) - f}, {xs, ys, zs}, Assumptions -> assumptions ] rps is the length of the vector (from the point (xp,yp,zp) to the intersection point on the paraboloid); for the last three equations i have used the spherical coordinate definitions of x, y ,z in terms of theta and phi (since my answer must be in terms of these variables) and equated them to the rearranged form of the expression of the paraboloid.BUT when i run this code it will either run for hours (and i left it over night!) or simply crashes my computer. What am i doing wrong? I'm sure that this reasonable straight forward geometric problem must have a solution.
Answer
3 Replies
Sort By:
Posted 10 months ago
 For the set of the real numbers the symbol is Reals, not Real. Assumptions is not an option for Solve. With Solve you can use the syntax Solve[{x^2 == 1, x > 0}, x] or Solve[x^3 == 1, x, Reals]. Your system is 4 equations and three unknowns. Each equation is of degree 2. You can simplify it a bit by calling a,b,c,d the left-hand sides and squaring the second and third equation. Without the assumptions it gives solutions quickly: Reduce[{a == (xs - xp)^2 + (ys - yp)^2 + (zs - zp)^2, b^2 == 4 f zs + 4 f^2 - ys^2, c^2 == 4 f zs + 4 f^2 - xs^2, d == (xs^2 + ys^2)/(4 f) - f}, {xs, ys, zs}] 
Answer
Posted 10 months ago
 Thank you for your corrections on my use of "Real" and "Assumptions". However i think the problem must be a bug in my copy of Mathematica, or simply my computer being very slow. I attempted this problem previously with no assumptions at all and it still took forever, i also tried inputting the equations in various forms. On running your example code, the program ran for over ten minutes at which point I aborted :(. Perhaps i need to re-install and/or get a new computer.
Answer
Posted 10 months ago
 Another issue is that the system is overdetermined (four equation in three variables) and has no generic solution. When I remove the radicals by squaring I get reasonable speed and an empty solution set. Solve[{rps^2 == (xs - xp)^2 + (ys - yp)^2 + (zs - zp)^2, (rps Sin[theta] Cos[phi] + xp)^2 == 4 f zs + 4 f^2 - ys^2, (rps Sin[theta] Sin[phi] + yp)^2 == 4 f zs + 4 f^2 - xs^2, rps Cos[theta] + zp == (xs^2 + ys^2)/(4 f) - f}, {xs, ys, zs}] (* Out[385]= {} *) 
Answer
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments