|
int | stan::math::opencl_kernels::get_sturm_count_tri (const __global double *diagonal, const __global double *subdiagonal_squared, const double shift, const int n) |
| Calculates lower Sturm count of a tridiagonal matrix T - number of eigenvalues lower than shift.
|
|
void | stan::math::opencl_kernels::eigenvals_bisect (const __global double *diagonal, const __global double *subdiagonal_squared, double *low_res, double *high_res, const double min_eigval, const double max_eigval, const int n, const int i) |
| Calculates i-th largest eigenvalue of tridiagonal matrix represented by a LDL decomposition using bisection.
|
|
int | stan::math::opencl_kernels::get_sturm_count_ldl (const __global double_d *l, const __global double_d *d, const double_d shift, const int n) |
| Calculates Sturm count of a LDL decomposition of a tridiagonal matrix - number of eigenvalues larger or equal to shift.
|
|
void | stan::math::opencl_kernels::eigenvals_bisect_refine (const __global double_d *l, const __global double_d *d, double_d *low_res, double_d *high_res, const int n, const int i) |
| Refines bounds on the i-th largest eigenvalue of a LDL decomposition using bisection.
|
|
__kernel void | stan::math::opencl_kernels::eigenvals (const __global double *diagonal, const __global double *subdiagonal_squared, const __global double_d *l, const __global double_d *d, __global double *eigval_global, __global double_d *shifted_low_global, __global double_d *shifted_high_global, const double min_eigval, const double max_eigval, const double shift, const char do_refine) |
| Calculates eigenvalues of a tridiagonal matrix T and refines shifted eigenvalues using shifted LDL decomposition of T.
|
|
int | stan::math::opencl_kernels::get_twisted_factorization (const __global double_d *l, const __global double_d *d, double_d shift, __global double_d *l_plus, __global double_d *u_minus, __global double_d *s) |
| Calculates shifted LDL and UDU factorizations.
|
|
void | stan::math::opencl_kernels::calculate_eigenvector (const __global double_d *l_plus, const __global double_d *u_minus, const __global double *subdiag, int twist_idx, __global double *eigenvectors) |
| Calculates an eigenvector from twisted factorization T - shift * I = L+.
|
|
__kernel void | stan::math::opencl_kernels::get_eigenvectors (const __global double_d *l, const __global double_d *d, const __global double *subdiag, const __global double_d *shifted_eigvals, __global double_d *l_plus, __global double_d *u_minus, __global double_d *temp, __global double *eigenvectors) |
| Calculates eigenvectors for (shifted) eigenvalues.
|
|