Vous êtes un professionnel et vous avez besoin d'une formation ?
Programmation Python
Les compléments
Voir le programme détaillé
Module « scipy.sparse »
Classe « bsr_array »
Informations générales
Héritage
builtins.object
sparray
builtins.object
_minmax_mixin
builtins.object
IndexMixin
builtins.object
_minmax_mixin
builtins.object
_spbase
_data_matrix
_cs_matrix
_bsr_base
bsr_array
Définition
class bsr_array(_bsr_base, sparray):
help(bsr_array)
Block Sparse Row format sparse array.
This can be instantiated in several ways:
bsr_array(D, [blocksize=(R,C)])
where D is a 2-D ndarray.
bsr_array(S, [blocksize=(R,C)])
with another sparse array or matrix S (equivalent to S.tobsr())
bsr_array((M, N), [blocksize=(R,C), dtype])
to construct an empty sparse array with shape (M, N)
dtype is optional, defaulting to dtype='d'.
bsr_array((data, ij), [blocksize=(R,C), shape=(M, N)])
where ``data`` and ``ij`` satisfy ``a[ij[0, k], ij[1, k]] = data[k]``
bsr_array((data, indices, indptr), [shape=(M, N)])
is the standard BSR representation where the block column
indices for row i are stored in ``indices[indptr[i]:indptr[i+1]]``
and their corresponding block values are stored in
``data[ indptr[i]: indptr[i+1] ]``. If the shape parameter is not
supplied, the array dimensions are inferred from the index arrays.
Attributes
----------
dtype : dtype
Data type of the array
shape : 2-tuple
Shape of the array
ndim : int
Number of dimensions (this is always 2)
nnz
size
data
BSR format data array of the array
indices
BSR format index array of the array
indptr
BSR format index pointer array of the array
blocksize
Block size
has_sorted_indices : bool
Whether indices are sorted
has_canonical_format : bool
T
Notes
-----
Sparse arrays can be used in arithmetic operations: they support
addition, subtraction, multiplication, division, and matrix power.
**Summary of BSR format**
The Block Sparse Row (BSR) format is very similar to the Compressed
Sparse Row (CSR) format. BSR is appropriate for sparse matrices with dense
sub matrices like the last example below. Such sparse block matrices often
arise in vector-valued finite element discretizations. In such cases, BSR is
considerably more efficient than CSR and CSC for many sparse arithmetic
operations.
**Blocksize**
The blocksize (R,C) must evenly divide the shape of the sparse array (M,N).
That is, R and C must satisfy the relationship ``M % R = 0`` and
``N % C = 0``.
If no blocksize is specified, a simple heuristic is applied to determine
an appropriate blocksize.
**Canonical Format**
In canonical format, there are no duplicate blocks and indices are sorted
per row.
**Limitations**
Block Sparse Row format sparse arrays do not support slicing.
Examples
--------
>>> import numpy as np
>>> from scipy.sparse import bsr_array
>>> bsr_array((3, 4), dtype=np.int8).toarray()
array([[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 0]], dtype=int8)
>>> row = np.array([0, 0, 1, 2, 2, 2])
>>> col = np.array([0, 2, 2, 0, 1, 2])
>>> data = np.array([1, 2, 3 ,4, 5, 6])
>>> bsr_array((data, (row, col)), shape=(3, 3)).toarray()
array([[1, 0, 2],
[0, 0, 3],
[4, 5, 6]])
>>> indptr = np.array([0, 2, 3, 6])
>>> indices = np.array([0, 2, 2, 0, 1, 2])
>>> data = np.array([1, 2, 3, 4, 5, 6]).repeat(4).reshape(6, 2, 2)
>>> bsr_array((data,indices,indptr), shape=(6, 6)).toarray()
array([[1, 1, 0, 0, 2, 2],
[1, 1, 0, 0, 2, 2],
[0, 0, 0, 0, 3, 3],
[0, 0, 0, 0, 3, 3],
[4, 4, 5, 5, 6, 6],
[4, 4, 5, 5, 6, 6]])
Constructeur(s)
Liste des propriétés
blocksize | Block size of the matrix. [extrait de blocksize.__doc__] |
dtype | |
format | Format string for matrix. [extrait de format.__doc__] |
has_canonical_format | Whether the array/matrix has sorted indices and no duplicates [extrait de has_canonical_format.__doc__] |
has_sorted_indices | Whether the indices are sorted [extrait de has_sorted_indices.__doc__] |
imag | |
ndim | |
nnz | Number of stored values, including explicit zeros. [extrait de nnz.__doc__] |
real | |
shape | |
size | Number of stored values. [extrait de size.__doc__] |
T | Transpose. [extrait de T.__doc__] |
Liste des opérateurs
Opérateurs hérités de la classe _bsr_base
__getitem__, __setitem__
Liste des opérateurs
Opérateurs hérités de la classe _cs_matrix
__eq__, __ge__, __gt__, __le__, __lt__, __ne__
Liste des opérateurs
Opérateurs hérités de la classe _data_matrix
__imul__, __itruediv__, __neg__
Liste des opérateurs
Opérateurs hérités de la classe _spbase
__add__, __iadd__, __isub__, __matmul__, __mul__, __pow__, __radd__, __rmul__, __rsub__, __rtruediv__, __sub__, __truediv__
Liste des méthodes
Toutes les méthodes
Méthodes d'instance
Méthodes statiques
Méthodes dépréciées
Méthodes héritées de la classe sparray
__init_subclass__, __subclasshook__
Méthodes héritées de la classe _bsr_base
__repr__, check_format, count_nonzero, diagonal, eliminate_zeros, prune, sort_indices, sum_duplicates, toarray, tobsr, tocoo, tocsc, tocsr, transpose
Méthodes héritées de la classe _cs_matrix
maximum, minimum, multiply, resize, sorted_indices, sum
Méthodes héritées de la classe _minmax_mixin
argmax, argmin, max, min, nanmax, nanmin
Méthodes héritées de la classe _data_matrix
__abs__, __round__, astype, conjugate, copy, power
Méthodes héritées de la classe _spbase
__bool__, __div__, __idiv__, __iter__, __len__, __nonzero__, __rdiv__, __rmatmul__, __str__, asformat, conj, dot, mean, nonzero, reshape, setdiag, todense, todia, todok, tolil, trace
Méthodes héritées de la classe object
__delattr__,
__dir__,
__format__,
__getattribute__,
__getstate__,
__hash__,
__reduce__,
__reduce_ex__,
__setattr__,
__sizeof__
Vous êtes un professionnel et vous avez besoin d'une formation ?
Sensibilisation àl'Intelligence Artificielle
Voir le programme détaillé
Améliorations / Corrections
Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.
Emplacement :
Description des améliorations :