Exemple #1
0
    def __init__(self, backend_name: str, monitor: bool = True):
        """A backend for running circuits on remote IBMQ devices.

        :param backend_name: name of ibmq device. e.g. `ibmqx4`, `ibmq_16_melbourne`.
        :type backend_name: str
        :param monitor: Use IBM job monitor, defaults to True
        :type monitor: bool, optional
        :raises ValueError: If no IBMQ account has been set up.
        """
        if len(IBMQ.stored_accounts()) == 0:
            raise ValueError(
                'No IBMQ credentials found on disk. Store some first.')
        IBMQ.load_accounts()
        self._backend = IBMQ.get_backend(backend_name)
        coupling = self._backend.configuration().coupling_map
        self.architecture = Architecture(coupling)
        self._monitor = monitor
QConfig é um arquivo de configuração, que contém o Token associado a minha conta no IMBQ.
Nessa primeira etapa, veremos as credenciais não sendo salvas em disco
Uma vez que se desativam as contas, não temos mais os backends associados a ela (linha 5)
Essa parte é puramente ilustrativa. Vamos salvar no disco

'''
# IBMQ.enable_account(apiToken)
# print(IBMQ.backends())
# IBMQ.disable_accounts(token=apiToken)
# print(IBMQ.backends())
'''
Agora vamos salvar em disco as credenciais. Rodar uma única vez é o bastante

'''
IBMQ.save_account(apiToken, overwrite=True)
print(IBMQ.stored_accounts())
'''
Uma vez salva no disco, precisamos carregar as credenciais 

'''

IBMQ.load_accounts()
print(IBMQ.backends())
'''
Vamos investigar o backend ibmqx4. Veremos as propriedades dos backends e como acessá-las. São elas:
- provider: Retorna o provedor do backend
- name: Retorna o nome do backend
- status: Retorna o status do backend (operational e pending_jobs)
- configuration: Retorna as configurações do backend
- properties: Retorna as propriedades do backend
- run: Executa uma simulação naquele backend