Я пытаюсь разложить трехмерную матрицу, используя библиотеку python scikit-tensor. Мне удалось разложить свой Tensor (с размерами 100x50x5) на три матрицы. Мой вопрос: как я могу снова составить исходную матрицу, используя разложенную матрицу, созданную с помощью тензорной факторизации? Я хочу проверить, имеет ли разложение какое-либо значение. Мой код следующий:
import logging
from scipy.io.matlab import loadmat
from sktensor import dtensor, cp_als
import numpy as np
//Set logging to DEBUG to see CP-ALS information
logging.basicConfig(level=logging.DEBUG)
T = np.ones((400, 50))
T = dtensor(T)
P, fit, itr, exectimes = cp_als(T, 10, init='random')
// how can I re-compose the Matrix T? TA = np.dot(P.U[0], P.U[1].T)
Я использую каноническую декомпозицию, предоставленную библиотечной функцией scikit-tensor cp_als. Также какова ожидаемая размерность разложенных матриц?