| ►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> | |