scipy.sparse.

lil_matrix#

class scipy.sparse.lil_matrix(arg1, shape=None, dtype=None, copy=False, *, maxprint=None)[source]#

基於列的列表式稀疏矩陣。

這是一種用於逐步建構稀疏矩陣的結構。請注意,在最壞的情況下,插入單個項目可能需要線性時間;為了有效率地建構矩陣,請確保項目已按索引預先排序,每行。

這可以通過幾種方式實例化
lil_matrix(D)

其中 D 是一個 2 維 ndarray

lil_matrix(S)

使用另一個稀疏陣列或矩陣 S (等同於 S.tolil())

lil_matrix((M, N), [dtype])

建構一個形狀為 (M, N) 的空矩陣,dtype 是可選的,預設為 dtype='d'。

注意

稀疏矩陣可用於算術運算:它們支持加法、減法、乘法、除法和矩陣冪。

LIL 格式的優點
  • 支援彈性切片

  • 對矩陣稀疏結構的更改是有效率的

LIL 格式的缺點
  • 算術運算 LIL + LIL 速度較慢 (考慮 CSR 或 CSC)

  • 列切片速度較慢 (考慮 CSC)

  • 矩陣向量乘積速度較慢 (考慮 CSR 或 CSC)

預期用途
  • LIL 是一種方便的格式,用於建構稀疏矩陣

  • 一旦矩陣建構完成,請轉換為 CSR 或 CSC 格式以獲得快速的算術和矩陣向量運算

  • 在建構大型矩陣時,請考慮使用 COO 格式

資料結構
  • 一個列陣列 (self.rows),其中每一列都是非零元素之列索引的排序列表。

  • 對應的非零值以類似的方式儲存在 self.data 中。

屬性:
dtypedtype

矩陣的資料類型

shape2-tuple

矩陣的形狀

ndimint

維度數量 (始終為 2)

nnz

儲存值的數量,包括顯式零。

size

儲存值的數量。

data

矩陣的 LIL 格式資料陣列

rows

矩陣的 LIL 格式列索引陣列

T

轉置。

方法

__len__()

__mul__(other)

asformat(format[, copy])

以傳遞的格式返回此陣列/矩陣。

asfptype()

將矩陣向上轉換為浮點格式 (如有必要)

astype(dtype[, casting, copy])

將陣列/矩陣元素轉換為指定的類型。

conj([copy])

元素級複共軛。

conjugate([copy])

元素級複共軛。

copy()

返回此陣列/矩陣的副本。

count_nonzero([axis])

非零條目的數量,等同於

diagonal([k])

返回陣列/矩陣的第 k 條對角線。

dot(other)

普通點積

getH()

返回此矩陣的 Hermitian 轉置。

get_shape()

取得矩陣的形狀

getcol(j)

返回矩陣第 j 列的副本,作為一個 (m x 1) 稀疏矩陣 (列向量)。

getformat()

矩陣儲存格式

getmaxprint()

列印時要顯示的最大元素數量。

getnnz([axis])

儲存值的數量,包括顯式零。

getrow(i)

返回矩陣第 i 列的副本,作為一個 (1 x n) 稀疏矩陣 (行向量)。

getrowview(i)

返回第 'i' 行的視圖 (不複製)。

maximum(other)

此陣列/矩陣與另一個陣列/矩陣之間的元素級最大值。

mean([axis, dtype, out])

沿指定軸計算算術平均值。

minimum(other)

此陣列/矩陣與另一個陣列/矩陣之間的元素級最小值。

multiply(other)

與另一個陣列/矩陣的點對點乘法。

nonzero()

陣列/矩陣的非零索引。

power(n[, dtype])

元素級冪。

reshape(self, shape[, order, copy])

為稀疏陣列/矩陣賦予新的形狀,而不更改其資料。

resize(*shape)

將陣列/矩陣就地調整為 shape 給定的維度

set_shape(shape)

就地設定矩陣的形狀

setdiag(values[, k])

設定陣列/矩陣的對角線或非對角線元素。

sum([axis, dtype, out])

將陣列/矩陣元素沿給定軸求和。

toarray([order, out])

返回此稀疏陣列/矩陣的密集 ndarray 表示形式。

tobsr([blocksize, copy])

將此陣列/矩陣轉換為區塊稀疏行格式。

tocoo([copy])

將此陣列/矩陣轉換為座標格式。

tocsc([copy])

將此陣列/矩陣轉換為壓縮稀疏列格式。

tocsr([copy])

將此陣列/矩陣轉換為壓縮稀疏行格式。

todense([order, out])

返回此稀疏矩陣的密集表示形式。

todia([copy])

將此陣列/矩陣轉換為稀疏對角格式。

todok([copy])

將此陣列/矩陣轉換為鍵字典格式。

tolil([copy])

將此陣列/矩陣轉換為列表式格式。

trace([offset])

返回稀疏陣列/矩陣沿對角線的總和。

transpose([axes, copy])

反轉稀疏陣列/矩陣的維度。

__getitem__