Automatic Differentiation
 
Loading...
Searching...
No Matches

◆ tridiagonal_eigensolver_cl()

template<bool need_eigenvectors = true>
void stan::math::internal::tridiagonal_eigensolver_cl ( const matrix_cl< double > &  diagonal_cl,
const matrix_cl< double > &  subdiagonal_cl,
matrix_cl< double > &  eigenvalues_cl,
matrix_cl< double > &  eigenvectors_cl,
const double  split_threshold = 1e-15 
)
inline

Calculates eigenvalues and eigenvectors of a tridiagonal matrix T using MRRR algorithm.

If a subdiagonal element is close to zero compared to neighbors on diagonal, the problem can be split into smaller ones.

Parameters
diagonal_clDiagonal of of T.
subdiagonal_clSubdiagonal of T.
[out]eigenvalues_clEigenvlues.
[out]eigenvectors_clEigenvectors.
split_thresholdThreshold for splitting the problem

Definition at line 452 of file mrrr.hpp.