# obtaining all numerical roots of a function in an interval

Hello, thanks for reading.

I'm working on single variable calculus here: Basically what I need is what "find_root" does, but I need a list of ALL roots in a given interval, not just one.

So I've been playing with "solve". I found this piece of code which works in most cases:

sage: roots = solve(f(x),x,solution_dict=True)

sage: roots = [s[x] for s in roots]

sage: num_roots = map(n, roots)

but it gives an error if the function is periodic and has inifinite roots, becuase the symbolic expression that "solve" gets has infinite solutions too.

Defining a desired interval should solve this issue, but I have no idea how to implement such thing!

Thanks you and have a good day.