Я получаю неожиданные не разреженные результаты при использовании метода kron разреженного модуля Сципи. В частности, матричные элементы, которые равны нулю после выполнения произведения Кронекера, сохраняются в результате, и я хотел бы понять, что я должен сделать, чтобы вывод по-прежнему был полностью разреженным.
Вот пример того, что я имею в виду, взяв продукт kronecker из двух копий удостоверения личности:
import scipy.sparse as sp
s = sp.eye(2)
S = sp.kron(s,s)
S
<4x4 sparse matrix of type '<class 'numpy.float64'>'
with 8 stored elements (blocksize = 2x2) in Block Sparse Row format>
print(S)
(0, 0) 1.0
(0, 1) 0.0
(1, 0) 0.0
(1, 1) 1.0
(2, 2) 1.0
(2, 3) 0.0
(3, 2) 0.0
(3, 3) 1.0
Разреженная матрица S должна содержать только 4 (диагональных) ненулевых элемента, но здесь также есть другие элементы, равные нулю. Любые указатели на то, что я делаю неправильно, будут высоко оценены.