Scythe-1.0.3
|
template<class RNGTYPE >
template<matrix_order PO1, matrix_style PS1, matrix_order PO2, matrix_style PS2, matrix_order PO3, matrix_style PS3, matrix_order PO4, matrix_style PS5, matrix_order PO5, matrix_style PS4>
Standard constructor. This method constructs a functor capable of generating linearly constrained variates of the form: The user may pass optional burn in and thinning parameters to the constructor. The burnin parameter indicates the number of draws that the sampler should initially make and throw out on construction. The thin parameter controls the behavior of the functor's () operator. A thinning parameter of 1 indicates that each call to operator()() should return the random variate generated by one iteration of the Gibbs sampler, while a value of 2 indicates that the sampler should throw every other variate out, a value of 3 causes operator()() to iterate the sampler three times before returning, and so on. Finally, this constructor inverts D before proceeding. If you have pre-inverted D, you can set the preinvertedD flag to true and the functor will not redo the operation. This helps optimize common cases; for example, when D is simply the identity matrix (and thus equal to its own inverse), there is no need to compute the inverse.
References scythe::inv(), scythe::Matrix_base< ORDER, STYLE >::isColVector(), scythe::Matrix_base< ORDER, STYLE >::isSquare(), scythe::Matrix_base< ORDER, STYLE >::rows(), SCYTHE_CHECK_10, scythe::sqrt(), and scythe::t(). |