簡體   English   中英

Python:當我使用“ from scipy.sparse import *”時,“ kron”會創建稀疏矩陣嗎?

[英]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()

然后你就可以換npsparse要使用稀疏的版本,讀者會立刻知道你正在使用哪一個。 如果您嘗試使用稀疏版本,而實際上卻沒有一個稀疏版本,則會收到錯誤消息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM