cupyx.scipy.sparse.csc_matrix#
- class cupyx.scipy.sparse.csc_matrix(arg1, shape=None, dtype=None, copy=False)[源代码][源代码]#
压缩稀疏列矩阵。
这可以通过几种方式实例化。
csc_matrix(D)D是一个秩为2的cupy.ndarray。csc_matrix(S)S是另一个稀疏矩阵。它等同于S.tocsc()。csc_matrix((M, N), [dtype])它构造一个形状为
(M, N)的空矩阵。默认的 dtype 是 float64。csc_matrix((data, (row, col)))所有的
data、row和col都是一维的cupy.ndarray。csc_matrix((data, indices, indptr))所有
data、indices和indptr都是一维的cupy.ndarray。
- 参数:
方法
- argmax(axis=None, out=None)[源代码]#
返回沿某个轴的最大元素的索引。
隐式零元素会被考虑在内。如果有多个最大值,则返回第一个出现的索引。如果矩阵中出现
NaN值,输出默认在该行/列中出现 NaN 的位置为零。
- argmin(axis=None, out=None)[源代码]#
返回沿某个轴的最小元素的索引。
隐式零元素会被考虑在内。如果有多个最小值,则返回第一个出现的索引。如果矩阵中出现
NaN值,输出默认在该行/列中出现 NaN 的位置为零。
- conj(copy=True)[源代码]#
逐元素复共轭。
如果矩阵的数据类型是非复数且 copy 为 False,则此方法不执行任何操作,数据也不会被复制。
- 参数:
copy (bool) – 如果为真,结果保证不与自身共享数据。
- 返回:
逐元素的复共轭。
- 返回类型:
- conjugate(copy=True)[源代码]#
逐元素复共轭。
如果矩阵的数据类型是非复数且 copy 为 False,则此方法不执行任何操作,数据也不会被复制。
- 参数:
copy (bool) – 如果为真,结果保证不与自身共享数据。
- 返回:
逐元素的复共轭。
- 返回类型:
- diagonal(k=0)[源代码]#
返回矩阵的第 k 条对角线。
- 参数:
k (int, optional) – 获取哪条对角线,对应于元素
a[i – 0(主对角线)。
Default (i+k].) – 0(主对角线)。
- 返回:
第 k 条对角线。
- 返回类型:
- get(stream=None)[源代码][源代码]#
返回主机内存中数组的副本。
警告
你需要安装 SciPy 来使用这个方法。
- 参数:
stream (cupy.cuda.Stream) – CUDA 流对象。如果提供了它,复制操作将异步进行。否则,复制操作是同步的。
- 返回:
主机内存中的数组副本。
- 返回类型:
- max(axis=None, out=None, *, explicit=False)[源代码]#
返回矩阵的最大值或沿某个轴的最大值。
- 参数:
- 返回:
a的最大值。如果axis是None,结果是一个标量值。如果给出axis,结果是一个维度为a.ndim - 1的数组。这与 numpy 不同,是为了计算效率。- 返回类型:
(cupy.ndarray or float)
参见
min : 稀疏矩阵沿给定轴的最小值。
参见
numpy.matrix.max : NumPy 对矩阵实现的
max方法
- mean(axis=None, dtype=None, out=None)[源代码]#
计算指定轴上的算术平均值。
- 参数:
axis (int or
None) – 计算总和所沿的轴。如果为None,则计算所有元素的平均值。从{None, 0, 1, -2, -1}中选择。- 返回:
求和数组。
- 返回类型:
参见
scipy.sparse.spmatrix.mean()
- min(axis=None, out=None, *, explicit=False)[源代码]#
返回矩阵的最小值或沿某个轴的最大值。
- 参数:
- 返回:
a的最小值。如果axis是 None,结果是一个标量值。如果axis被给出,结果是一个维度为a.ndim - 1的数组。这与 numpy 不同,是为了计算效率。- 返回类型:
(cupy.ndarray or float)
参见
max : 稀疏矩阵沿给定轴的最大值。
参见
numpy.matrix.min : NumPy 对矩阵 ‘min’ 的实现
- reshape(*shape, order='C')[源代码]#
在不改变其数据的情况下,给稀疏矩阵赋予一个新的形状。
- 参数:
shape (tuple) – 新形状应与原始形状兼容。
order – {‘C’, ‘F’} (可选) 使用此索引顺序读取元素。’C’ 表示使用类似 C 的索引顺序读取和写入元素。’F’ 表示使用类似 Fortran 的索引顺序读取和写入元素。默认值:C。
- 返回:
稀疏矩阵
- 返回类型:
- setdiag(values, k=0)[源代码]#
设置数组的对角线或非对角线元素。
- 参数:
values (cupy.ndarray) – 对角元素的新值。值可以是任意长度。如果对角线比值长,则剩余的对角线元素将不会被设置。如果值比对角线长,则剩余的值将被忽略。如果给定的是标量值,则所有对角线元素都将被设置为该值。
k (int, optional) – 设置哪条对角线,对应于元素 a[i, i+k]。默认值:0(主对角线)。
- sum(axis=None, dtype=None, out=None)[源代码]#
对矩阵元素沿指定轴求和。
- 参数:
axis (int or
None) – 计算总和所沿的轴。如果为None,则计算所有元素的总和。从{None, 0, 1, -2, -1}中选择。dtype – 返回矩阵的类型。如果未指定,则使用数组的类型。
out (cupy.ndarray) – 输出矩阵。
- 返回:
求和数组。
- 返回类型:
参见
scipy.sparse.spmatrix.sum()
- toarray(order=None, out=None)[源代码][源代码]#
返回一个表示相同值的密集矩阵。
- 参数:
order ({'C', 'F', None}) – 是否以C(行优先)顺序或F(列优先)顺序存储数据。默认是C顺序。
out – 不支持。
- 返回:
表示相同矩阵的密集数组。
- 返回类型:
- tocoo(copy=False)[源代码][源代码]#
将矩阵转换为 COOrdinate 格式。
- 参数:
copy (bool) – 如果
False,它会尽可能多地共享数据数组。- 返回:
转换后的矩阵。
- 返回类型:
- tocsc(copy=None)[源代码][源代码]#
将矩阵转换为压缩稀疏列格式。
- 参数:
copy (bool) – 如果
False,该方法返回自身。否则,它会复制矩阵。- 返回:
转换后的矩阵。
- 返回类型:
- tocsr(copy=False)[源代码][源代码]#
将矩阵转换为压缩稀疏行格式。
- 参数:
copy (bool) – 如果
False,它会尽可能多地共享数据数组。实际上,此选项被忽略,因为在 csr 到 csc 转换中,矩阵中的所有数组不能共享。- 返回:
转换后的矩阵。
- 返回类型:
- transpose(axes=None, copy=False)[源代码][源代码]#
返回一个转置矩阵。
- 参数:
axes – 此选项不受支持。
copy (bool) – 如果
True,返回的矩阵不共享任何数据。否则,它会尽可能多地共享数据数组。
- 返回:
self 的维度反转。
- 返回类型:
属性
- H#
- T#
- device#
此数组所在的 CUDA 设备。
- dtype#
矩阵的数据类型。
- format = 'csc'#
- has_canonical_format#
确定矩阵是否具有排序的索引且没有重复项。
- 返回
bool: 如果上述情况适用,则为
True,否则为False。
备注
has_canonical_format意味着has_sorted_indices,所以如果后者标志是False,前者也将是;如果前者被发现是True,后者标志也会被设置。警告
获取此属性可能会同步设备。
- has_sorted_indices#
确定矩阵是否具有排序的索引。
- 返回
- bool:
True如果矩阵的索引是按排序顺序排列的,否则False。
警告
获取此属性可能会同步设备。
- ndim#
- nnz#
- shape#
- size#