Automatic Differentiation
 
Loading...
Searching...
No Matches
tridiagonalization.hpp File Reference

Go to the source code of this file.

Namespaces

namespace  stan
 The lgamma implementation in stan-math is based on either the reentrant safe lgamma_r implementation from C or the boost::math::lgamma implementation.
 
namespace  stan::math
 Matrices and templated mathematical functions.
 
namespace  stan::math::opencl_kernels
 

Functions

__kernel void stan::math::opencl_kernels::tridiagonalization_householder (__global double *P, __global double *V, __global double *q_glob, const int P_rows, const int V_rows, const int j, const int k)
 Calculates householder vector and first element of the vector v.
 
__kernel void stan::math::opencl_kernels::tridiagonalization_v_step_1 (const __global double *P, const __global double *V, __global double *Uu, __global double *Vu, const int P_rows, const int V_rows, const int k)
 Calculates first part of constructing the vector v: Uu = Pb * u and Vu = Vl * u.
 
__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.
 
__kernel void stan::math::opencl_kernels::tridiagonalization_v_step_3 (__global double *P, __global double *V, __global double *q, const int P_rows, const int V_rows, const int k, const int j)
 Third part in constructing vector v: v-=0.5*(v^T*u)*u, where u is the householder vector.
 

Variables

const kernel_cl< in_out_buffer, in_out_buffer, out_buffer, int, int, int, int > stan::math::opencl_kernels::tridiagonalization_householder ("tridiagonalization_householder", {tridiagonalization_householder_kernel_code}, {{"REDUCTION_STEP_SIZE", 4}, {"LOCAL_SIZE_", 1024}})
 
const kernel_cl< in_buffer, in_buffer, out_buffer, out_buffer, int, int, int > stan::math::opencl_kernels::tridiagonalization_v_step_1 ("tridiagonalization_v_step_1", {tridiagonalization_v_step_1_kernel_code}, {{"REDUCTION_STEP_SIZE", 4}, {"LOCAL_SIZE_", 64}})
 
const kernel_cl< in_buffer, out_buffer, in_buffer, in_buffer, int, int, int, int > stan::math::opencl_kernels::tridiagonalization_v_step_2 ("tridiagonalization_v_step_2", {tridiagonalization_v_step_2_kernel_code}, {{"REDUCTION_STEP_SIZE", 4}, {"LOCAL_SIZE_", 64}})
 
const kernel_cl< in_out_buffer, in_out_buffer, out_buffer, int, int, int, int > stan::math::opencl_kernels::tridiagonalization_v_step_3 ("tridiagonalization_v_step_3", {tridiagonalization_v_step_3_kernel_code}, {{"REDUCTION_STEP_SIZE", 4}, {"LOCAL_SIZE_", 1024}})