Group Abstract Group Abstract

Message Boards Message Boards

0
|
388 Views
|
6 Replies
|
4 Total Likes
View groups...
Share
Share this post:

Why can't find the solution to this equation?

Posted 22 days ago
Solve[ForAll[{x, y}, 
  Equivalent[y == Sqrt[3]/2 - x, 
   y + 2 (x - x0) Sin[\[Pi]/6 + 2 x0] == 
    Cos[\[Pi]/6 + 2 x0]]], x0, Reals]

enter image description here

POSTED BY: Bill Blair
6 Replies

Another approach. And[] is not equivalent to Equivalent[], of course, but I wasn't sure that mattered.

Eliminate[
 {y == Sqrt[3]/2 - x, 
  y + 2 (x - x0) Sin[\[Pi]/6 + 2 x0] == Cos[\[Pi]/6 + 2 x0]},
 y]
SolveAlways[%, {x}]
Solve[Flatten[% /. Rule -> Equal], x0, Reals]
(*
Sqrt[3] - 2 x - 2 Cos[\[Pi]/6 + 2 x0] + 4 x Sin[\[Pi]/6 + 2 x0] - 4 x0 Sin[\[Pi]/6 + 2 x0] == 0
{{Cos[\[Pi]/6 + 2 x0] -> 1/2 (Sqrt[3] - 2 x0), Sin[\[Pi]/6 + 2 x0] -> 1/2}}
{{x0 -> 0}}
*)

You ask "why?" It's often the case that the real desire is for a workaround. And in this case, why may be hard to pin down precisely. Here's a stab at a rough explanation. Suppose $T(x)$ is some transcendental function and $F(u,v)$ is somewhat simpler, say, a polynomial or rational function. Then often equations of the form $F(x, T(x))=0$ are difficult to solve. For instance, if $T$ is the exponential function, then some equations can be solved in terms of the Lambert $W$ function, a.k.a. ProductLog[]. Sometimes functions have been invented to solve such equations, especially when there's a nice theory or algorithm to support their use. Sometimes such functions or algorithms are yet to be invented. For an equation like yours, which significantly has x0 both inside and outside transcendental functions, whatever algorithms are used, none hit upon a solution. It seems odd to humans when there is a fairly easy human way to see how to solve the particular case at hand.

POSTED BY: Michael Rogers
Posted 21 days ago

Thank you for the detailed workaround and the insightful explanation! Your step-by-step approach using Eliminate and SolveAlways is very clever, and it clearly shows how to bypass the limitation of Solve with ForAll in this case.

Your rough explanation about transcendental equations of the form $F(x, T(x)) = 0$ really helps clarify why Solve struggles here—especially when the variable appears both inside and outside the transcendental functions. It's a good reminder that symbolic solvers have blind spots even when a human can spot the solution path easily.

I appreciate you taking the time to provide both the practical solution and the theoretical context!

POSTED BY: Bill Blair

For a predicate to be true for all x,y it is necessary that it is true for two sample couples of x,y:

eq1 = y == Sqrt[3]/2 - x;
eq2 = y + 2 (x - x0) Sin[\[Pi]/6 + 2 x0] == Cos[\[Pi]/6 + 2 x0];
sample = {{x -> 0, y -> Sqrt[3]/2}, {x -> 1, y -> Sqrt[3]/2 - 1}};
necessaryCondition = Equivalent[eq1, eq2] /. sample
Reduce[necessaryCondition]
Equivalent[eq1, eq2] /. x0 -> 0 // Reduce

It is then checked that the necessary condition is also sufficient.

POSTED BY: Gianluca Gorni
Posted 22 days ago

If just solving the equations is what you want, then this works:

eqs = {y == Sqrt[3]/2 - x, 
   y + 2 (x - x0) Sin[\[Pi]/6 + 2 x0] == Cos[\[Pi]/6 + 2 x0]};
Solve[eqs, {x, y}]
POSTED BY: David Keith
Posted 22 days ago

It is to find the value of x0

POSTED BY: Bill Blair
Posted 22 days ago

Thanks, Bill. I think my interpretation of your question was naive.

POSTED BY: David Keith
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard