BaseSamplerV1
class qiskit.primitives.BaseSamplerV1(*, options=None)
Bases: BasePrimitiveV1, Generic[T]
Sampler V1 classe base
Classe básica do Sampler que calcula quase-probabilidades de cadeias de bits de circuitos quânticos.
Um sampler é inicializado com um conjunto de parâmetros vazio. O sampler é usado para criar um arquivo JobV1por meio do método qiskit.primitives.Sampler.run() . Esse método é chamado com os seguintes parâmetros
- quantum circuits ( ): lista de circuitos quânticos (parametrizados). (uma lista de
QuantumCircuitobjetos) - parameter values ( ): lista de conjuntos de valores de parâmetros a serem vinculados aos parâmetros dos circuitos quânticos. (lista de lista de float)
O método retorna um objeto JobV1 chamando qiskit.providers.JobV1.result() gera um objeto SamplerResult que contém probabilidades ou quase-probabilidades de cadeias de bits, além de metadados opcionais como barras de erro nas amostras.
Aqui está um exemplo de como o sampler é usado.
# This is a fictional import path.
# There are currently no Sampler implementations in Qiskit.
from sampler_v1_location import SamplerV1
from qiskit import QuantumCircuit
from qiskit.circuit.library import RealAmplitudes
# a Bell circuit
bell = QuantumCircuit(2)
bell.h(0)
bell.cx(0, 1)
bell.measure_all()
# two parameterized circuits
pqc = RealAmplitudes(num_qubits=2, reps=2)
pqc.measure_all()
pqc2 = RealAmplitudes(num_qubits=2, reps=3)
pqc2.measure_all()
theta1 = [0, 1, 1, 2, 3, 5]
theta2 = [0, 1, 2, 3, 4, 5, 6, 7]
# initialization of the sampler
sampler = Sampler()
# Sampler runs a job on the Bell circuit
job = sampler.run(circuits=[bell], parameter_values=[[]], parameters=[[]])
job_result = job.result()
print([q.binary_probabilities() for q in job_result.quasi_dists])
# Sampler runs a job on the parameterized circuits
job2 = sampler.run(
circuits=[pqc, pqc2],
parameter_values=[theta1, theta2],
parameters=[pqc.parameters, pqc2.parameters])
job_result = job2.result()
print([q.binary_probabilities() for q in job_result.quasi_dists])Inicializar SamplerV1.
Parâmetros
options (dict | None) – Opções padrão.
Atributos
options
Retorna valores de opções para o estimador.
Retorna
opções
Métodos
run
run(circuits, parameter_values=None, **run_options)
Executar o trabalho de amostragem de cadeias de bits.
Parâmetros
- circuits (QuantumCircuit |Sequence[QuantumCircuit]) – Um ou mais objetos de circuito.
- parameter_values (Sequence[float] | Sequence[Sequence[float]] | None) – Parâmetros a serem vinculados ao circuito.
- run_options - Opções de tempo de execução do backend usadas para a execução do circuito.
Retorna
O objeto de trabalho do resultado do amostrador. O i-ésimo resultado corresponde a circuits[i] avaliado com parâmetros limitados como parameter_values[i].
Aumentos
ValueError - São fornecidos argumentos inválidos.
Tipo de retorno
T
set_options
set_options(**fields)
Definir valores de opções para o estimador.
Parâmetros
**fields - Os campos para atualizar as opções