Automatic Differentiation
 
Loading...
Searching...
No Matches

◆ solve_step()

template<typename NewtonStateT , typename LLFun , typename LLTupleArgs , typename CovarMat >
void stan::math::internal::LUSolver::solve_step ( NewtonStateT &  state,
const LLFun &  ll_fun,
const LLTupleArgs &  ll_args,
const CovarMat &  covariance,
int  hessian_block_size,
std::ostream *  msgs 
)
inline

Perform one Newton step using LU decomposition solver.

Computes the full Hessian, forms B = I + Sigma * W, performs LU decomposition, and solves for the new a vector.

Template Parameters
NewtonStateTType of the Newton state
LLFunType of the log-likelihood functor
LLTupleArgsType of the likelihood arguments tuple
CovarMatType of the covariance matrix
Parameters
[in,out]stateShared Newton state (modified: b, curr().a())
[in]ll_funLog-likelihood functor
[in,out]ll_argsAdditional arguments for the likelihood
[in]covariancePrior covariance matrix Sigma
[in]hessian_block_sizeSize of each Hessian block
[in,out]msgsOutput stream for diagnostic messages (may be nullptr)

Definition at line 847 of file laplace_marginal_density_estimator.hpp.