1 # ifndef CPPAD_SPEED_DET_OF_MINOR_HPP
2 # define CPPAD_SPEED_DET_OF_MINOR_HPP
218 template <
class Scalar>
220 const std::vector<Scalar>& a ,
223 std::vector<size_t>& r ,
224 std::vector<size_t>& c )
226 const size_t R0 = r[m];
231 if( n == 1 )
return a[ R0 * m + Cj ];
234 Scalar detM = Scalar(0);
243 for(
size_t j = 0; j < n; j++)
245 Scalar M0j = a[ R0 * m + Cj ];
258 detM = detM + M0j * detS;
259 else detM = detM - M0j * detS;
Scalar det_of_minor(const std::vector< Scalar > &a, size_t m, size_t n, std::vector< size_t > &r, std::vector< size_t > &c)