[英]Python: Does 'kron' create sparse matrix when I use ' from scipy.sparse import * '?
對於下面的代碼,Mat是一個數組類型的矩陣,
a = kron(Mat,ones((8,1)))
b = a.flatten()
如果我不導入scipy.sparse包,則a
是數組類型的矩陣 ,也可以執行b
。 如果我使用'from scipy.sparse import *',則a
是稀疏類型矩陣 ,則b
不能執行。 有人可以告訴我為什么kron
給出不同的結果嗎? 而且,flatten()是否可以應用於稀疏類型矩陣?
from module import *
在應用程序代碼中通常被認為是錯誤的形式,原因是您看到的原因-很難分辨出哪個模塊功能來自何處,特別是如果您對多個模塊執行此操作時
現在,您有:
from numpy import *
# from scipy.sparse import *
a = kron(Mat,ones((8,1)))
b = a.flatten()
取消對第二行可能會影響地方ones
,並kron
從何而來。 但是除非您查找是否稀疏地重新定義了這些,否則您將不會知道。 最好這樣寫:
import numpy as np
from scipy import sparse
a = np.kron(Mat, np.ones((8,1)))
b = a.flatten()
然后你就可以換np
為sparse
要使用稀疏的版本,讀者會立刻知道你正在使用哪一個。 如果您嘗試使用稀疏版本,而實際上卻沒有一個稀疏版本,則會收到錯誤消息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.