In 14.0 on Windows 10 I solve a trig equation $$2 \cos ^{-1}(\sin (\pi x))=\pi \cos \left(\sin ^{-1}(x+1)\right) $$
by
Reduce[2 ArcCos[Sin[Pi *x]] == Pi *Cos[ArcSin[x + 1]], x, Reals]
False
Reduce::fexp: Warning: Reduce used FunctionExpand to transform the system. Since FunctionExpand transformation rules are only generically correct, the solution set might have been altered
The same issue with Solve
and FindInstance
. That result is not correct: for example, x==-1
is a solution. Taking into account the function domain of the LHS minus the RHS, I succeed by
Reduce[2 ArcCos[Sin[Pi *x]] == Pi *Cos[ArcSin[x + 1]] &&
FunctionDomain[2 ArcCos[Sin[Pi *x]] - Pi *Cos[ArcSin[x + 1]],x], x, Reals]
x == -(9/5) || x == -1
Is there another way to solve it?
NSolve[2 ArcCos[Sin[Pi *x]] == Pi *Cos[ArcSin[x + 1]], x, Reals]
reports{}
and "NSolve::fexp: Warning: NSolve used FunctionExpand to transform the system. Since FunctionExpand transformation rules are only generically correct, the solution set might have been altered." andNMinimize[(2 ArcCos[Sin[Pi*x]] - Pi*Cos[ArcSin[x + 1]])^2, x]
returns the input together with a warning "NMinimize::nrnum: The function value -19.6116-28.3921 I is not a real number at {x} = {0.934341}". $\endgroup$Reduce[2 ArcCos[Sin[Pi*x]] == Pi*Cos[ArcSin[x + 1]] && Pi*Cos[ArcSin[x + 1]] \[Element] Reals, x, Reals]
works and the original fails. I suppose everyone know, or should be made aware, that the methods available for problems over bounded domains are different and sometimes more robust. For instance, this seemingly trivial change yields the solution:Reduce[2 ArcCos[Sin[Pi*x]] == Pi*Cos[ArcSin[x + 1]] && (-100 < x < 100 || Abs[x] >= 100), x, Reals]
$\endgroup$