2 个版本
新 0.2.1 | 2024 年 8 月 20 日 |
---|---|
0.2.0 | 2024 年 7 月 9 日 |
#581 在 命令行工具 中
每月 80 次下载
735KB
15K SLoC
CluE
CluE(簇演化)是一个用于模拟中心自旋去相干的量子自旋动力学程序,CluE 实现了杨和刘的簇相关展开 [1,2]。有关使用信息,请参阅手册。
安装
安装过程已在几个 Linux 发行版和 Windows 10 上进行了测试,但不在 macOS 上。在安装之前,请确保您已安装 Rust [3] 的最新版本。
在编译 CluE 之前,通过运行测试来检查一切是否正常运行是个好主意。
cargo test
要构建 Clue,运行以下命令:
cargo build --release
这将构建位于 clue_oxide/target/release
的二进制文件;要使 clue 在全局范围内可用,可以向系统路径添加此目录或创建别名。在 Bash 中,将以下内容添加到您的 .bash_aliases
文件中:
alias clue="path/to/clue/target/release/clue_oxide"
to your .bash_aliases
file.
pyCluE
在 CluE 源目录中,导航到 pyclue 目录。
cd pyclue
Python 接口使用 maturin[4] 进行编译。要在 Python 虚拟环境中安装 maturin,请使用以下命令。
python3 -m venv <path/to/virtual/environment>
source <path/to/virtual/environment/bin/activate >
pip install maturin
然后使用以下命令构建 Python 接口。
maturin build
一个潜在的问题是,当 maturin 尝试编译 CluE 时,它可能无法看到操作系统特有的标志,并尝试使用它们全部。为了解决这个问题,打开 CluE 的 Cargo.toml 文件,并取消注释不需要的操作系统部分下的所有内容。例如,要在 Linux 上编译,添加如下注释。
[target.'cfg(unix)'.dependencies]
ndarray -linalg = { version = "0.15", features = ["openblas -static"] }
#[target.'cfg(windows) '.dependencies.ndarray -linalg]
#version = '0.15.0 '
#features = ['intel -mkl ']
构建完成后,导航到 target/wheels
,源代码所需的 Python 环境,并使用 pip 安装 wheel。
cd target/wheels
source <path/to/installation/environment/bin/activate >
pip install <pyclue.whl>
参考文献
杨,W.;刘,R. B. 通过量子点中核自旋动力学耦合电子自旋的去相干。物理评论B 2008,77 (8),085302。 https://doi.org/10.1103/PhysRevB.77.085302.
杨,W.;刘,R.-B. 有限大小自旋浴中的量子比特去相干的多体量子理论。II. 集合动力学。物理评论B 2009,79 (11),115320。 https://doi.org/10.1103/PhysRevB.79.115320.
基础,R. Rust 一种赋予每个人构建可靠高效软件的语言。 https://rust-lang.net.cn/。
PyO3 PyO3/maturin https://github.com/PyO3/maturin。
依赖项
~69MB
~895K SLoC