Hi Jason

Thanks for providing a great reference: Numerical Recipes!
I have followed your suggestion and filed 
https://github.com/gonum/exp/pull/65 accordingly.

On Wednesday, 5 March 2025 at 05:49:44 UTC+8 Jason E. Aten wrote:

> I can't speak to canon (the intersection of Gophers and numerical people 
> is 
> already the intersection of two small niches...so there's not a whole 
> lotta canon),
> but Brent's method is standard stuff straight out of Numerical Recipes, 
> Section 9.3, page 352
>
> https://s3.amazonaws.com/nrbook.com/book_F210.html  
>
> ( I see this is cited by the cpmech/gosl library you referenced.) Anyway 
> -- it's a very 
> short method and you can probably have an LLM give you Go implementation 
> or port in 20 seconds. 
> Ask your LLM to write you some tests too and you should be good to go in 
> another
> couple of minutes.
>
> On Tuesday, March 4, 2025 at 3:11:06 PM UTC awaw...@gmail.com wrote:
>
>> Hi Fellow Gophers
>>
>> I wonder what is the canonical Go library for finding roots of 
>> single-valued real functions?
>>
>> In particular, I am finding an implementation of Brent's method 
>> <https://en.wikipedia.org/wiki/Brent's_method>.
>> Brent's method is the default algorithm in R, Matlab, and Scipy 
>> <https://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.root_scalar.html#scipy.optimize.root_scalar>
>> .
>>
>> Gonum has a pretty comprehensive list of facilities for optimization 
>> <https://pkg.go.dev/gonum.org/v1/gonum@v0.15.1/optimize>, but I couldn't 
>> find one that does simple root finding.
>> There seem to be two packages out there that implement Brent's method, 
>> but they are of dubious provenance:
>> * https://pkg.go.dev/github.com/cpmech/gosl/num#Brent . Relies on the 
>> derivative of f, f'(x), which shouldn't be the case for Brent's method. 
>> Plus, it pulls in a deluge of dependencies, and is not in pure Go.
>> * https://pkg.go.dev/go.skia.org/infra/pinpoint/go/compare/stats . The 
>> zeroin function is not even exported, so presumably of unknown quality.
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
To view this discussion visit 
https://groups.google.com/d/msgid/golang-nuts/a64a12e7-3e2c-4f28-a99c-4dc946e16d9dn%40googlegroups.com.

Reply via email to