-1

How to solve the system

{b - a*Sqrt[a^2 + b^2 + 1] - a^2*(a*b - Sqrt[a^2 + b^2 + 1]) == 0,  
 a - b*Sqrt[a^2 + b^2 + 1] - b^2*(a*b - Sqrt[a^2 + b^2 + 1]) == 0}

The command

Solve[{b - a*Sqrt[a^2 + b^2 + 1] - a^2*(a*b - Sqrt[a^2 + b^2 + 1]) == 0, 
       a - b*Sqrt[a^2 + b^2 + 1] - b^2*(a*b - Sqrt[a^2 + b^2 + 1]) == 0}
      , 
      {a, b}, Complexes]

produces, in particular,

{b -> -(a/(1 + a))}   

which gives the wrong answer if $a=1.$ The answer obtained by the command

Reduce[{b - a*Sqrt[a^2 + b^2 + 1] - a^2*(a*b - Sqrt[a^2 + b^2 + 1]) == 0,
        a - b*Sqrt[a^2 + b^2 + 1] - b^2*(a*b - Sqrt[a^2 + b^2 + 1]) == 0}
       ,
       {a, b}, Complexes]

also seems untrue in the last term

(a (1 + a) (-1 + a - a^2 + a^3) != 0 && 
0 == (1/(1 + a))(-1 - a - a^2 - Sqrt[(1 + a + a^2)^2/(1 + a)^2] - 
 a Sqrt[(1 + a + a^2)^2/(1 + a)^2]) && b == -(a/(1 + a))).
m_goldberg
  • 107,779
  • 16
  • 103
  • 257
user64494
  • 26,149
  • 4
  • 27
  • 56
  • 1
    Seems to be similar issue like here take a look at comments. Please post Mathematica code in code blocks instead od LaTeX form. – Kuba Sep 14 '13 at 13:29
  • @ Kuba: Thank you for your interest to the question. A new moment consists in the partially untrue answer (at least, in my opinion) obtained by the Reduce command. I am a newcomer and I don't know how to insert a Mathematica code. Where is this written? – user64494 Sep 14 '13 at 13:40
  • @ Kuba: It is very kind of you! – user64494 Sep 14 '13 at 14:29
  • You are welcome. I like when posts are transparent :) Now you know how to do this in the future. – Kuba Sep 14 '13 at 14:30
  • @ Kuba: Could you briefly explain how to insert a Mathematica code or give a reference concerning it? – user64494 Sep 14 '13 at 14:36
  • Sure, take a look at editing-help. If you are going to stay around, what I highly recommend! :), you may be interested in how to easily copy MMA code and similar topics here or on meta. – Kuba Sep 14 '13 at 14:41

3 Answers3

1

I suspect this will be marked as duplicate, but to let the OP carry on with his/her work, @Kuba's comment is warranted, and Verifysolutions is needed in this case

sys = {a - b Sqrt[a^2 + b^2 + 1] - b^2 (a b - Sqrt[a^2 + b^2 + 1]) == 0,
 b - a Sqrt[a^2 + b^2 + 1] - a^2 (a b - Sqrt[a^2 + b^2 + 1]) == 0}
soln = Solve[sys, {a, b}, VerifySolutions -> True]
sys /. soln
(*{{True, True}, {True, True}, {True, True}, {True, True}, {True, 
  True}, {True, True}, {True, True}} *)

With respect to the first solution you obtained, b=-a/(1+a), here is the comment from the similar question

If you set b=−2, then a=−b(b+1)=2−1=−2 and not +2. This holds for any pair of real numbers given b<−1. Use Reduce in place of Solve and the a=−b(b+1) solution will come with a constraint that, in the real domain, translates to b<−1.

I assume, although haven't confirmed, that your problem falls into a similar category.

bobthechemist
  • 19,693
  • 4
  • 52
  • 138
  • Are you serious? Pay attention to the Complexes domain in Solve and Reduce. – user64494 Sep 14 '13 at 14:10
  • Adding Complexes to Solve doesn't change the solution generated: Solve[sys, {a, b}, VerifySolutions -> True] === Solve[sys, {a, b}, Complexes, VerifySolutions -> True] so if I'm missing something here, perhaps you could clarify your question. – bobthechemist Sep 14 '13 at 14:51
  • Do you pay attention to the "Solve::svars: Equations may not give solutions for all "solve" variables." warning. Also how about the Reduce command? – user64494 Sep 14 '13 at 15:30
1

The solution returned by Reduce seems to be correct:

sys = {a - b Sqrt[a^2 + b^2 + 1] - b^2 (a b - Sqrt[a^2 + b^2 + 1]) == 
    0, b - a Sqrt[a^2 + b^2 + 1] - a^2 (a b - Sqrt[a^2 + b^2 + 1]) == 
    0};
soln = Reduce[sys, {a, b}, Complexes];
List @@ soln[[-1]] /. a -> 1 // Simplify

{False, False, b == -(1/2)}

Both conditions give False for your problematic case, so this solution does not apply.

Alexey Popkov
  • 61,809
  • 7
  • 149
  • 368
1

Just to facilitate:

Solve yields:

{{y -> -(x/(1 + x))}, {x -> 1, y -> -I}, {x -> 1, y -> I}, {x -> 1, 
  y -> 1}, {x -> 0, y -> 0}, {x -> I, y -> I}, {x -> -I, 
  y -> 1}, {x -> I, y -> 1}}

(with warning).

Just concentrating on the real solutions, it is evident the real solutions can be seen in the following)

f[x_, y_] := 
 x - y Sqrt[x^2 + y^2 + 1] - y^2 (x y - Sqrt[x^2 + y^2 + 1])
Plot3D[{f[x, y], f[y, x]}, {x, -5, 5}, {y, -5, 5}, 
 MeshFunctions -> {f[#1, #2] &, f[#2, #1] &}, Mesh -> {{0.}}, 
 MeshStyle -> {{Thick, Red}, {Thick, Green}}]
ContourPlot[{x - y Sqrt[x^2 + y^2 + 1] - 
   y^2 (x y - Sqrt[x^2 + y^2 + 1]), 
  y - x Sqrt[x^2 + y^2 + 1] - 
   x^2 (x y - Sqrt[x^2 + y^2 + 1])}, {x, -3, 3}, {y, -3, 3}, 
 Contours -> {{0.}}, ContourShading -> False]

In the second plot I truncated the range to avoid the plotting of point related to asymptotics.

enter image description here

enter image description here

ubpdqn
  • 60,617
  • 3
  • 59
  • 148