ChebyshevSubdivisionSolver¶
High-level Process¶
- yroots.ChebyshevSubdivisionSolver.solveChebyshevSubdivision(Ms, errors, verbose=False, returnBoundingBoxes=False, exact=False, constant_check=True, low_dim_quadratic_check=True, all_dim_quadratic_check=False, max_cpu=1, parallel_depth=0)¶
Initiates shrinking and subdivision recursion and returns the roots and bounding boxes.
- Parameters:
Ms (list of numpy arrays) – The chebyshev approximations of the functions on the interval given to CombinedSolver
errors (numpy array) – The max error of the chebyshev approximation from the function on the interval
verbose (bool) – Defaults to False. Whether or not to output progress of solving to the terminal.
returnBoundingBoxes (bool) – Defaults to False. If True, returns the bounding boxes around each root as well as the roots.
exact (bool) – Defaults to False. Whether transformations should be done with higher precision to minimize error.
constant_check (bool) – Defaults to True. Whether or not to run constant term check after each subdivision.
low_dim_quadratic_check (bool) – Defaults to True. Whether or not to run quadratic check in dim 2, 3.
all_dim_quadratic_check (bool) – Defaults to False. Whether or not to run quadratic check in dim >= 4.
max_cpu (int) – Defaults to 1. Maximum number of CPUs to use when dispatching subdivided regions to the multilevel parallel driver. CPU is not reserved for the main thread, so the worker pool is sized at
max_cpu, notmax_cpu - 1.parallel_depth (int) – Defaults to 0. Subdivision depth at which child tasks start being pushed to the worker pool. Higher values keep work serial for longer before parallelizing.
- Returns:
roots (list) – The roots of the system of functions on the interval given to Combined Solver. Returned alone when
returnBoundingBoxesis False.boundingBoxes (list of TrackedInterval) – Only returned when
returnBoundingBoxesis True. Bounding intervals for each root.