1
$\begingroup$

I would like to plot the points $(a,b,c)$ that simultaneously satisfy the equations $$a^2+b^2=1,\qquad ac+b\frac{1+bc}{a}=0,\qquad c^2+\frac{(1+bc)^2}{a^2}=1.$$

I attempted to do this with ContourPlot3D as

ContourPlot3D[
     {a^2+b^2,a c+(b(1+b c))/a,c^2+(1+b c)^2/a^2}=={1,0,1},
     {a,-3/2,3/2},
     {b,-3/2,3/2},
     {c,-3/2,3/2}]

but Mathematica plotted points that had coordinates bigger than 1, which is impossible for these equations. What can I use to get this plot?

$\endgroup$
6
  • $\begingroup$ Welcome to Mathematica.SE! I suggest that: 1) You take the introductory Tour now! 2) When you see good questions and answers, vote them up by clicking the gray triangles, because the credibility of the system is based on the reputation gained by users sharing their knowledge. Also, please remember to accept the answer, if any, that solves your problem, by clicking the checkmark sign! 3) As you receive help, try to give it too, by answering questions in your area of expertise. $\endgroup$
    – bbgodfrey
    Commented Mar 13, 2015 at 18:57
  • $\begingroup$ The docs are not absolutely clear on this but I think ContourPlot3D can only handle a single scalar equality. $\endgroup$
    – george2079
    Commented Mar 13, 2015 at 19:12
  • $\begingroup$ @george2079 ContourPlot3D appears to be able to handle multiple equations, although not in the form used in the Question. $\endgroup$
    – bbgodfrey
    Commented Mar 13, 2015 at 19:16
  • $\begingroup$ ContourPlot3D seemed to be fine with the form, though I'm not sure how it interpreted it. $\endgroup$
    – Jacob Bond
    Commented Mar 13, 2015 at 19:20
  • $\begingroup$ I was going to suggest making a scalar expression, (a^2+b^2-1)^2+()^2+()^2 ==0, however there does not appear to be any solution ( or only a single point , or very small region, so contourplot3d doesn't work ) $\endgroup$
    – george2079
    Commented Mar 13, 2015 at 19:25

2 Answers 2

5
$\begingroup$

You may have meant

ContourPlot3D[{a^2 + b^2 == 1, a^2 c + (b (1 + b c)) == 0, 
  a^2 c^2 + (1 + b c)^2 == a^2}, {a, -3/2, 3/2}, {b, -3/2, 3/2}, {c, -3/2, 3/2}]

which produces

enter image description here

Basically, I used the edit by David G. Stork, separated the three equations, and multiplied the second and third equations by a and a^2 respectively.

Addendum

The intersection of the curves, as requested by the OP in a comment, can be displayed as follows:

r = ImplicitRegion[a^2 + b^2 == 1 && a^2 c + (b (1 + b c)) == 0, {a, b, c}];
ring = MeshRegion[DiscretizeRegion[r, {{-3/2, 3/2}, {-3/2, 3/2}, {-3/2, 3/2}}], 
  MeshCellStyle -> {{1, All} -> Directive[Red, Thickness[.01]], {0, All} -> White}];
ctr = ContourPlot3D[{a^2 + b^2 == 1, a^2 c + (b (1 + b c)) == 0, 
  a^2 c^2 + (1 + b c)^2 == a^2}, {a, -3/2, 3/2}, {b, -3/2, 3/2}, {c, -3/2, 3/2}, 
  ContourStyle -> Opacity[.3], Mesh -> None];
Show[{ctr, ring}]

enter image description here

Note that the same plot can be obtained from

Solve[{a^2 + b^2 == 1, a^2 c + (b (1 + b c)) == 0, a^2 c^2 + (1 + b c)^2 == a^2}, 
  {a, b, c}]
(* {{a -> -Sqrt[1 - c^2], b -> -c}, {a -> Sqrt[1 - c^2], b -> -c}} *)
Show[{ctr, ParametricPlot3D[{{Sqrt[1 - c^2], -c, c}, {-Sqrt[1 - c^2], -c, c}}, 
  {c, -3/2, 3/2}, PlotStyle -> Directive[Red, Thickness[.01]]]}]
$\endgroup$
6
  • $\begingroup$ But that includes points on the boundary of the cube, indicating there are points with coordinates bigger than 1, impossible since each of $a^2,b^2,c^2 < 1$ if it satisfies the equations. $\endgroup$
    – Jacob Bond
    Commented Mar 13, 2015 at 19:15
  • 2
    $\begingroup$ @JacobBond you should work the word "simultaneously" into the question.. $\endgroup$
    – george2079
    Commented Mar 13, 2015 at 19:17
  • $\begingroup$ @JacobBond Your question appeared to ask for a plot of the three equations. Instead, do you want a plot of the intersection of the three? {{a -> -Sqrt[1 - c^2], b -> -c}, {a -> Sqrt[1 - c^2], b -> -c}} $\endgroup$
    – bbgodfrey
    Commented Mar 13, 2015 at 19:20
  • $\begingroup$ Yes, I intended to ask for points which simultaneously satisfied all threee equations. $\endgroup$
    – Jacob Bond
    Commented Mar 13, 2015 at 19:22
  • $\begingroup$ @bbgodfrey So ParametricPlot3D parametrized by $c$? $\endgroup$
    – Jacob Bond
    Commented Mar 13, 2015 at 19:25
1
$\begingroup$

We may introduce a variable d,then the equations rewrite to a relatively symmetric form

a^2 + b^2 == 1, c^2 + d^2 == 1, a*c + b*d == 0, a*d - b*c == 1
equations = {a^2 + b^2 == 1, c^2 + d^2 == 1, a*c + b*d == 0, a*d - b*c == 1};
sol = Eliminate[equations, d];
Region[ImplicitRegion[sol, {a, b, c}], 
 BaseStyle -> Directive[Thick, Red]]

b^2 == 1 - a^2 && c == -b

enter image description here

Or

ContourPlot3D[{b^2 == 1 - a^2, c == -b}, {a, -1.5, 1.5}, {b, -1.5, 
  1.5}, {c, -1.5, 1.5}, ContourStyle -> Opacity[0.1], Mesh -> None, 
 BoundaryStyle -> {1 -> None, 2 -> None, {1, 2} -> Directive[Thick, Red]}, Boxed -> False]

enter image description here

BTW

We belive that the problem must come from complex since if we set

z = a + I*b;
w = c + I*d;
z*Conjugate[w] // ComplexExpand

a c + b d + I (b c - a d)

It means that the Hermit product of two complex numbers $z \bar{w}=i$

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.