42 -> std::pair<unsigned int, bool> {
66 -> std::pair<unsigned int, bool> {
90 -> std::pair<unsigned int, bool> {
114 -> std::pair<unsigned int, bool> {
Aberth-Ehrlich method for polynomial root-finding.
constexpr auto make_vdc_table() -> std::array< double, N >
Helper to generate a constexpr table of VdCorput<Base> values.
Definition aberth.hpp:21
auto aberth_autocorr(const std::vector< double > &coeffs, std::vector< std::complex< double > > &zs, const ginger::Options &options) -> std::pair< unsigned int, bool >
Single-threading Aberth-Ehrlich method (specifically for auto-correlation functions)
auto aberth(const std::vector< double > &coeffs, std::vector< std::complex< double > > &zs, const ginger::Options &options) -> std::pair< unsigned int, bool >
Single-threading Aberth-Ehrlich method.
Aberth-Ehrlich method for polynomial root-finding (atomic)
auto aberth_autocorr_atomic(const std::vector< double > &coeffs, std::vector< std::complex< double > > &zs, const ginger::Options &options) -> std::pair< unsigned int, bool >
Atomic Aberth-Ehrlich method (specifically for auto-correlation functions)
auto aberth_atomic(const std::vector< double > &coeffs, std::vector< std::complex< double > > &zs, const ginger::Options &options) -> std::pair< unsigned int, bool >
Atomic Aberth-Ehrlich method.
Aberth-Ehrlich method for polynomial root-finding (MT)
auto aberth_mt(const std::vector< double > &coeffs, std::vector< std::complex< double > > &zs, const ginger::Options &options) -> std::pair< unsigned int, bool >
Multi-threading Aberth-Ehrlich method.
auto aberth_autocorr_mt(const std::vector< double > &coeffs, std::vector< std::complex< double > > &zs, const ginger::Options &options) -> std::pair< unsigned int, bool >
Multi-threading Aberth-Ehrlich method (specifically for auto-correlation functions)
Auto-correlation polynomial root-finding (palindromic polynomials)
auto pbairstow_autocorr_st(const std::vector< double > &coeffs, std::vector< Vec2 > &vrs, const ginger::Options &options) -> std::pair< unsigned int, bool >
Single-threading Bairstow's method (specific for auto-correlation function)
Auto-correlation polynomial root-finding (palindromic polynomials) (atomic)
auto pbairstow_autocorr_atomic(const std::vector< double > &coeffs, std::vector< Vec2 > &vrs, const ginger::Options &options) -> std::pair< unsigned int, bool >
Atomic multi-threading Bairstow's method (specific for auto-correlation function)
Auto-correlation polynomial root-finding (palindromic polynomials) (MT)
auto pbairstow_autocorr_mt(const std::vector< double > &coeffs, std::vector< Vec2 > &vrs, const ginger::Options &options) -> std::pair< unsigned int, bool >
Multi-threading Bairstow's method (specific for auto-correlation function)
Algorithm options (max iterations, tolerance)
Options for convergence-based algorithms.
Definition aberth.hpp:13
auto solve_aberth(const std::vector< double > &coeffs, std::vector< std::complex< double > > &zs, const Options &options, solve_mode mode=solve_mode::automatic) -> std::pair< unsigned int, bool >
Facade for the Aberth-Ehrlich method.
Definition solve.hpp:87
auto should_parallelize(std::size_t num_roots) -> bool
Whether num_roots should use the multi-threaded execution policy.
Definition config.hpp:30
auto solve_pbairstow_autocorr(const std::vector< double > &coeffs, std::vector< Vec2 > &vrs, const Options &options, solve_mode mode=solve_mode::automatic) -> std::pair< unsigned int, bool >
Facade for the parallel Bairstow method (auto-correlation).
Definition solve.hpp:63
auto solve_pbairstow_even(const std::vector< double > &coeffs, std::vector< Vec2 > &vrs, const Options &options, solve_mode mode=solve_mode::automatic) -> std::pair< unsigned int, bool >
Facade for the parallel Bairstow method (even degree).
Definition solve.hpp:39
auto solve_aberth_autocorr(const std::vector< double > &coeffs, std::vector< std::complex< double > > &zs, const Options &options, solve_mode mode=solve_mode::automatic) -> std::pair< unsigned int, bool >
Facade for the Aberth-Ehrlich method (auto-correlation).
Definition solve.hpp:111
solve_mode
Execution policy selection for the solver facades.
Definition solve.hpp:26
Parallel Bairstow root-finding methods for real polynomials.
auto pbairstow_even_st(const std::vector< double > &coeffs, std::vector< Vec2 > &vrs, const ginger::Options &options) -> std::pair< unsigned int, bool >
Single-threading Bairstow's method (even degree only)
Parallel Bairstow root-finding methods for real polynomials (atomic)
auto pbairstow_even_atomic(const std::vector< double > &coeffs, std::vector< Vec2 > &vrs, const ginger::Options &options) -> std::pair< unsigned int, bool >
Atomic multi-threading Bairstow's method (even degree only)
Parallel Bairstow root-finding methods for real polynomials (MT)
auto pbairstow_even_mt(const std::vector< double > &coeffs, std::vector< Vec2 > &vrs, const ginger::Options &options) -> std::pair< unsigned int, bool >
Multi-threading Bairstow's method (even degree only)