qiskit_noise_learning.math.IndexedMatrix
class qiskit_noise_learning.math.IndexedMatrix(row_index_map: Mapping[RowIndex, int] | None = None, column_index_map: Mapping[ColumnIndex, int] | None = None, data: ndarray | sparray | None = None)
Bases : Generic[RowIndex, ColumnIndex]
Une matrice contenant des éléments de type flottant et des indices de lignes et de colonnes arbitraires.
Les entrées sont stockées sous la forme d'un tableau CSR ( SciPydata). Obtenez une représentation dense à l'aide de toarray().
Paramètres
- row_index_map – Une correspondance entre les indices de ligne et les axes de ligne entiers de
data. - column_index_map – Une correspondance entre les indices de colonne et les axes de colonne entiers de
data. - data – Le tableau correspondant aux indices de ligne et de colonne indiqués, dense ou creux.
Augmentations
ValueError : si la forme de data n'est pas compatible avec les valeurs de ou row_index_map de column_index_map.
__init__
__init__(row_index_map: Mapping[RowIndex, int] | None = None, column_index_map: Mapping[ColumnIndex, int] | None = None, data: ndarray | sparray | None = None)
Méthodes
Chronique « 1 » | Chronique « 2 » |
|---|---|
__init__([row_index_map, column_index_map, data]) | |
add_rows(indices_de_lignes, lignes[, tol]) | Ajouter des lignes à la matrice. |
copy() | Renvoie une copie de self. |
from_index_lists(indices_de_lignes,...) | Construire à partir de listes ordonnées d'indices de lignes et de colonnes. |
from_rows(indices_de_lignes, lignes[, tol]) | Construire à partir des indices de lignes et de leurs IndexedVector lignes clairsemées. |
linearly_independent_rows([tol]) | Renvoie une sous-matrice contenant un ensemble maximal de lignes linéairement indépendantes. |
toarray() | Renvoie les données numériques sous la forme d'un tableau dense ndarray. |
Attributs
Chronique « 1 » | Chronique « 2 » |
|---|---|
column_index_map | Dictionnaire associant les indices des colonnes à l'entier correspondant à l'axe des colonnes de self.data. |
data | Les données numériques, sous forme de tableau CSR SciPy. |
rank | Le rang de la matrice. |
row_index_map | Dictionnaire associant les indices de ligne à l'entier de l'axe des lignes de self.data. |
shape | La forme de la matrice. |
from_index_lists
classmethod from_index_lists(row_indices: Sequence[RowIndex], column_indices: Sequence[ColumnIndex], data: ndarray) → Self
Construire à partir de listes ordonnées d'indices de lignes et de colonnes.
Paramètres
- row_indices – Liste des indices de ligne pour les axes de ligne de
data. - column_indices – Liste des indices de colonne pour les axes de colonne de
data. - données – La matrice de données.
Retours
Un IndexedMatrix dont les tables d'index des lignes et des colonnes sont construites à partir de et row_indices column_indices.
from_rows
classmethod from_rows(row_indices: Sequence[RowIndex], rows: Sequence[IndexedVector[ColumnIndex]], tol: float = 1e-08) → Self
Construire à partir des indices de lignes et de leurs IndexedVector lignes clairsemées.
Paramètres
- row_indices – L'index de chaque ligne.
- lignes – Les lignes clairsemées, en tant qu’exemples
IndexedVector. - tol – Tolérance en dessous de laquelle les valeurs des lignes sont considérées comme
0.0.
Retours
Un tableau contenant IndexedMatrix les lignes (non nulles).
row_index_map
Dictionnaire associant les indices de ligne à l'entier de l'axe des lignes de self.data.
column_index_map
Dictionnaire associant les indices des colonnes à l'entier correspondant à l'axe des colonnes de self.data.
data
Type : csr_array
Les données numériques, sous la forme d'un tableau CSR SciPy. Utilisez toarray() pour obtenir une copie dense.
toarray
toarray() → ndarray
Renvoie les données numériques sous la forme d'un tableau dense ndarray.
shape
rank
Type : int
Le rang de la matrice.
add_rows
add_rows(row_indices: list[RowIndex], rows: list[IndexedVector[ColumnIndex]], tol=1e-08)
Ajouter des lignes à la matrice.
Paramètres
- row_indices – Une liste d'indices correspondant aux lignes.
- lignes – La liste des lignes.
- tol – Tolérance en dessous de laquelle les valeurs dans
rowssont considérées comme égales à0.0.
Augmentations
- ValueError : si un index de ligne est dupliqué dans
row_indicesou figure déjà dans cette instance. - ValueError : si le nombre d'indices de lignes ne correspond pas au nombre de lignes.
linearly_independent_rows
linearly_independent_rows(tol=1e-08) → Self
Renvoie une sous-matrice contenant un ensemble maximal de lignes linéairement indépendantes.
Les lignes sont traitées dans l'ordre (selon les indices indiqués dans self.row_index_map) : une ligne est conservée si et seulement si elle est linéairement indépendante de toutes les lignes précédentes conservées. Cela garantit que les lignes précédentes sont toujours prioritaires.
Paramètres
tol – Tolérance utilisée pour déterminer l'indépendance linéaire, calculée à partir de la norme de la composante d'une ligne orthogonale à l'espace engendré par les lignes précédentes conservées.
copy
copy() → Self
Renvoie une copie de self.