當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python SciPy sparse.dia_matrix用法及代碼示例


本文簡要介紹 python 語言中 scipy.sparse.dia_matrix 的用法。

用法:

class  scipy.sparse.dia_matrix(arg1, shape=None, dtype=None, copy=False)#

具有對角存儲的稀疏矩陣。

這可以通過多種方式實例化:

dia_matrix(D)

其中 D 是二維 ndarray

dia_matrix(S)

與另一個稀疏數組或矩陣 S (相當於 S.todia())

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

要構造一個形狀為 (M, N) 的空矩陣,dtype 是可選的,默認為 dtype='d'。

dia_matrix((數據,偏移量),形狀=(M,N))

其中 data[k,:] 存儲對角線 offsets[k] 的對角線條目(參見下麵的示例)

注意

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

例子

>>> import numpy as np
>>> from scipy.sparse import dia_matrix
>>> dia_matrix((3, 4), dtype=np.int8).toarray()
array([[0, 0, 0, 0],
       [0, 0, 0, 0],
       [0, 0, 0, 0]], dtype=int8)
>>> data = np.array([[1, 2, 3, 4]]).repeat(3, axis=0)
>>> offsets = np.array([0, -1, 2])
>>> dia_matrix((data, offsets), shape=(4, 4)).toarray()
array([[1, 0, 3, 0],
       [1, 2, 0, 4],
       [0, 2, 3, 0],
       [0, 0, 3, 4]])
>>> from scipy.sparse import dia_matrix
>>> n = 10
>>> ex = np.ones(n)
>>> data = np.array([ex, 2 * ex, ex])
>>> offsets = np.array([-1, 0, 1])
>>> dia_matrix((data, offsets), shape=(n, n)).toarray()
array([[2., 1., 0., ..., 0., 0., 0.],
       [1., 2., 1., ..., 0., 0., 0.],
       [0., 1., 2., ..., 0., 0., 0.],
       ...,
       [0., 0., 0., ..., 2., 1., 0.],
       [0., 0., 0., ..., 1., 2., 1.],
       [0., 0., 0., ..., 0., 1., 2.]])

屬性

dtype 類型

矩陣的數據類型

shape 2元組

矩陣的形狀

ndim int

維數(始終為 2)

nnz

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

size

存儲值的數量。

data

矩陣的DIA格式數據數組

offsets

矩陣的DIA格式偏移數組

T

轉置。

相關用法


注:本文由純淨天空篩選整理自scipy.org大神的英文原創作品 scipy.sparse.dia_matrix。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。