Ginger 1.1.5; VERSION ${PROJECT_VERSION}
Loading...
Searching...
No Matches
aberth.hpp
Go to the documentation of this file.
1
6#pragma once
7
8// import numpy as np
9#include <complex>
10#include <utility>
11#include <vector>
12
13class Options;
14
24extern double vdc2_table(unsigned long index);
25
34extern double cos_pi_vdc2(unsigned long index);
35
44extern double circle2_table_x(unsigned long index);
45
54extern double circle2_table_y(unsigned long index);
55
70extern auto initial_aberth(const std::vector<double>& coeffs) -> std::vector<std::complex<double>>;
71
117extern auto aberth(const std::vector<double>& coeffs, std::vector<std::complex<double>>& zs,
118 const Options& options) -> std::pair<unsigned int, bool>;
119
148extern auto aberth_mt(const std::vector<double>& coeffs, std::vector<std::complex<double>>& zs,
149 const Options& options) -> std::pair<unsigned int, bool>;
150
165extern auto initial_aberth_autocorr(const std::vector<double>& coeffs)
166 -> std::vector<std::complex<double>>;
167
193extern auto aberth_autocorr(const std::vector<double>& coeffs,
194 std::vector<std::complex<double>>& zs, const Options& options)
195 -> std::pair<unsigned int, bool>;
196
222extern auto aberth_autocorr_mt(const std::vector<double>& coeffs,
223 std::vector<std::complex<double>>& zs, const Options& options)
224 -> std::pair<unsigned int, bool>;
225
238extern auto poly_from_roots(const std::vector<std::complex<double>>& zs) -> std::vector<double>;
239
256extern auto leja_order(const std::vector<std::complex<double>>& points)
257 -> std::vector<std::complex<double>>;
258
274extern auto poly_from_autocorr_roots(const std::vector<std::complex<double>>& zs)
275 -> std::vector<double>;
auto poly_from_roots(const std::vector< std::complex< double > > &zs) -> std::vector< double >
Reconstruct a monic polynomial from its complex roots.
auto aberth_autocorr(const std::vector< double > &coeffs, std::vector< std::complex< double > > &zs, const Options &options) -> std::pair< unsigned int, bool >
Single-threading Aberth-Ehrlich method (specifically for auto-correlation functions)
auto aberth_autocorr_mt(const std::vector< double > &coeffs, std::vector< std::complex< double > > &zs, const Options &options) -> std::pair< unsigned int, bool >
Multi-threading Aberth-Ehrlich method (specifically for auto-correlation functions)
auto poly_from_autocorr_roots(const std::vector< std::complex< double > > &zs) -> std::vector< double >
Reconstruct a monic polynomial from its autocorrelation roots.
auto initial_aberth_autocorr(const std::vector< double > &coeffs) -> std::vector< std::complex< double > >
Initial guess for the Aberth-Ehrlich method (specifically for auto-correlation functions)
auto initial_aberth(const std::vector< double > &coeffs) -> std::vector< std::complex< double > >
Initial guess for the Aberth-Ehrlich method.
double vdc2_table(unsigned long index)
van der Corput sequence value for a given index
double cos_pi_vdc2(unsigned long index)
Cosine of pi times van der Corput value.
double circle2_table_x(unsigned long index)
Circle sequence X-coordinate for an index.
auto aberth_mt(const std::vector< double > &coeffs, std::vector< std::complex< double > > &zs, const Options &options) -> std::pair< unsigned int, bool >
Multi-threading Aberth-Ehrlich method.
double circle2_table_y(unsigned long index)
Circle sequence Y-coordinate for an index.
auto leja_order(const std::vector< std::complex< double > > &points) -> std::vector< std::complex< double > >
Leja ordering of complex points.
auto aberth(const std::vector< double > &coeffs, std::vector< std::complex< double > > &zs, const Options &options) -> std::pair< unsigned int, bool >
Single-threading Aberth-Ehrlich method.
Options for convergence-based algorithms.
Definition config.hpp:15