3 #ifndef DISTNMF_DISTALS_HPP_ 4 #define DISTNMF_DISTALS_HPP_ 14 template <
class INPUTMATTYPE>
24 this->Wt = arma::solve(arma::trimatl(this->HtH), this->AHtij);
25 this->W = this->Wt.t();
30 DISTPRINTINFO(
"ALS::updateW::HtH::" << norm(this->HtH,
"fro") <<
"::AHtij::" 31 << norm(this->AHtij,
"fro")
32 <<
"::W::" << norm(this->W,
"fro"));
41 this->Ht = arma::solve(arma::trimatl(this->WtW), this->WtAij);
42 this->H = this->Ht.t();
47 DISTPRINTINFO(
"ALS::updateH::WtW::" << norm(this->WtW,
"fro") <<
"::WtAij::" 48 << norm(this->WtAij,
"fro")
49 <<
"::H::" << norm(this->H,
"fro"));
53 DistALS(
const INPUTMATTYPE& input,
const MAT& leftlowrankfactor,
56 :
DistAUNMF<INPUTMATTYPE>(input, leftlowrankfactor, rightlowrankfactor,
57 communicator, numkblks) {
58 PRINTROOT(
"DistALS() constructor successful");
64 #endif // DISTNMF_DISTALS_HPP_ DistALS(const INPUTMATTYPE &input, const MAT &leftlowrankfactor, const MAT &rightlowrankfactor, const MPICommunicator &communicator, const int numkblks)
#define DISTPRINTINFO(MSG)
ncp_factors contains the factors of the ncp every ith factor is of size n_i * k number of factors is ...