Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python kruskal_to_tensor()方法说明_Python_Tensorly - Fatal编程技术网

Python kruskal_to_tensor()方法说明

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

我试图理解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.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张量的因子,并在这些权重中吸收它们的大小