Stan Math Library
5.0.0
Automatic Differentiation
|
__kernel void stan::math::opencl_kernels::tridiagonalization_v_step_2 | ( | const __global double * | P, |
__global double * | V, | ||
const __global double * | Uu, | ||
const __global double * | Vu, | ||
const int | P_rows, | ||
const int | V_rows, | ||
const int | k, | ||
const int | j | ||
) |
Second part in constructing vector v: v = Pb * u + V * Uu + U * Vu.
Pb is a block of packed matrix and U is householder vector. Pb is symmetric with only lower triangle having values. That is why two columns of V are written that must be added to obtain the vector v. Must be run with 64 threads per work group and total number of threads equal or greater than size of result vector.
P | Packed matrix being constructed. |
V | Matrix V. |
Uu | Uu from previous kernel. |
Vu | Vu from previous kernel. |
P_rows | Number of rows of the packed matrix |
V_rows | Number of rows of the matrix V |
k | Index of the householder vector in the block we use as input |
j | Start column of the block to work on |
Definition at line 187 of file tridiagonalization.hpp.