Stan Math Library
4.9.0
Automatic Differentiation
|
__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.
diagonal | diagonal of T | |
subdiagonal_squared | element-wise squared subdiagonal of T | |
l | subdiagonal of L | |
d | diagonal of D | |
[out] | eigval_global | eigenvalues of T |
[out] | shifted_low_global | lower bounds on shifted eigenvalues |
[out] | shifted_high_global | upper bounds on shifted eigenvalues |
min_eigval | initial lower bound on eigenvalues | |
max_eigval | initial upper bound on eigenvalues | |
shift | shift of the LDL decomposition | |
do_refine | if non-zero, refines the shifted eigenvalues |