Python kruskal_to_tensor()方法说明
我试图理解tensorly包中的tl.kruskal_to_tensor()方法。 我知道它以矩阵列表作为输入,并产生张量,其cp分解为矩阵?它将矩阵列表作为输入 但我看到了以下代码:Python kruskal_to_tensor()方法说明,python,tensorly,Python,Tensorly,我试图理解tensorly包中的tl.kruskal_to_tensor()方法。 我知道它以矩阵列表作为输入,并产生张量,其cp分解为矩阵?它将矩阵列表作为输入 但我看到了以下代码: import tensorly as tl rank =5 dim1= 9 dim2=8 dim3=7 A= tl.tensor(np.random.normal(0,1,[dim1,rank])) B= tl.tensor(np.random.normal(0,1,[dim2,rank])) C= tl.ten
import tensorly as tl
rank =5
dim1= 9
dim2=8
dim3=7
A= tl.tensor(np.random.normal(0,1,[dim1,rank]))
B= tl.tensor(np.random.normal(0,1,[dim2,rank]))
C= tl.tensor(np.random.normal(0,1,[dim3,rank]))
T_approx_old = tl.kruskal_to_tensor((np.ones(rank),[A,B,C]))
我不理解这个方法中的np.ones(秩)参数
它是做什么的?这个版本的
kruskal_to_tensor
记录在
np.one
对应于Kruskal张量的权重:Kruskal张量将张量表示为秩1张量的加权和(向量的外积,收集为因子矩阵的列)。在你的例子中,和的权重都是1,并且在1的向量中累加
请注意,您可以计算Kruskal张量的因子,并将其大小吸收到这些权重中。此版本的
Kruskal_to_张量
记录在中
np.one
对应于Kruskal张量的权重:Kruskal张量将张量表示为秩1张量的加权和(向量的外积,收集为因子矩阵的列)。在你的例子中,和的权重都是1,并且在1的向量中累加
请注意,您可以计算Kruskal张量的因子,并在这些权重中吸收它们的大小