void operator()() { uint cnt=0; uint n = train_.size(); for (uint i=0; i!=n; ++i) { for (uint j=i; j!=n; ++j) { if (cnt++%n_th_==th_no_) { boost::timer tm; matrix_(i,j)=kernel_(train_[i].second, train_[j].second); if (i!=j) matrix_(j,i)=matrix_(i,j); elapsed_ += tm.elapsed(); } } } }
bool operator()(size_t a, size_t b) { for (size_t column = column_first_; column < column_beyond_; ++column) { typename MatrixType::value_type va = matrix_(a, column); typename MatrixType::value_type vb = matrix_(b, column); if (less_(va, vb)) return true; else if (less_(vb, va)) return false; } return false; }
void operator-=(const element_proxy<MM>& x) { matrix_(index(),x.index())-=x.value();}
value_type operator()(size_t r, size_t c) const { return matrix_(c, r); }