|
double_d | stan::math::internal::get_random_perturbation_multiplier () |
| Generates a random number for perturbing a relatively robust representation.
|
|
void | stan::math::internal::get_gresgorin (const Eigen::Ref< const Eigen::VectorXd > diagonal, const Eigen::Ref< const Eigen::VectorXd > subdiagonal, double &min_eigval, double &max_eigval) |
| Calculates bounds on eigenvalues of a symmetric tridiagonal matrix T using Gresgorin discs.
|
|
double | stan::math::internal::max_nan (double a, double b) |
| NaN-favouring max.
|
|
double | stan::math::internal::get_ldl (const Eigen::Ref< const Eigen::VectorXd > diagonal, const Eigen::Ref< const Eigen::VectorXd > subdiagonal, const double shift, VectorXdd &l, VectorXdd &d_plus) |
| Calculates LDL decomposition of a shifted triagonal matrix T.
|
|
double | stan::math::internal::find_initial_shift (const Eigen::Ref< const Eigen::VectorXd > diagonal, const Eigen::Ref< const Eigen::VectorXd > subdiagonal, VectorXdd &l0, VectorXdd &d0, const double min_eigval, const double max_eigval, const double max_ele_growth) |
| Finds a good value for shift of the initial LDL factorization T - shift * I = L * D * L^T.
|
|
int | stan::math::internal::get_sturm_count_ldl (const VectorXdd &l, const VectorXdd &d, const double_d shift) |
| Calculates Sturm count of a LDL decomposition of a tridiagonal matrix - number of eigenvalues larger or equal to shift.
|
|
void | stan::math::internal::eigenval_bisect_refine (const VectorXdd &l, const VectorXdd &d, double_d &low, double_d &high, const int i) |
| Refines bounds on the i-th largest eigenvalue of LDL decomposition using bisection.
|
|
double | stan::math::internal::get_shifted_ldl (const VectorXdd &l, const VectorXdd &d, const double_d shift, VectorXdd &l_plus, VectorXdd &d_plus) |
| Shifts a LDL decomposition.
|
|
void | stan::math::internal::find_shift (const VectorXdd &l, const VectorXdd &d, const double_d low, const double_d high, const double max_ele_growth, const double_d max_shift, VectorXdd &l2, VectorXdd &d2, double_d &shift, double &min_element_growth) |
| Finds good shift and shifts a LDL decomposition so as to keep element growth low.
|
|
template<bool need_eigenvectors = true> |
void | stan::math::internal::mrrr_cl (const Eigen::Ref< const Eigen::VectorXd > diagonal, const Eigen::Ref< const Eigen::VectorXd > subdiagonal, Eigen::Ref< Eigen::VectorXd > eigenvalues, Eigen::Ref< Eigen::MatrixXd > eigenvectors, const double min_rel_sep=1e-4, const double maximum_ele_growth=15) |
| Calculates eigenvalues and eigenvectors of a irreducible tridiagonal matrix T using multiple relatively robust representations (MRRR) algorithm.
|
|
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) |
| Calculates eigenvalues and eigenvectors of a tridiagonal matrix T using MRRR algorithm.
|
|