输入 [1]
已复制!
import sparse
import numpy as np
import sparse import numpy as np
执行操作¶
让我们创建两个数组。
输入 [2]
已复制!
rng = np.random.default_rng(42) # Seed for reproducibility
a = sparse.random((3, 3), density=1 / 6, random_state=rng)
b = sparse.random((3, 3), density=1 / 6, random_state=rng)
rng = np.random.default_rng(42) # Seed for reproducibility a = sparse.random((3, 3), density=1 / 6, random_state=rng) b = sparse.random((3, 3), density=1 / 6, random_state=rng)
现在让我们对它们进行矩阵乘法。
输入 [3]
已复制!
c = a @ b
c = a @ b
并将结果视为(密集)NumPy 数组。
输入 [4]
已复制!
c_dense = c.todense()
c_dense = c.todense()
现在,让我们对其他格式执行相同的操作,并比较结果。
输入 [5]
已复制!
for format in ["coo", "csr", "csc"]:
af = sparse.asarray(a, format=format)
bf = sparse.asarray(b, format=format)
cf = af @ bf
np.testing.assert_array_equal(c_dense, cf.todense())
for format in ["coo", "csr", "csc"]: af = sparse.asarray(a, format=format) bf = sparse.asarray(b, format=format) cf = af @ bf np.testing.assert_array_equal(c_dense, cf.todense())