用于访问ibmq上的量子设备和模拟器的qiskit提供程序

qiskit-ibmq-provider的Python项目详细描述


qiskit ibmq提供程序

licensebuild status src=

qiskit是一个开源框架,用于处理噪音中等规模 脉冲、电路和算法层面的量子计算机(NISQ)。

此模块包含一个提供程序,允许访问IBM Q 设备和模拟器。

安装

我们鼓励通过pip工具(一个python包管理器)安装qiskit, 安装所有的Qiskit元件和组件,包括这个。

pip install qiskit

pip将自动为我们处理所有依赖项,并且您将始终 安装最新的(经过良好测试的)版本。

要从源安装,请按照 贡献指南

设置ibmq提供程序

安装软件包后,您可以从Qiskit访问提供商。

< Buff行情>

注意:自2019年7月起(版本0.3 qiskit ibmq providerpackage/version0.11的包, 使用新的ibm q体验(v2)是默认行为。如果你有 一直在使用传统量子体验或qconsole(v1)的帐户, 请检查更新说明。

配置您的ibmq凭据

  1. 创建一个ibm q帐户或通过访问 IBM Q体验登录页面

  2. IBM Q体验帐户页

  3. 从步骤2中获取您的令牌,这里称为my_api_token,然后运行:

    fromqiskitimportIBMQIBMQ.save_account('MY_API_TOKEN')
  4. < > >

    访问ibmq后端

    调用ibmq.save_account()后,您的凭据将存储在磁盘上。 一旦它们被储存起来,在将来的任何时候你都可以装载和使用它们 在您的程序中,只需通过:

    fromqiskitimportIBMQprovider=IBMQ.load_account()provider.get_backend('ibmq_qasm_simulator')

    或者,如果您不想将凭据保存到磁盘,并且只想 要在当前会话中使用它们,您可以使用:

    fromqiskitimportIBMQprovider=IBMQ.enable_account('MY_API_TOKEN')provider.get_backend('ibmq_qasm_simulator')

    默认情况下,所有ibm q帐户都可以访问同一个打开的项目 (集线器:ibm-q,组:open,项目:main)。法罗群岛方便,方便 ibmq.load_account()ibmq.enable_account()方法将返回提供程序 为了那个项目。如果您可以访问其他项目,则可以使用:

    provider_2=IBMQ.get_provider(hub='MY_HUB',group='MY_GROUP',project='MY_PROJECT')

    更新到新的IBM Q体验

    自2019年7月起(本qiskit ibmq provider包的版本0.3), ibmqprovider默认使用新的ibm q体验,它取代了 传统的量子体验和qconsole。新的ibm q体验也是 称为v2,而传统的和qconsole称为v1

    本节包括更新帐户和程序的说明。 请注意:

    • ibm q体验v1凭证和为pre-0.3编写的程序 在0.3.x系列中,版本仍然有效。它不是 必须更新您的帐户和程序,但建议按顺序 利用新功能。
    • 将您的凭证更新到ibm q体验v2意味着您 需要更新您的程序。以下各节包含说明 关于如何执行转换。

    更新您的IBM Q体验凭据

    如果您具有存储在 磁盘,您可以使用ibmq.update_account()helper。这个助手将读取 您当前的凭据存储在磁盘中并尝试转换它们:

    fromqiskitimportIBMQIBMQ.update_account()
    Found 2 credentials.
    The credentials stored will be replaced with a single entry with token "MYTOKEN"
    and the new IBM Q Experience v2 URL (https://auth.quantum-computing.ibm.com/api).
    
    In order to access the provider, please use the new "IBMQ.get_provider()" methods:
    
      provider0 = IBMQ.load_account()
      provider1 = IBMQ.get_provider(hub='A', group='B', project='C')
    
    Note you need to update your programs in order to retrieve backends from a
    specific provider directly:
    
      backends = provider0.backends()
      backend = provider0.get_backend('ibmq_qasm_simulator')
    
    Update the credentials? [y/N]
    

    确认后,您的凭证将被有效的ibm q覆盖。 体验v2凭据集。对于更复杂的情况,请考虑删除 以前的凭证通过ibmq.delete_accounts()并按照说明操作 在IBM Q Experience Account页面中。

    更新程序

    随着对新的ibm q体验支持的引入,更多 介绍了访问后端的结构化方法。以前, 通过以下方式集中访问所有后端:

    IBMQ.backends()IBMQ.get_backend('ibmq_qasm_simulator')

    在版本0.3以后的版本中,访问后端的首选方法是通过 provider用于您的一个项目,而不是通过全局ibmq实例 直接,允许对 您正在使用的项目:

    my_provider=IBMQ.get_provider()my_provider.backends()my_provider.get_backend('ibmq_qasm_simulator')

    本着同样的精神,您可以通过以下方式检查您有权访问的提供商:

    pip install qiskit
    
    0

    另外,由于新的ibm q体验只提供了 凭据,ibmq中的帐户管理方法现在是单一形式的。 例如,您应该使用ibmq.load_account()而不是 ibmq.load_accounts()。如果您 尝试使用IBM Q Experience V2帐户的旧方法。

    下表包含了 两个版本。请参阅每种方法的文档以了解更多 深度细节:

    账户管理

    <表><广告><;0.3/v1凭据 >;=0.3和v2凭据< /广告><正文> n/aibmq.update_account()ibmq.save_帐户(令牌、url)ibmq.save_帐户(令牌)ibmq.load_accounts()provider=ibmq.load_account()ibmq.enable_account()provider=ibmq.enable_account()ibmq.disable_accounts()ibmq.disable_account()ibmq.active_accounts()ibmq.active_account()ibmq.stored_accounts()ibmq.stored_account()ibmq.删除帐户nts()ibmq.delete_account()

    使用后端

    <表><广告><;0.3/v1凭据 >;=0.3和v2凭据< /广告><正文> n/aproviders=ibmq.providers()backend=ibmq.get_backend(name,hub='hub')provider=ibmq.get_provider(hub='hub')backend=provider.get_backend(name)后端=ibmq.backends(hub='hub')provider=ibmq.get_provider(hub='hub')后端=provider.backends()

    贡献指南

    如果您想为ibm q提供商做出贡献,请查看我们的 贡献指南。本项目遵循Qiskit的行为准则。 通过参与,您将遵守此准则。

    我们使用github问题来跟踪请求和bug。请使用我们的slack 用于讨论和简单问题。加入我们的懒散社区 邀请链接至qiskit.org。对于更适合论坛的问题,我们 使用堆栈交换中的标记qiskit

    下一步

    现在您已经准备好了,可以从我们的 qiskit教程存储库。

    作者和引文

    qiskit ibm q provider是许多为 不同层次的项目。如果您使用Qiskit,请按照包含的 bibtex文件

    许可证

    Apache许可证2.0

    欢迎加入QQ群-->: 979659372 Python中文网_新手群

    推荐PyPI第三方库


热门话题
virtualbox无法从java移动共享文件夹中的文件   java如何连接Android 4.3.5(GA)的apache HttpClient库?   片段中的java Recyclerview未立即显示警报对话框结果   javac(n,r)计算器程序不工作   java使用BooleanQuery还是编写更多索引?   如何在java中设置y/n循环?   java不兼容的通用通配符捕获   java如何在安卓xml中编写数据绑定时的三元操作条件   java如何使用FileDialog?   java如何创建单元测试来检测是否有人使用错误的编码编辑了文件?   java如何从唯一的字符串生成唯一的int?   java gradletomcatplugin:log4j:WARN找不到记录器的附加程序   java我的动态编程解决方案(Kefa和第一步)在codeforces中有什么问题?   java每天更新两个数据库,使它们都包含相同的有效数据集   java如何检查给定的时间是否在时间限制之间   java在单个json POST上保存父级和子级   java如何获取Solr字段类型