9 int main(
int argc,
char* argv[]) {
12 UVEC dimensions(test_order);
13 FMAT* mttkrps =
new FMAT[test_order];
15 for (
int i = 0; i < test_order; i++) {
16 dimensions(i) = i + 2;
19 PLANC::NCPFactors cpfactors(dimensions, low_rank);
21 FMAT krp_2 = cpfactors.krp_leave_out_one(2);
22 cout <<
"krp" << endl <<
"------" << endl << krp_2;
23 PLANC::Tensor my_tensor = cpfactors.rankk_tensor();
26 for (
int i = 0; i < test_order; i++) {
27 mttkrps[i] = arma::zeros<FMAT>(dimensions(i), low_rank);
29 for (
int i = 0; i < test_order; i++) {
30 mttkrp(i, my_tensor, cpfactors, &mttkrps[i]);
31 cout <<
"mttkrp " << i << endl <<
"---------" << endl << mttkrps[i];
int main(int argc, char *argv[])
void mttkrp(const int i_n, const planc::Tensor &X, planc::NCPFactors &i_F, MAT *o_mttkrp)
Return the mttkrp of mode i_n of tensor X.