►Probability Distributions | |
Multivariate Distributions | Distributions with Matrix inputs |
Univariate Distributions | Distributions with scalar, vector, or array input |
►OpenCL | Stan's OpenCL backend allows for computation to be executed in parallel on a GPU or in multithreaded CPUs |
►OpenCL Kernel Generator | The OpenCL kernel generator is used to combine multiple matrix operations into a single OpenCL kernel |
kernel_expression_lhs <br> | |
rev_kernel_expression <br> | |
prim_or_rev_kernel_expression | |
Nonscalar_prim_or_rev_kernel_expression_types | |
►Matrix | The matrix_cl class - allocates memory space on the OpenCL device |
matrix_cl <br> | |
OpenCL Context | Initialization for OpenCL Context: |
Error Checks | |
Kernel Executor | The kernel executor allows OpenCL kernels to be executed in async |
Custom OpenCL kernels | |
OpenCL overloads of stan/math/prim functions | |
Compressed Sparse Row matrix format. | A compressed Sparse Row (CSR) sparse matrix is defined by four component vectors labeled w, v, and u |
Type Traits | The type traits in Stan math are a mix of custom traits for detecting value and container types of Eigen matrices, standard vectors, standard complex numbers, and backports of C++17 traits |
►Available requires<> for overloading. | See require_meta_doc for an overview of their use and for how to build your own custom requires for functions |
►Scalar types | require type traits for types that are either arithmetic , var , fvar , or Complex |
►Real types | require type traits for types that are either arithmetic , var , or fvar |
autodiff <br> | Require return type from parameter pack satisfies Check |
double_or_int <br> | |
fvar <br> | |
stan_scalar <br> | |
stan_scalar_or_eigen <br> | |
var <br> | |
var_or_arithmetic <br> | |
arithmetic <br> | |
floating_point <br> | |
integral <br> | |
►Complex types | require type traits for types that are Complex<T> |
complex <br> | |
►Standard library types and traits | require type traits that come from the standard library |
string_convertible <br> | |
tuple <br> | |
vector <br> | |
std_vector <br> | |
vector_like <br> | |
same <br> | |
convertible <br> | |
assignable <br> | |
constructible <br> | |
►Eigen | require type traits to detect Eigen types |
dense_dynamic <br> | |
eigen <br> | |
eigen_array <br> | |
eigen_dense_base <br> | |
eigen_dense_dynamic <br> | |
eigen_matrix_dynamic <br> | |
eigen_matrix_base <br> | |
eigen_sparse_base <br> | |
matrix <br> | |
plain_type <br> | |
rev_matrix <br> | |
rev_col_vector <br> | |
rev_vector <br> | |
var_dense_dynamic <br> | |
var_matrix <br> | |
var_col_vector <br> | |
var_row_vector <br> | |
var_vector <br> | |
eigen_col_vector <br> | |
col_vector <br> | |
eigen_row_vector <br> | |
row_vector <br> | |
eigen_vector <br> | |
►General Types | require type traits for general types |
container <br> | |
Require Macro Generators | These macros are used on type traits to define the set of requires |
OpenCL | require type traits to detect types used with OpenCL |
►Eigen expressions | |
Returning expressions | |
arena_matrix <br> | |
real <br> | |