inline void bi::exp_columns(M2 X, const V2& is) { BOOST_AUTO(iter, is.begin()); BOOST_AUTO(end, is.end()); for (; iter != end; ++iter) { BOOST_AUTO(col, column(X, *iter)); exp_elements(col, col); } }
inline void bi::exp_rows(M2 X, const V2& is) { BOOST_AUTO(iter, is.begin()); BOOST_AUTO(end, is.end()); for (; iter != end; ++iter) { BOOST_AUTO(row1, row(X, *iter)); exp_elements(row1, row1); } }
void bi::det_rows(const M2 X, const V2& is, V3 det) { BOOST_AUTO(iter, is.begin()); BOOST_AUTO(end, is.end()); set_elements(det, 1.0); for (; iter != end; ++iter) { mul_elements(det, column(X, *iter), det); } }