Re: Problem with Solve and NSolve
- To: mathgroup at smc.vnet.net
- Subject: [mg122460] Re: Problem with Solve and NSolve
- From: Daniel Lichtblau <danl at wolfram.com>
- Date: Sat, 29 Oct 2011 07:10:40 -0400 (EDT)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- References: <201110280935.FAA20759@smc.vnet.net>
On 10/28/2011 04:35 AM, V. Williams wrote: > I've recently tried Mathematica 8.0.1, and I've found that it's unable to compute Solve[x^3*Sin[x]==1,x] (and the same with NSolve), which gives an error: > Solve::nsmet: This system cannot be solved with the methods available to Solve > > WolframAlpha solves it without problems, so what's wrong with Mathematica? Solve and NSolve work with global methods to find all solutions. None apply in the case where there are no restrictions on ranges. W|A is (probably) using FindRoot in clever ways. You can get solutions in a similar manner. In[2]:= Union[ x /. Table[FindRoot[x^3*Sin[x] == 1, {x, n}], {n, -20, 20}], SameTest -> (Abs[#1 - #2]/(Abs[#1] + Abs[#2]) < .01 &)] During evaluation of In[2]:= FindRoot::jsing: Encountered a singular Jacobian at the point {x} = {0.}. Try perturbing the initial point(s). >> Out[2]= {-18.8497, -15.7077, -12.5669, -9.42358, -6.28721, -3.10829, \ -1.04879, 0., 1.04879, 3.10829, 6.28721, 9.42358, 12.5669, 15.7077, \ 18.8497} Alternatively, tell N/Solve there is a range restriction. In[3]:= Solve[x^3*Sin[x] == 1 && -20 <= x <= 20, x] Out[3]= {{x -> Root[{-1 + Sin[#1] #1^3 &, -18.8497052306506243533}]}, {x -> Root[{-1 + Sin[#1] #1^3 &, -15.7077052429555957752}]}, {x -> Root[{-1 + Sin[#1] #1^3 &, -12.5668744839930992344}]}, {x -> Root[{-1 + Sin[#1] #1^3 &, -9.4235830047464065106}]}, {x -> Root[{-1 + Sin[#1] #1^3 &, -6.2872090246108708029}]}, {x -> Root[{-1 + Sin[#1] #1^3 &, -3.1082870794604030006}]}, {x -> Root[{-1 + Sin[#1] #1^3 &, -1.04879348372390196188}]}, {x -> Root[{-1 + Sin[#1] #1^3 &, 1.04879348372390196188}]}, {x -> Root[{-1 + Sin[#1] #1^3 &, 3.1082870794604030006}]}, {x -> Root[{-1 + Sin[#1] #1^3 &, 6.2872090246108708029}]}, {x -> Root[{-1 + Sin[#1] #1^3 &, 9.4235830047464065106}]}, {x -> Root[{-1 + Sin[#1] #1^3 &, 12.5668744839930992344}]}, {x -> Root[{-1 + Sin[#1] #1^3 &, 15.7077052429555957752}]}, {x -> Root[{-1 + Sin[#1] #1^3 &, 18.8497052306506243533}]}} In[4]:= NSolve[x^3*Sin[x] == 1 && -20 <= x <= 20, x] Out[4]= {{x -> -18.8497}, {x -> -15.7077}, {x -> -12.5669}, {x -> \ -9.42358}, {x -> -6.28721}, {x -> -3.10829}, {x -> -1.04879}, {x -> 1.04879}, {x -> 3.10829}, {x -> 6.28721}, {x -> 9.42358}, {x -> 12.5669}, {x -> 15.7077}, {x -> 18.8497}} Daniel Lichtblau Wolfram Research
- Follow-Ups:
- Re: Problem with Solve and NSolve
- From: Andrzej Kozlowski <akoz@mimuw.edu.pl>
- Re: Problem with Solve and NSolve
- References:
- Problem with Solve and NSolve
- From: "V. Williams" <gvicente@gmail.com>
- Problem with Solve and NSolve