Ginger 1.1.9
Loading...
Searching...
No Matches
Functions
autocorr_mt.hpp File Reference

Auto-correlation polynomial root-finding (palindromic polynomials) (MT) More...

#include "autocorr.hpp"
Include dependency graph for autocorr_mt.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

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)
 

Detailed Description

Auto-correlation polynomial root-finding (palindromic polynomials) (MT)

Function Documentation

◆ pbairstow_autocorr_mt()

auto pbairstow_autocorr_mt ( const std::vector< double > &  coeffs,
std::vector< Vec2 > &  vrs,
const ginger::Options options 
) -> std::pair< unsigned int, bool >
extern

Multi-threading Bairstow's method (specific for auto-correlation function)

The function pbairstow_autocorr_mt implements Bairstow's method for finding the roots of a palindromic (auto-correlation) polynomial using multi-threading.

Each thread finds a quadratic factor \( x^2 - r_i x - q_i \) that respects the palindromic symmetry, where the roots appear in reciprocal pairs:

\[ \begin{bmatrix} \Delta r_i \\ \Delta q_i \end{bmatrix} = -J_i^{-1} \begin{bmatrix} P_i \\ Q_i \end{bmatrix} \]

Parameters
[in]coeffspolynomial
[in,out]vrsvector of iterates
[in]optionsmaximum iterations and tolorance
Returns
std::pair<unsigned int, bool>