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

◆ tridiagonalization_v_step_2()

__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.

Parameters
PPacked matrix being constructed.
VMatrix V.
UuUu from previous kernel.
VuVu from previous kernel.
P_rowsNumber of rows of the packed matrix
V_rowsNumber of rows of the matrix V
kIndex of the householder vector in the block we use as input
jStart column of the block to work on

Definition at line 187 of file tridiagonalization.hpp.