3.4 Log Probability Function
The basic purpose of a Stan program is to compute a log probability function and its derivatives. The log probability function in a Stan model outputs the log density on the unconstrained scale. A log probability accumulator starts at zero and is then incremented in various ways by a Stan program. The variables are first transformed from unconstrained to constrained, and the log Jacobian determinant added to the log probability accumulator. Then the model block is executed on the constrained parameters, with each sampling statement (~
) and log probability increment statement (increment_log_prob
) adding to the accumulator. At the end of the model block execution, the value of the log probability accumulator is the log probability value returned by the Stan program.
Stan provides a special built-in function target()
that takes no arguments and returns the current value of the log probability accumulator.1 This function is primarily useful for debugging purposes, where for instance, it may be used with a print statement to display the log probability accumulator at various stages of execution to see where it becomes ill defined.
real
target
()
Return the current value of the log probability accumulator.
real
get_lp
()
Return the current value of the log probability accumulator; deprecated; - use target()
instead.
Both target
and the deprecated get_lp
act like other functions ending in _lp
, meaning that they may only may only be used in the model block.
This function used to be called
get_lp()
, but that name has been deprecated; using it will print a warning. The functionget_lp()
will be removed in a future release.↩