Message Boards Message Boards

Transcendental equation cannot be solved?

Posted 2 years ago

Hello, I see this one can't be solved by:

Solve[x^3 + x^2 - x == 20*Sin[x^2] - 5, x] 

What's the reason and how should I get the results?

POSTED BY: Zhenyu Zeng
10 Replies

For transcendental equations you often need to choose a domain:

Solve[x^3 + x^2 - x == 20*Sin[x^2] - 5, x, Reals]

Numericising the result:

In[4]:= Solve[x^3 + x^2 - x == 20*Sin[x^2] - 5, x, Reals] // N

Out[4]= {{x -> -3.37217}, {x -> -3.19649}, {x -> -2.48921}, {x -> \
-1.70489}, {x -> -0.536109}, {x -> 0.496065}, {x -> 1.61444}}

Regards

Neil

POSTED BY: Neil Singer

... and in certain cases you will need to specify a region...

POSTED BY: Neil Singer

Your equation may have infinitely many complex solutions:

sol = SolveValues[x^3 + x^2 - x == 20*Sin[x^2] - 5 && Abs[x] < 10, 
   x];
Graphics[Point@ReIm[sol]]

You can hardly expect Solve to give them all.

POSTED BY: Gianluca Gorni
Posted 2 years ago

Hello, Thanks for your reply. Don't transcendental equations have closed-form solutions, which make Solve can't give results?

POSTED BY: Zhenyu Zeng
Posted 2 years ago

Hello. Thanks for your reply. May you tell me why they have infinitely complex solutions?

POSTED BY: Zhenyu Zeng

I don't know. It is a guess based on a picture.

POSTED BY: Gianluca Gorni
Posted 2 years ago

Okay. Thanks much.

POSTED BY: Zhenyu Zeng

Read this, this, and this.

POSTED BY: Mariusz Iwaniuk
Posted 2 years ago

Thanks a lot! Have a nice day!

POSTED BY: Zhenyu Zeng

It's a consequence of Picard's theorem that there are infinitely many solutions in C. Also check MathWorld. It's the Great Picard theorem specifically that's of interest here.

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

Group Abstract Group Abstract