Vous êtes un professionnel et vous avez besoin d'une formation ?
Programmation Python
Les fondamentaux
Voir le programme détaillé
Module « scipy.sparse »
Signature de la fonction diags_array
def diags_array(diagonals, /, *, offsets=0, shape=None, format=None, dtype=None)
Description
help(scipy.sparse.diags_array)
Construct a sparse array from diagonals.
Parameters
----------
diagonals : sequence of array_like
Sequence of arrays containing the array diagonals,
corresponding to `offsets`.
offsets : sequence of int or an int, optional
Diagonals to set (repeated offsets are not allowed):
- k = 0 the main diagonal (default)
- k > 0 the kth upper diagonal
- k < 0 the kth lower diagonal
shape : tuple of int, optional
Shape of the result. If omitted, a square array large enough
to contain the diagonals is returned.
format : {"dia", "csr", "csc", "lil", ...}, optional
Matrix format of the result. By default (format=None) an
appropriate sparse array format is returned. This choice is
subject to change.
dtype : dtype, optional
Data type of the array.
Notes
-----
Repeated diagonal offsets are disallowed.
The result from `diags_array` is the sparse equivalent of::
np.diag(diagonals[0], offsets[0])
+ ...
+ np.diag(diagonals[k], offsets[k])
``diags_array`` differs from `dia_array` in the way it handles off-diagonals.
Specifically, `dia_array` assumes the data input includes padding
(ignored values) at the start/end of the rows for positive/negative
offset, while ``diags_array` assumes the input data has no padding.
Each value in the input ``diagonals`` is used.
.. versionadded:: 1.11
Examples
--------
>>> from scipy.sparse import diags_array
>>> diagonals = [[1, 2, 3, 4], [1, 2, 3], [1, 2]]
>>> diags_array(diagonals, offsets=[0, -1, 2]).toarray()
array([[1., 0., 1., 0.],
[1., 2., 0., 2.],
[0., 2., 3., 0.],
[0., 0., 3., 4.]])
Broadcasting of scalars is supported (but shape needs to be
specified):
>>> diags_array([1, -2, 1], offsets=[-1, 0, 1], shape=(4, 4)).toarray()
array([[-2., 1., 0., 0.],
[ 1., -2., 1., 0.],
[ 0., 1., -2., 1.],
[ 0., 0., 1., -2.]])
If only one diagonal is wanted (as in `numpy.diag`), the following
works as well:
>>> diags_array([1, 2, 3], offsets=1).toarray()
array([[ 0., 1., 0., 0.],
[ 0., 0., 2., 0.],
[ 0., 0., 0., 3.],
[ 0., 0., 0., 0.]])
Vous êtes un professionnel et vous avez besoin d'une formation ?
Coder avec une
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 :