Meaning of {} result from Solve in Mathematica [Re: Stopping mathematical contagion worldwide]



On Jun 15, 8:34 pm, "Nasser Abbasi" <n...@xxxxxxxxx> wrote:
"Christopher Creutzig" <christop...@xxxxxxxxxxx> wrote in message

news:467300d6$0$23134$9b4e6d93@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Nasser Abbasi wrote:

Mathematica 6.0

In[35]:= Solve[Sin[x]^2/x == 0, x]
Out[35]= {}

What is the interpretation of this result? Failure? No solution?

http://documents.wolfram.com/mathematica/functions/Solve

it says
"Solve gives {} if there are no possible solutions to the equations."

Oh, and just for the record, MuPAD returns a simple

solve(sin(x)^2/x=0,x)

{PI k | k in Z_ minus {0}}

--
"Mangel an Beweisen" wirkt in Mathe nicht strafmildernd!
Rainer Rosenthal, d.s.m

Nasser

Solve in Mathematica will return {} if there are no solutions to a
polynomial system. For systems that are not polynomial in the given
variables it may return {} in cases where it finds no solutions even
if some might exist. The function Reduce tends to be more clever about
this, at least for some classes of transcendentals e.g systems of
trigs or exponentials.

Getting back to the specific question by C. Creutzig, the case of {}
when solutions actually exist is indeed a form of failure. Most
commonly Solve will give an outright "transcendental dependency
detected" message and return unevaluates. But there are cases where
Solve manages a polynomial reformulation, unwinds in terms of (multi-
valued) inverse functions, misses valid solutions, and ends up with
noting but parasite solutions (or, in this case, a valid solution it
is unable to properly verify). In such cases the final result will be
{}. There are warning messages to the effect that inverse functions
are used and solutions might be lost, so I don't see this as a
particularly serious shortcoming.

Daniel Lichtblau
Wolfram Research

.