与rigetti的qcs平台接口的vqe包

qucochemistr的Python项目详细描述


Qu & Co Chemistry包是一个开源库(在apache 2下获得许可),用于在rigetti的forest量子计算平台上编译和运行量子化学算法。

安装

要开始使用qu&co化学库,首先需要安装rigetti的Forest SDK,它包含量子虚拟机和rigetti的量子编译器。

可以用两种不同的方法安装库。

来自pypi或conda

使用pip在虚拟环境中安装pypi的最新版本:

python -m pip install qucochemistry

或者,库可以安装在conda环境中:

conda install -c quco qucochemistry

来自源

使用pip,在虚拟环境中安装库:

python -m pip install -r deploy/requirements.txt
python -m pip install -e .

或者,使用提供的环境在conda环境中安装:

conda env create -n <env_name> -f deploy/environment.yml
conda activate <env_name>
python -m pip install -e .

用法

为了在程序中使用这个库,rigetti的quantum虚拟机和quantum编译器必须在后台运行。 如果在Linux或OSX上运行,并且正确安装了rigetti的Forest SDK,则可以在 具有以下命令的背景:

screen -dm -S qvm qvm -S
screen -dm -S quilc quilc -S

在windows上,只需在两个单独的命令终端中执行qvm -Squilc -S命令。

有关如何使用该库的更多详细信息,可以从here获得关于jupyter笔记本的一些教程。 为了能够运行端到端程序,您应该安装pyscf和openfermion pyscf作为pip的附加依赖项:

python -m pip install openfermionpyscf pyscf

如果如前一节所述创建了conda环境,则应该能够在 使用相同命令的环境。

开发

单元测试是使用pytest框架构建的。要运行它们,请使用前面的指令安装qucochemistry包 并添加以下依赖项:

# for Conda environment
conda install pytest pytest-cov
# for standard virtual environment
python -m pip install pytest pytest-cov

测试可以在根项目目录中执行,如下所示:

pytest -v --cov=qucochemistry

运行上述命令后,将生成自动代码覆盖率报告。为了形象化 每个模块的代码覆盖率的详细信息,可以生成一个html报告,并用您喜欢的 浏览器

pytest -v --cov=qucochemistry --cov-report html
firefox htmlcov/index.html

如何贡献

我们很乐意接受你方对Qu&Co Chemistry的贡献和帮助。 你需要遵循一些准则。 对Qu&Co Chemistry的贡献必须附有贡献者许可协议。 您(或您的雇主)保留对您的贡献的版权, 这只是允许我们在项目中使用和重新分发您的贡献。

所有提交文件,包括项目成员提交的文件,都需要审查。 为此,我们使用github pull请求。查阅 GitHub Help用于 有关使用拉取请求的详细信息。 此外,请确保您的新代码带有广泛的测试! 我们使用自动测试来确保所有拉取请求都通过测试,而不是 将整个测试覆盖率降低太多。一定要坚持我们的风格 引导。只要看看我们的密码就知道了。我们主要是跟着 PEP 8并使用 相应的linter来检查它。 代码应该始终与文档一起提供。

作者

Vincent Elfving(Qu&co b.v.)

我们很高兴在以后的qu&co化学版中加入未来的作者。

免责声明

版权所有2019

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

推荐PyPI第三方库


热门话题
java对多个for循环使用一个整数有什么好处?   要求的Java枚举错误返回类型   使用AOP的Java Spring MVC CSRF令牌   PHP ZF2中的java 安卓登录按钮和远程web登录   java将双精度转换为整数转换为字符串,并在TxtField CodeNameOne中输出   java代码不断向后向数组中输入值   如何使用Java获取git信息?   当使用DateUtils类的parseDateStructive()方法时,java异常无法解析日期   java执行示例Flink kafka consummer   java触发REST调用时无法解释某些汉字   java错误:不兼容的类型:<null>如果使用安卓 room(!\u cursor.isNull(null))则无法转换为int   java Spring引导构建正常,但Heroku部署失败   我无法使用ORMLite库在java(安卓)中执行“WITH RECURSIVE”子句   java JavaFX图像加载错误