克朗为稀疏矩阵

时间:2014-04-12 05:30:47

标签: python scipy sparse-matrix

我正在尝试为2个稀疏矩阵找到Kronecker产品。我的代码如下。

import numpy as np
import scipy as sp
from scipy.sparse import dia_matrix, kron
dx = np.linspace(0,1,5)
x = populatematrix1(len(dx))
print x.shape, type(x)
y = populatematrix2(len(dx))
print y.shape, type(y)
z = kron(x,y)
print z.shape

我检查了用于填充稀疏矩阵的两个函数。他们工作得很好。当我在2个稀疏矩阵之间进行Kronecker生成时,问题出现了。 我得到的结果如下:

(3,3) <class 'scipy.sparse.dia.dia_matrix'>
(3,3) <class 'scipy.sparse.dia.dia_matrix'>
(3,3)

前两行是x和y的形状和类型。最后一行是z的形状。 如果z是Kronecker产品,则形状应为(9,9)。 为什么我得到(3,3)?非常感谢你。 以下是populatematrix1populatematrix2的最简单定义,populatematrix2populatematrix1

相同
def populatematrix1(dim):
    return dia_matrix( (np.array( [np.array([2]*5),np.array([1]*5), np.array([1]*5)] ),np.array([0,1,-1]) ),shape=(5,5))

0 个答案:

没有答案