Well, after a bit of sleep, the solution was (semi-)obvious : sage: var("w,t") (w, t) sage: E1=-(1/2*sqrt((4*w+1)+1))*t+w==0 sage: S1=E1.solve(w) sage: S1 [w == 1/2*t*sqrt(4*w + 2)] sage: S2=((S1[0])^2).solve(w) sage: S2 [w == 1/2*t^2 - 1/2*sqrt(t^2 + 2)*t, w == 1/2*t^2 + 1/2*sqrt(t^2 + 2)*t]
A numerical check is enough to exclude S2[0] : it's a spurious "solution" introduced when we solved a^2==0 instead of a==0. Now, to check that S2[1] is indeed a solution of E1, Sage isn't enough : sage: E2=E1.subs(S2[1]) sage: E2 1/2*t^2 - 1/2*sqrt(2*t^2 + 2*sqrt(t^2 + 2)*t + 2)*t + 1/2*sqrt(t^2 + 2)*t == 0 sage: bool(E2) False The trouble is with the "biradical" term. Let's isolate it (by adding it to both sides of E2) : sage: E3=E2+1/2*sqrt(2*t^2 + 2*sqrt(t^2 + 2)*t + 2)*t sage: E3 1/2*t^2 + 1/2*sqrt(t^2 + 2)*t == 1/2*sqrt(2*t^2 + 2*sqrt(t^2 + 2)*t + 2)*t sage: bool(E3) False sage: bool(E3^2) True Again, we got Sage so check she equality of the squares of both sides of E3 (hence E1). But in this case, we didn't "introduce spurious solutions". So, QED (I think...). Bonus question : is there a way to get Sage (or Maxima) to recognize the existence of "biradical" terms and act accordingly ? HTH, -- Emmanuel Charpentier Le vendredi 17 octobre 2014 23:00:28 UTC+2, Emmanuel Charpentier a écrit : > > > > Le vendredi 17 octobre 2014 16:37:55 UTC+2, vdelecroix a écrit : >> >> 2014-10-17 10:09 UTC, Emmanuel Charpentier <emanuel.c...@gmail.com>: >> > Ahem ! >> > >> > On one machine : >> > >> > sage: sage.version.version >> > '6.4.beta4' >> > sage: var("w,t") >> > (w, t) >> > sage: solve(-(1/2*sqrt((4*w+1)+1))*t+w==0,w) >> > [w == 1/2*t*sqrt(4*w + 2)] >> >> This solution is implicit. This is the problem. >> > > Indeed. But one can get solutions for an equation close to this implicit > solution : > > sage: E1=-(1/2*sqrt((4*w+1)+1))*t+w==0 > sage: S1=E1.solve(w) > sage: S1 > [w == 1/2*t*sqrt(4*w + 2)] > sage: S2=(S1[0]^2).solve(w) > sage: S2 > [w == 1/2*t^2 - 1/2*sqrt(t^2 + 2)*t, w == 1/2*t^2 + 1/2*sqrt(t^2 + 2)*t] > > A bit of numerics (plotting for t \in [-1,1]) shows that [S2[0] isn't > acceptable but that S2[1] might be. I didn't (yet) succeed in proving this. > > Any idea ? > > -- > Emmanuel Charpentier > > -- You received this message because you are subscribed to the Google Groups "sage-support" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-support+unsubscr...@googlegroups.com. To post to this group, send email to sage-support@googlegroups.com. Visit this group at http://groups.google.com/group/sage-support. For more options, visit https://groups.google.com/d/optout.