Re: Find all roots with FindRoot
- To: mathgroup at smc.vnet.net
- Subject: [mg126277] Re: Find all roots with FindRoot
- From: Andrzej Kozlowski <akozlowski at gmail.com>
- Date: Sat, 28 Apr 2012 05:27:33 -0400 (EDT)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- References: <25227796.28036.1334923020612.JavaMail.root@m06> <201204260928.FAA05588@smc.vnet.net>
On 26 Apr 2012, at 11:28, Mikael Anderson wrote: > > I just wanted to give the RootSearch package a try but I wonder why > RootSearch misses some roots in the beginning of the solution when I change > the range as below: > >> >> In[28]:= RootSearch[(Tan[Sqrt[theta]] - 2*Sqrt[theta]/(1 - theta)) == > 0, {theta, 0, 1000}] > > Out[28]= {{theta -> 0.}, {theta -> 5.43413}, {theta -> > 35.4046}, {theta -> 84.7952}, {theta -> 153.896}, {theta -> > 242.729}, {theta -> 351.298}, {theta -> 479.605}, {theta -> > 627.65}, {theta -> 795.435}, {theta -> 982.958}} > > In[29]:= RootSearch[(Tan[Sqrt[theta]] - 2*Sqrt[theta]/(1 - theta)) == > 0, {theta, 0, 10000}] > > Out[29]= {{theta -> 0.}, {theta -> 84.7952}, {theta -> > 153.896}, {theta -> 242.729}, {theta -> 351.298}, {theta -> > 479.605}, {theta -> 627.65}, {theta -> 795.435}, {theta -> > 982.958}, {theta -> 1190.22}, {theta -> 1417.22}, {theta -> > 1663.96}, {theta -> 1930.44}, {theta -> 2216.66}, {theta -> > 2522.62}, {theta -> 2848.31}, {theta -> 3193.75}, {theta -> > 3558.93}, {theta -> 3943.84}, {theta -> 4348.49}, {theta -> > 4772.89}, {theta -> 5217.02}, {theta -> 5680.89}, {theta -> > 6164.5}, {theta -> 6667.85}, {theta -> 7190.94}, {theta -> > 7733.77}, {theta -> 8296.34}, {theta -> 8878.64}, {theta -> > 9480.69}} > > /Mikael > > Is there any reason why you don't want to use Reduce: In[166]:= Reduce[(Tan[Sqrt[theta]] - 2*Sqrt[theta]/(1 - theta)) == 0 && 0 <= theta <= 10000, theta] // N theta == 0. || theta == 5.43413 || theta == 35.4046 || theta == 84.7952 || theta == 153.896 || theta == 242.729 || theta == 351.298 || theta == 479.605 || theta == 627.65 || theta == 795.435 || theta == 982.958 || theta == 1190.22 || theta == 1417.22 || theta == 1663.96 || theta == 1930.44 || theta == 2216.66 || theta == 2522.62 || theta == 2848.31 || theta == 3193.75 || theta == 3558.93 || theta == 3943.84 || theta == 4348.49 || theta == 4772.89 || theta == 5217.02 || theta == 5680.89 || theta == 6164.5 || theta == 6667.85 || theta == 7190.94 || theta == 7733.77 || theta == 8296.34 || theta == 8878.64 || theta == 9480.69 It gives you the complete answer (provably so) without the need to fiddle with any options and is pretty fast too. Why do you need an external package for this sort of thing? Andrzej Koz=C5=82owski
- References:
- Re: Find all roots with FindRoot
- From: Mikael Anderson <mikael.anderson.1969@gmail.com>
- Re: Find all roots with FindRoot