1#ifndef STAN_MATH_OPENCL_PRIM_DIAG_POST_MULTIPLY_HPP
2#define STAN_MATH_OPENCL_PRIM_DIAG_POST_MULTIPLY_HPP
23template <
typename T1,
typename T2,
24 require_all_kernel_expressions_and_none_scalar_t<T1, T2>* =
nullptr>
elt_multiply_< as_operation_cl_t< T_a >, as_operation_cl_t< T_b > > elt_multiply(T_a &&a, T_b &&b)
auto transpose(Arg &&a)
Transposes a kernel generator expression.
auto colwise_broadcast(T &&a)
Broadcast an expression in colwise dimmension.
auto diag_post_multiply(const T1 &m1, const T2 &m2)
Return the product of a matrix and the diagonal matrix formed from the vector or row_vector.
T eval(T &&arg)
Inputs which have a plain_type equal to the own time are forwarded unmodified (for Eigen expressions ...
void check_vector(const char *function, const char *name, const Mat &x)
Check the input is either a row vector or column vector or a matrix with a single row or column.
void check_size_match(const char *function, const char *name_i, T_size1 i, const char *name_j, T_size2 j)
Check if the provided sizes match.
The lgamma implementation in stan-math is based on either the reentrant safe lgamma_r implementation ...