FindRoot

*To*: mathgroup at smc.vnet.net*Subject*: [mg70356] FindRoot*From*: dimmechan at yahoo.com*Date*: Sat, 14 Oct 2006 03:06:53 -0400 (EDT)

Hello. Let me deal with something elementary but yet confusing for me. Consider the equation cos(x)=x. FindRoot[Cos[x] == x, {x, 5}] {x -> 0.7390851332151607} This prints the value of x every time a step is taken. FindRoot[Cos[x] == x, {x, 5}, StepMonitor :> Print[x]] This gives a list of the steps taken. Reap[FindRoot[Cos[x] == x, {x, 5}, StepMonitor :> Sow[x]]] {{x -> 0.7390851332151607}, {{-1., -0.02837830412204312, 1.0296174587519653, 0.7525886779802748, 0.7391248287000711, 0.7390851335630761, 0.7390851332151607}}} This counts the steps. Block[{st = 0}, {FindRoot[Cos[x] == x, {x, 5}, StepMonitor :> st++], st}] {{x -> 0.7390851332151607}, 7} I want to know what exactly the following command gives. Reap[FindRoot[Cos[x] == x, {x, 5}, EvaluationMonitor :> Sow[x]]] {{x -> 0.7390851332151607}, {{5., -54.99999999999999, -1., 8.716216958779569, -0.02837830412204312, 1.0296174587519653, 0.7525886779802748, 0.7391248287000711, 0.7390851335630761, 0.7390851332151607}}} In versions earlier than 5.0 you could use the following command FindRoot[Print[x]; Cos[x] == x, {x, 5}] Why it cannot be used now? Thanks in advance for any help.

**Follow-Ups**:**Re: FindRoot***From:*Andrzej Kozlowski <akoz@mimuw.edu.pl>

**Re: FindRoot***From:*"Chris Chiasson" <chris@chiasson.name>