FakeStrasbourg
class FakeStrasbourg
Bases: FakeBackendV2
Um backend simulado de 127 qubits.
Inicializar um backend baseado em BackendV2
Parâmetros
- provider – Uma referência opcional ao objeto provider do qual o backend é proveniente
- nome – Um nome opcional para o backend
- descrição – Uma descrição opcional do backend
- online_date – Uma data e hora opcionais em que o backend foi colocado em operação
- backend_version – Uma string opcional indicando a versão do backend. Isso difere do
versionatributo, poisversionse refere à versão da interface abstrataBackenddo objeto, enquantobackend_versionse refere ao controle de versão do próprio backend. - campos – argumentos para os valores a serem usados para substituir as opções padrão.
Aumentos
AttributeError – Se for especificado um campo que não esteja entre as opções do backend
Atributos
backend_name
Tipo: str | None
Valor Padrão: 'fake_strasbourg'
conf_filename
Tipo: str | None
Valor Padrão: 'conf_strasbourg.json'
coupling_map
Retornar o CouplingMap objeto
dirname
Tipo: str | None
Valor Padrão: '/home/runner/work/qiskit-ibm-runtime/qiskit-ibm-runtime/qiskit_ibm_runtime/fake_provider/backends/strasbourg'
dt
Retornar a resolução de tempo do sistema para os sinais de entrada
Isso deve ser implementado se o backend for compatível com a programação Pulse.
Retorna
O intervalo de tempo do sinal de entrada, em segundos. Se o backend não definir dt, None será retornado.
dtm
Retorna a resolução de tempo do sistema dos sinais de saída.
Retorna
O intervalo de tempo do sinal de saída, em segundos.
instruction_durations
Retorne o InstructionDurations objeto.
instructions
Uma lista de tuplas de instruções no backend do formulário (instruction, (qubits))
max_circuits
Retorna o número máximo de circuitos que podem ser executados em uma única tarefa.
Essa propriedade costumava retornar o valor max_experiments da configuração do backend, mas esse valor não representa mais com precisão os limites do circuito do backend. Serão adicionados novos campos para indicar novos limites.
meas_map
Retorna o agrupamento de medições multiplexadas
Isso deve ser implementado se o backend for compatível com a programação Pulse.
Retorna
O agrupamento de medições multiplexadas
Aumentos
NotImplementedError – se o backend não suportar consultas ao mapeamento de medidas
num_qubits
Retorna o número de qubits que o backend possui.
operation_names
Uma lista dos nomes das instruções compatíveis com o backend.
operations
Uma lista das Instruction instâncias compatíveis com o backend.
options
Retornar as opções do backend
As opções de um backend são os parâmetros dinâmicos que definem como o backend é utilizado. Elas são usadas para controlar o run() método.
props_filename
Tipo: str | None
Valor Padrão: 'props_strasbourg.json'
provider
Retorna o provedor de backend.
Retorna
o provedor responsável pelo backend.
Tipo de retorno
provedor
target
version
Valor Padrão: 2
name
Nome do backend.
description
Descrição opcional em linguagem simples.
online_date
Data em que o backend entrou em operação.
backend_version
Versão do backend que está sendo fornecida. Isso não é o mesmo que BackendV2.version, que é a versão da Backend interface abstrata.
Métodos
check_faulty
check_faulty(circuit)
Verifique se o circuito de entrada utiliza qubits ou flancos defeituosos.
Parâmetros
circuit (QuantumCircuit) – Circuito a ser verificado.
Aumentos
ValueError – Se for detectada uma instrução que opera em um qubit ou em uma aresta com defeito.
Tipo de retorno
Nenhum
configuration
properties
properties(refresh=False)
Retorna as propriedades do backend.
Parâmetros
Truerefresh (bool) – Se for o caso, recupere novamente as propriedades do backend do arquivo local.
Retorna
As propriedades do backend.
Tipo de retorno
qubit_properties
qubit_properties(qubit)
Retorna QubitProperties para um determinado qubit.
Se não houver detalhes definidos ou se o backend não suportar consultas a esses detalhes, este método não precisa ser implementado.
Parâmetros
qubit (int | list[int]) – O qubit para o qual se deseja obter o QubitProperties objeto. Isso pode ser um único número inteiro para 1 qubit ou uma lista de qubits, e uma lista de QubitProperties objetos será retornada na mesma ordem
Retorna
O QubitProperties objeto correspondente ao qubit especificado. Se for fornecida uma lista de qubits, será retornada uma lista. Se faltarem propriedades para um qubit, isso pode ser None.
Aumentos
NotImplementedError – se o backend não suportar consultas às propriedades dos qubits
Tipo de retorno
QubitProperties | lista[ QubitProperties ]
refresh
refresh(service, use_fractional_gates=False)
Atualize os arquivos de dados com base em sua versão real.
Este método obtém os arquivos de dados mais recentes do servidor e os substitui nos arquivos correspondentes da instalação local:
../fake_provider/backends/{backend_name}/conf_{backend_name}.json../fake_provider/backends/{backend_name}/defs_{backend_name}.json../fake_provider/backends/{backend_name}/props_{backend_name}.json
Os novos arquivos de dados serão mantidos entre as sessões, de modo que permanecerão atualizados, a menos que sejam revertidos manualmente no computador ou quando qiskit-ibm-runtime o programa for atualizado ou reinstalado.
Parâmetros
- service (QiskitRuntimeService) – Uma
QiskitRuntimeServiceinstância - use_fractional_gates (bool) – Defina como True para permitir que os backends incluam portas fracionárias.
Aumentos
- ValueError – se o serviço fornecido for uma instância do non-QiskitRuntimeService.
- Exceção – Se o destino real não existir ou não puder ser acessado
Tipo de retorno
Nenhum
run
run(run_input, **options)
Execute no backend simulado usando um simulador.
Este método executa tarefas de circuito (um único elemento ou uma lista de QuantumCircuit) utilizando o simulador BasicSimulator ou Aer e retorna um Job objeto.
Se o qiskit-aer estiver instalado, as tarefas serão executadas usando o AerSimulator com o modelo de ruído do backend simulado. Caso contrário, os trabalhos serão executados usando o BasicSimulator sem erros.
Atualmente, a simulação ruidosa de um trabalho em pulsos ainda não é suportada no FakeBackendV2.
Parâmetros
- run_input (QuantumCircuit | list[QuantumCircuit]) – Um indivíduo ou uma lista de
QuantumCircuit - options (dict) – Alguma opção de kwarg a ser passada ao backend para executar a configuração? Se uma chave também estiver presente no atributo/objeto
options, espera-se que o valor especificado seja usado em vez do valor definido no objetooptions.
Retorna
O objeto de tarefa para a execução
Tipo de retorno
Tarefa
set_options
set_options(**fields)
Defina os campos de opções do backend
Este método é usado para atualizar as opções de um backend. Se precisar alterar alguma das opções antes de executar, basta passar o argumento-chave com o novo valor para a opção.
Parâmetros
campos – Os campos para atualizar as opções
Aumentos
AttributeError – Se o campo passado não fizer parte das opções