稀疏矩陣(SparseMatrices)

稀疏矩陣相對於密集矩陣在處理大多數元素為零的大型數組時的效率。稀疏矩陣僅存儲非零元素及其位置,導致在某些操作中記憶體使用量和計算時間大幅減少。

import numpy as np
from scipy.sparse.linalg import eigsh 
from scipy.linalg import eigh
import scipy.sparse
import time
N = 3000
# Creating a random sparse matrix 
m = scipy.sparse.rand(N, N)
# Creating an array clone of it 
a = m.toarray()
print('The numpy array data size: ' + str(a.nbytes) + ' bytes') 
print('The sparse matrix data size: ' + str(m.data.nbytes) + ' bytes')
# Non-sparse
t0 = time.time()
res1 = eigh(a)
dt = str(np.round(time.time() - t0, 3)) + ' seconds' 
print('Non-sparse operation takes ' + dt)
# Sparse
t0 = time.time()
res2 = eigsh(m)
dt = str(np.round(time.time() - t0, 3)) + ' seconds' 
print('Sparse operation takes ' + dt)
分類: AI,標籤: , 。這篇內容的永久連結

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *