If your function has nice derivatives, you may want to look at the Newton implementation in<div><br></div><div><a href="http://hackage.haskell.org/packages/archive/ad/0.44.4/doc/html/Numeric-AD-Newton.html#v:findZero">http://hackage.haskell.org/packages/archive/ad/0.44.4/doc/html/Numeric-AD-Newton.html#v:findZero</a></div>
<div><br></div><div><a href="http://hackage.haskell.org/packages/archive/ad/0.44.4/doc/html/Numeric-AD-Newton.html#v:findZero"></a>or if you have enough derivatives, you can even move up to the next Householder method at Numeric.AD.Halley.findZero</div>
<div><br></div><div>These have the benefit of using exact derivatives, and returning a stream of successively better approximations.</div><div><br></div><div>-Edward</div><div><br></div><div><br><div class="gmail_quote">On Fri, Mar 18, 2011 at 7:39 PM, Artyom Kazak <span dir="ltr"><<a href="mailto:artyom.kazak@gmail.com">artyom.kazak@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><br>
Hi Café!<br>
<br>
roots (<a href="http://hackage.haskell.org/package/roots" target="_blank">http://hackage.haskell.org/package/roots</a>) is a package to solve equations like "f(x)==0".<br>
<br>
In RootFinder class there is an 'defaultNSteps' value, which is used as maximal count of iterations functions like findRoot and traceRoot can make. By default it is 250, but sometimes it's not enough. How can I use another value instead of 250? Should I write my own RootFinder instance, or findRoot function?<br>
<br>
Thanks in advance.<br>
— Artyom.<br>
<br>
_______________________________________________<br>
Haskell-Cafe mailing list<br>
<a href="mailto:Haskell-Cafe@haskell.org" target="_blank">Haskell-Cafe@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br>
</blockquote></div><br></div>