cupyx.scipy.sparse.coo_matrix

class cupyx.scipy.sparse.coo_matrix(arg1, shape=None, dtype=None, copy=False)

COOrdinate format sparse matrix.

Now it has only one initializer format below:

coo_matrix(S)
S is another sparse matrix. It is equivalent to S.tocoo().
coo_matrix((M, N), [dtype])
It constructs an empty matrix whose shape is (M, N). Default dtype is float64.
coo_matrix((data, (row, col))
All data, row and col are one-dimenaional cupy.ndarray.
Parameters:
  • arg1 – Arguments for the initializer.
  • shape (tuple) – Shape of a matrix. Its length must be two.
  • dtype – Data type. It must be an argument of numpy.dtype.
  • copy (bool) – If True, copies of given data are always used.

Methods

__len__()
__iter__()
arcsin()

Elementwise arcsin.

arcsinh()

Elementwise arcsinh.

arctan()

Elementwise arctan.

arctanh()

Elementwise arctanh.

asformat(format)

Return this matrix in a given sparse format.

Parameters:format (str or None) – Format you need.
asfptype()

Upcasts matrix to a floating point format.

When the matrix has floating point type, the method returns itself. Otherwise it makes a copy with floating point type and the same format.

Returns:A matrix with float type.
Return type:cupyx.scipy.sparse.spmatrix
astype(t)

Casts the array to given data type.

Parameters:dtype – Type specifier.
Returns:A copy of the array with a given type.
ceil()

Elementwise ceil.

conj(copy=True)

Element-wise complex conjugation.

If the matrix is of non-complex data type and copy is False, this method does nothing and the data is not copied.

Parameters:copy (bool) – If True, the result is guaranteed to not share data with self.
Returns:The element-wise complex conjugate.
Return type:cupyx.scipy.sparse.spmatrix
conjugate(copy=True)

Element-wise complex conjugation.

If the matrix is of non-complex data type and copy is False, this method does nothing and the data is not copied.

Parameters:copy (bool) – If True, the result is guaranteed to not share data with self.
Returns:The element-wise complex conjugate.
Return type:cupyx.scipy.sparse.spmatrix
copy()

Returns a copy of this matrix.

No data/indices will be shared between the returned value and current matrix.

count_nonzero()

Returns number of non-zero entries.

Note

This method counts the actual number of non-zero entories, which does not include explicit zero entries. Instead nnz returns the number of entries including explicit zeros.

Returns:Number of non-zero entries.
deg2rad()

Elementwise deg2rad.

diagonal(k=0)

Returns the k-th diagonal of the matrix.

Parameters:
  • k (int, optional) – Which diagonal to get, corresponding to elements
  • i+k] Default (a[i,) – 0 (the main diagonal).
Returns:

The k-th diagonal.

Return type:

cupy.ndarray

dot(other)

Ordinary dot product

eliminate_zeros()

Removes zero entories in place.

expm1()

Elementwise expm1.

floor()

Elementwise floor.

get(stream=None)

Returns a copy of the array on host memory.

Parameters:stream (cupy.cuda.Stream) – CUDA stream object. If it is given, the copy runs asynchronously. Otherwise, the copy is synchronous.
Returns:Copy of the array on host memory.
Return type:scipy.sparse.coo_matrix
getH()
get_shape()

Returns the shape of the matrix.

Returns:Shape of the matrix.
Return type:tuple
getformat()
getmaxprint()
getnnz(axis=None)

Returns the number of stored values, including explicit zeros.

log1p()

Elementwise log1p.

maximum(other)
minimum(other)
multiply(other)

Point-wise multiplication by another matrix

power(n, dtype=None)

Elementwise power function.

Parameters:
  • n – Exponent.
  • dtype – Type specifier.
rad2deg()

Elementwise rad2deg.

reshape(shape, order='C')

Gives a new shape to a sparse matrix without changing its data.

rint()

Elementwise rint.

set_shape(shape)
sign()

Elementwise sign.

sin()

Elementwise sin.

sinh()

Elementwise sinh.

sqrt()

Elementwise sqrt.

sum(axis=None, dtype=None, out=None)

Sums the matrix elements over a given axis.

Parameters:
  • axis (int or None) – Axis along which the sum is comuted. If it is None, it computes the sum of all the elements. Select from {None, 0, 1, -2, -1}.
  • dtype – The type of returned matrix. If it is not specified, type of the array is used.
  • out (cupy.ndarray) – Output matrix.
Returns:

Summed array.

Return type:

cupy.ndarray

sum_duplicates()

Eliminate duplicate matrix entries by adding them together.

Warning

When sorting the indices, CuPy follows the convention of cuSPARSE, which is different from that of SciPy. Therefore, the order of the output indices may differ:

>>> #     1 0 0
>>> # A = 1 1 0
>>> #     1 1 1
>>> data = cupy.array([1, 1, 1, 1, 1, 1], 'f')
>>> row = cupy.array([0, 1, 1, 2, 2, 2], 'i')
>>> col = cupy.array([0, 0, 1, 0, 1, 2], 'i')
>>> A = cupyx.scipy.sparse.coo_matrix((data, (row, col)),
...                                   shape=(3, 3))
>>> a = A.get()
>>> A.sum_duplicates()
>>> a.sum_duplicates()  # a is scipy.sparse.coo_matrix
>>> A.row
array([0, 1, 1, 2, 2, 2], dtype=int32)
>>> a.row
array([0, 1, 2, 1, 2, 2], dtype=int32)
>>> A.col
array([0, 0, 1, 0, 1, 2], dtype=int32)
>>> a.col
array([0, 0, 0, 1, 1, 2], dtype=int32)

Warning

Calling this function might synchronize the device.

tan()

Elementwise tan.

tanh()

Elementwise tanh.

toarray(order=None, out=None)

Returns a dense matrix representing the same value.

Parameters:
  • order (str) – Not supported.
  • out – Not supported.
Returns:

Dense array representing the same value.

Return type:

cupy.ndarray

tobsr(blocksize=None, copy=False)

Convert this matrix to Block Sparse Row format.

tocoo(copy=False)

Converts the matrix to COOdinate format.

Parameters:copy (bool) – If False, it shares data arrays as much as possible.
Returns:Converted matrix.
Return type:cupyx.scipy.sparse.coo_matrix
tocsc(copy=False)

Converts the matrix to Compressed Sparse Column format.

Parameters:copy (bool) – If False, it shares data arrays as much as possible. Actually this option is ignored because all arrays in a matrix cannot be shared in coo to csc conversion.
Returns:Converted matrix.
Return type:cupyx.scipy.sparse.csc_matrix
tocsr(copy=False)

Converts the matrix to Compressed Sparse Row format.

Parameters:copy (bool) – If False, it shares data arrays as much as possible. Actually this option is ignored because all arrays in a matrix cannot be shared in coo to csr conversion.
Returns:Converted matrix.
Return type:cupyx.scipy.sparse.csr_matrix
todense(order=None, out=None)

Return a dense matrix representation of this matrix.

todia(copy=False)

Convert this matrix to sparse DIAgonal format.

todok(copy=False)

Convert this matrix to Dictionary Of Keys format.

tolil(copy=False)

Convert this matrix to LInked List format.

transpose(axes=None, copy=False)

Returns a transpose matrix.

Parameters:
  • axes – This option is not supported.
  • copy (bool) – If True, a returned matrix shares no data. Otherwise, it shared data arrays as much as possible.
Returns:

Transpose matrix.

Return type:

cupyx.scipy.sparse.spmatrix

trunc()

Elementwise trunc.

__eq__(other)

Return self==value.

__ne__(other)

Return self!=value.

__lt__(other)

Return self<value.

__le__(other)

Return self<=value.

__gt__(other)

Return self>value.

__ge__(other)

Return self>=value.

__nonzero__()
__bool__()

Attributes

A

Dense ndarray representation of this matrix.

This property is equivalent to toarray() method.

H
T
device

CUDA device on which this array resides.

dtype

Data type of the matrix.

format = 'coo'
has_canonical_format
ndim
nnz
shape
size