kronecker产品用于矩阵阵列

时间:2017-01-29 01:43:13

标签: matlab matrix multidimensional-array vectorization matrix-multiplication

有没有办法在Matlab中为一个矩阵数组矢量化kronecker积的计算?例如,给定两个3D阵列A和B,是否可以获得

C(:,:,i) = kron(A(:,:,i),B(:,:,i)) 

没有循环过来?到目前为止,我已经设法让kroneckers工作的“外部”产品,即C(:,:,i,j)= kron(A(:,:,i),B(:,:,j))用:

matkron_ = @(A,B) reshape(permute(reshape(A(:)*B(:).',[size(A),size(B)]),[4,1,5,2,6,3]),size(A).*size(B))

但是当只需要“内部”产品时,这会进行大量不必要的计算。谢谢!

0 个答案:

没有答案