Best parallel method for finding roots of a numerical function
-
25-10-2019 - |
문제
In some number crunching application, I need to find the multiple (undefined number, bigger or equal to zero) real roots of some numerical function in one dimension produced during the simulation and for which there is not analytical expression.
Given a required accuracy, I wonder which is the best (fastest) parallel method/algorithm for doing this.
해결책
You are looking for a parallel Root-finding algorithm
The Bisection method, which is a classic divide and conquer algorithm can be easily parallelized:
The interval of interest [a,b] can be splitted to n (possibly overlapping) intervals, which may be simultaneously checked for f(a) < 0 and f(b) > 0 or f(a) > 0 and f(b) < 0
Some more general and more complex algorithms where suggested. Look here for example.