lines 6-54 of file: speed/double/det_lu.cpp {xrst_begin double_det_lu.cpp} Double Speed: Determinant Using Lu Factorization ################################################ Specifications ************** See :ref:`link_det_lu-name` . Implementation ************** {xrst_spell_off} {xrst_code cpp} */ # include # include # include // Note that CppAD uses global_option["memory"] at the main program level # include extern std::map global_option; bool link_det_lu( size_t size , size_t repeat , CppAD::vector &matrix , CppAD::vector &det ) { if(global_option["onetape"]||global_option["atomic"]||global_option["optimize"]) return false; // ----------------------------------------------------- // setup CppAD::det_by_lu Det(size); size_t n = size * size; // number of independent variables // ------------------------------------------------------ while(repeat--) { // get the next matrix CppAD::uniform_01(n, matrix); // computation of the determinant det[0] = Det(matrix); } return true; } /* {xrst_code} {xrst_spell_on} {xrst_end double_det_lu.cpp}