Loading [MathJax]/extensions/TeX/AMSsymbols.js
Automatic Differentiation
 
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Loading...
Searching...
No Matches
stan::math::laplace_likelihood::internal Namespace Reference

Enumerations

enum class  COPY_TYPE {
  SHALLOW = 0 ,
  DEEP = 1
}
 Decide if object should be deep or shallow copied when using conditional_copy_and_promote . More...
 

Functions

template<typename F , typename Theta , typename Stream , typename... Args, require_eigen_vector_t< Theta > * = nullptr>
auto log_likelihood (F &&f, Theta &&theta, Stream *msgs, Args &&... args)
 
template<template< typename... > class Filter, typename PromotedType = stan::math::var, COPY_TYPE CopyType = COPY_TYPE::DEEP, typename... Args>
auto conditional_copy_and_promote (Args &&... args)
 Conditional copy and promote a type's scalar type to a PromotedType.
 
template<typename PromotedType , typename... Args>
auto deep_copy_vargs (Args &&... args)
 
template<typename PromotedType , typename... Args>
auto shallow_copy_vargs (Args &&... args)
 
template<typename F , typename Theta , typename Stream , typename... Args, require_eigen_vector_vt< std::is_arithmetic, Theta > * = nullptr>
auto diff (F &&f, Theta &&theta, const Eigen::Index hessian_block_size, Stream *msgs, Args &&... args)
 Computes theta gradient and negative block diagonal Hessian of f wrt theta and args...
 
template<typename F , typename Theta , typename Stream , typename... Args, require_eigen_vector_t< Theta > * = nullptr>
Eigen::VectorXd third_diff (F &&f, Theta &&theta, Stream &&msgs, Args &&... args)
 Compute third order derivative of f wrt theta and args...
 
template<typename F , typename Theta , typename AMat , typename Stream , typename... Args, require_eigen_vector_t< Theta > * = nullptr>
auto compute_s2 (F &&f, Theta &&theta, AMat &&A, const int hessian_block_size, Stream *msgs, Args &&... args)
 The derivative of the log likelihood wrt theta evaluated at the mode.
 
template<typename F , typename V_t , typename Theta , typename Stream , typename... Args, require_eigen_vector_t< Theta > * = nullptr>
auto diff_eta_implicit (F &&f, V_t &&v, Theta &&theta, Stream *msgs, Args &&... args)
 Compute second order gradient of f wrt theta and args...