DataBin
class qiskit.primitives.DataBin(*, shape=(), **data)
Basen: ShapedMixin
Die wichtigsten Daten stammen aus einer einzigen Kneipe aus PubResult.
Sie greifen auf die Daten innerhalb dieses Objekts entweder über den Attributzugriff (data_bin.my_field) oder über dict-ähnliche String-Schlüssel (data_bin["my_field"]) zu. Diese Klasse verhält sich wie eine unveränderliche Zuordnung vom Typ „ Python “, sodass Sie beispielsweise keys()die verfügbaren Schlüssel mit abfragen und sowohl die Schlüssel als auch die Werte mit durchlaufen items() können.
Diese Klasse verfügt über unterschiedliche Attribute und Schlüssel, je nach verwendeter Primitivklasse und übermittelter Veröffentlichung. Diese „speziellen“ Attribute erhalten Namen, die mit den Schlüsseln übereinstimmen. Wenn Sie beispielsweise einen SamplerV2 Auftrag eingereicht haben, sind die Attribute und Schlüssel in der Regel die Namen der ClassicalRegister Objekte, die sich in dem Schaltkreis befanden, der diese Veröffentlichung definiert.
Alle Attribute und Schlüssel haben dieselbe Form, nämlich die n-dimensionale Form des entsprechenden Pubs. Die Attribute und Schlüssel sind in der BitArray Regel entweder oder numpy.ndarray Instanzen, abhängig von der verwendeten Primitive und der Eingabe-Pub.
Benutzer erstellen diese Klasse in der Regel nicht selbst. Stattdessen erhalten Sie es als Feld für PubResult.data das Ergebnis einer einzelnen Veröffentlichung aus einer vollständigen Ausführung.
Beispiele:
import numpy as np
from qiskit.primitives import DataBin, BitArray
data = DataBin(
alpha=BitArray.from_samples(["0010"]),
beta=np.array([1.2])
)
print("alpha data:", data.alpha)
print("beta data:", data.beta)alpha data: BitArray(<shape=(), num_shots=1, num_bits=2>)
beta data: [1.2]Parameter
- data - Name/Wert der Daten, die in der Datenablage abgelegt werden sollen.
- shape (ShapeInput) – Die führende Form, die allen Einträgen in der Datenablage gemeinsam ist. Die Standardeinstellung ist die triviale führende Form von
(), die mit allen Objekten kompatibel ist.
Erhöht
- ValueError - Wenn sich ein Name mit einem Methodennamen dieser Klasse überschneidet.
- ValueError - Wenn ein Wert nicht mit der angegebenen Form übereinstimmt.