量子化学模拟库。

openqemist的Python项目详细描述


logo

打开喷雾器

Build Status

利用新兴量子计算技术和 最先进的经典技术,量子分子从头算 模拟工具包,或称qemist,是1qbit的一个创新解决方案, 化学中难以解决的问题:分子的从头算模拟。

qemist的目的是通过 利用先进的问题分解(PD)技术和量子计算。 qemist中实现的各种pd技术可以实现大规模并行 把一个计算化学任务分解成更小的, 独立子问题。这些子问题可以使用接口的组合 以达到更高的精度 用于大规模、实用的分子模拟。

openqemist提供对qemist的一部分功能的访问 Apache2.0许可下的开源软件。有关 请提供Qemist的全部功能并获取更多信息 请咨询我们的主product page

安装

安装PIP

安装包的最简单方法是使用pip。

pip install openqemist

在使用Microsoft Q集成之前,请按照安装程序进行操作 instructions 用于安装.NET Core SDK和Microsoft IQ模块。

从源安装

要从源代码安装openqemist,只需克隆github repo并添加包 给你的PYTHONPATH。运行项目的依赖项是Microsoft .net核心sdk、iq和qsharp包以及pyscf、numpy和scipy。这个 最新的依赖项列表,以及用于构建文档的依赖项 可以在Dockerfile中找到。

开始

要开始,请安装软件包,然后查看Jupyter notebooks 例如用法。

存储库的内容

详细说明此存储库的组织和每个文件夹的内容。

  • 基准: 大分子上算法性能的长期运行测试

  • docker_图像: 可用于运行包的Docker映像。

  • cont_集成: 用于持续集成的工具和脚本(版本控制、自动测试和更新文档)

  • docs: 源代码文档和用户文档

  • 示例: 学习如何使用库的不同功能的示例和教程

  • openqemist: python包

露天建筑

openqemist分为三层:问题分解、电子化 结构解算器和硬件后端。问题分解层是 负责将输入分子分裂成更小的子问题 使用一个特殊的特征值求解器处理这些问题(可以想象,片段 可以使用多个解算器进行处理),然后将这些结果处理为 总输出能量。一些电子结构求解器使用经典方法, 而另一些则使用包装器来覆盖运行在量子计算上的量子算法。 来自Quantum平台提供商的模拟器和模拟器。量子解算器 后端层在库、模拟器和 量子硬件模拟器。

由于openqemist只包含qemist、dmet中包含的一部分功能 是我们最初版本中唯一开源的问题分解技术。 此版本包括完整的ci和带有单和双的耦合集群 激发(ccsd)电子结构解算器,以及量子电子 基于变分量子本征解(vqe)算法的结构求解器。

在哈尔矮人后端,这个初始版本与微软集成 运行vqe算法的量子开发工具包。

贡献

我们欢迎对OpenQemist的贡献!请在Github上打开问题或提交请求以启动进程。

引用

如果您在研究中使用openqemist,请引用

Takeshi Yamazaki、Sunji Matsuura、Ali Narmani、Anushervon Saidmuradov和Arman Zaribafiyan于2018年6月4日在arXiv上发表的“关于近期量子计算机在量子化学模拟中的实际应用:问题分解方法”。

版权所有1qbit 2019。此软件在Apache软件许可证2.0版下发布。

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

推荐PyPI第三方库


热门话题
并行处理java。util。同时发生的叉子在游泳池里。常见的并行性准则,用于选择正确的并行度大小   java如何将空白字符追加到指定长度?   安卓应用程序中出现错误,SSLHandshakeException,找不到证书路径的信任锚点   java如何使用JUnit Mockito验证检查方法是否未被调用   java如何使用不同的@RequestMapping解析多个控制器中的静态页面   Selenium中的javascript需要验证搜索结果   访问数据库SQLiteopenHelper方法时java应用程序崩溃(nullpointerexception)   在二叉树中验证最小堆时出现java空指针异常   Java 7的SSL连接失败   java用RestEasyWebTarget替换ProxyFactory不起作用   在Java应用程序中单击“否”按钮后,数组程序冻结(无响应)   数组中的前缀Java初学者前进和   Java HTML解析器,包括脚本标记和LineNumberReader   在java中为长类型数字加前导零   正则表达式无法映射正则表达式java。lang.IllegalArgumentException:模式段中捕获组的数量