FakeMarrakesh
class FakeMarrakesh
Bases: FakeBackendV2
Um backend falso de 156 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_versionserve para controlar as versões 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_marrakesh'
conf_filename
Tipo: str | None
Valor Padrão: 'conf_marrakesh.json'
coupling_map
Retorna 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/marrakesh'
dt
Retorna a resolução de tempo do sistema dos sinais de entrada
Isso deverá ser implementado se o backend for compatível com o agendamento de pulso.
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
Retorna 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 um único trabalho.
Essa propriedade costumava retornar o valor max_experiments da configuração de backend, mas esse valor não é mais uma representação precisa dos limites do circuito de backend. Novos campos serão adicionados para indicar novos limites.
meas_map
Retorna o agrupamento de medições que são multiplexadas
Isso deverá ser implementado se o backend for compatível com o agendamento de pulso.
Retorna
O agrupamento de medições que são multiplexadas
Aumentos
NotImplementedError - se o backend não suportar a consulta do mapeamento de medição
num_qubits
Retorna o número de qubits que o backend possui.
operation_names
Uma lista de nomes de instruções que o backend suporta.
operations
Uma lista de Instruction instâncias que o backend suporta.
options
Retorna as opções para o backend
As opções de um backend são os parâmetros dinâmicos que definem como o backend é usado. Elas são usadas para controlar o run() método.
props_filename
Tipo: str | None
Valor Padrão: 'props_marrakesh.json'
provider
Retorna o provedor de backend.
Retorna
o provedor responsável pelo back-end.
Tipo de retorno
provedor
target
version
Valor Padrão: 2
name
Nome do backend.
description
Descrição opcional legível por humanos.
online_date
Data em que o backend ficou on-line.
backend_version
Versão do backend que está sendo fornecida. Isso não é o mesmo que BackendV2.version, que é a versão da interface abstrata Backend .
Métodos
check_faulty
check_faulty(circuit)
Verifique se o circuito de entrada usa qubits ou bordas com defeito.
Parâmetros
circuit (QuantumCircuit) – Circuito a ser verificado.
Aumentos
ValueError - Se for encontrada uma instrução operando em um qubit ou borda com defeito.
Tipo de retorno
Nenhum
configuration
properties
properties(refresh=False)
Retorna as propriedades do backend.
Parâmetros
refresh (bool) – Se True, recupere novamente as propriedades de backend do arquivo local.
Retorna
As propriedades de backend.
Tipo de retorno
qubit_properties
qubit_properties(qubit)
Retorna QubitProperties para um determinado qubit.
Se não houver nenhuma definição ou se o backend não suportar a consulta desses detalhes, esse método não precisará 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 objeto QubitProperties para o qubit especificado. Se uma lista de qubits for fornecida, uma lista será retornada. Se estiverem faltando propriedades em um qubit, isso pode ser feito em None.
Aumentos
NotImplementedError - se o backend não for compatível com a consulta das propriedades do qubit
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.
Esse método extrai os arquivos de dados de backend mais recentes de sua contraparte real e substitui os arquivos correspondentes na 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 persistirão nas sessões, de modo que os arquivos permanecerão atualizados, a menos que sejam revertidos manualmente no local ou quando o qiskit-ibm-runtime for atualizado ou reinstalado.
Parâmetros
- service (QiskitRuntimeService) – Uma instância do
QiskitRuntimeService - use_fractional_gates (bool) – Defina 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 alvo real não existir ou não puder ser acessado
Tipo de retorno
Nenhum
run
run(run_input, **options)
Execute no backend falso usando um simulador.
Esse método executa trabalhos de circuito (um indivíduo ou uma lista de QuantumCircuit ) usando o simulador BasicSimulator ou Aer e retorna um objeto Job objeto.
Se o qiskit-aer estiver instalado, os trabalhos serão executados usando AerSimulator com o modelo de ruído do backend falso. Caso contrário, os trabalhos serão executados usando BasicSimulator sem ruído.
Atualmente, a simulação ruidosa de um trabalho de pulso ainda não é compatível com o site 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 trabalho para a execução
Tipo de retorno
Tarefa
set_options
set_options(**fields)
Definir os campos de opções para o backend
Esse método é usado para atualizar as opções de um backend. Se você precisar alterar alguma das opções antes da execução, basta passar o kwarg com o novo valor para as opções.
Parâmetros
fields - Os campos para atualizar as opções
Aumentos
AttributeError - Se o campo passado não fizer parte das opções