ALPS 2.3.0 安装教程

本文介绍ALPS项目,提供用于强相关量子系统的模拟代码及C++开发库,重点讲解了通过conda和源码编译安装步骤,包括常见问题解答。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简介

The ALPS project (Algorithms and Libraries for Physics Simulations) is an open source effort aiming at providing high-end simulation codes for strongly correlated quantum mechanical systems as well as C++ libraries for simplifying the development of such code. ALPS strives to increase software reuse in the physics community.

ALPS项目(Algorithms and Libraries for Physics Simulations)是一个开源项目,旨在为强相关的量子力学系统提供高端模拟代码,以及简化此类代码开发的C++库。ALPS致力于提高物理学界的软件重用率。

conda 安装

如果系统中环境比较简单,建议使用 conda 来安装,方便快捷

conda create -n alps
conda activate alps
conda install  -c conda-forge alps

源码编译安装

如果机器不能联网,或者 conda 环境有冲突时就需要从源代码安装

下载源代码

官网下载你需要的版本

这里我选用的是 alps-2.3.0-src-with-boost.tar.gz ,不建议使用 不带 boost 的版本,因为一般系统中会自带某个版本的 boost ,一是与 alps 不兼容,二是在编译时需要指定很多选项,容易出错,不如直接选择带 boost 版本的 alps

其他依赖库说明
  • python 3
  • ipython
  • numpy
  • mpich
  • HDF5
  • ZLIB
  • gcc > 5
  • 数学库 FFTW、LAPACK、BLAS 或者 INTEL MKL
安装

这里提示一下,安装 alps 还需要 python 3 以及 numpy 等一些必须的库和 HDF5 环境,这里建议提前安装好,避免后面出错,具体可以查看。下面我们正式开始安装:

cd /path/to/alps-2.3.0-src-with-boost/alps
mkdir _build
cd _build
cmake .. -DCMAKE_INSTALL_PREFIX=/path/you/want/to/install -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DBoost_DIR:PATH=/path/to/alps-2.3.0-src-with-boost/boost

make -j 8(根据自己的电脑 CPU 而定)
make install 
验证安装( python 环境)
export PATH=/path/you/want/to/install/bin:$PATH
export LD_LIBRARY_PATH=/path/you/want/to/install/bin:$LD_LIBRARY_PATH

alpspython
import pyalps

没有报错即安装成功

FAQs

Q1:出现 this linker was not configured to use sysroots
A1:ld 版本过低 / 原系统中 binutils 套件在编译时没有添加 --sysroot 选项 ,重新编译安装一份 binutils 套件即可

Q2:出现 std::xxxxxx 的问题
A1:这种情况一般是由于 gcc 版本过低不支持 c++ 11 语法导致的,切换高版本 gcc 即可

Q3:cmake 过程中出现缺少数学库
A3:需要在 LD_LIBRARY_PATH 中指定你安装的库的路径,并在 cmake 后面使用 -Dxxxxx 指定路径,具体的参数名称可以在 CMakeCache.txt 文件中查看

### ALPS 使用教程 ALPS 是一种用于模拟凝聚态物理和量子多体系统的开源软件包集合。它提供了多种算法实现,例如蒙特卡洛方法、精确对角化以及动态团簇近似等工具。 #### 安装前的准备 为了成功安装并使用 ALPS,需要确保满足其依赖项的要求。推荐使用的版本为 `alps-2.3.0-src-with-boost.tar.gz`,因为它已经包含了 Boost 库的支持[^1]。如果选择不带 Boost 的版本,则可能面临与系统自带 Boost 版本的兼容性问题,或者在编译过程中需要额外配置多个选项。 以下是常见的依赖库及其作用: - **Python**: 提供脚本支持,通常建议使用 Python 3 及以上版本。 - **IPython**: 增强交互体验。 - **NumPy**: 处理数值计算的核心库。 - **MPI (MPICH)**: 支持分布式内存环境下的高性能计算。 - **HDF5 和 ZLIB**: 数据存储和压缩功能。 - **GCC (>5)**: 编译器支持 C++11/14 标准。 - 数学库:FFTW(快速傅里叶变换)、LAPACK/BLAS 或 Intel MKL 等提供线性代数运算能力。 #### 配置与构建过程 下载源码文件后解压到目标目录下执行如下命令完成安装: ```bash tar -xzvf alps-2.3.0-src-with-boost.tar.gz cd alps-2.3.0/ mkdir build && cd build cmake .. make -j$(nproc) sudo make install ``` 上述步骤中通过 cmake 工具来检测所需组件是否存在,并生成 Makefile 文件;最后一步将程序复制至标准路径以便全局访问。 #### 运行示例应用 安装完成后可以尝试运行一些内置的应用案例学习如何操作该框架。进入 examples 子目录查看具体项目结构: ```bash cd /path/to/alps/examples/mcloop/simple_example/ ./run.sh ``` 此脚本会调用 Monte Carlo 方法求解 Ising Model 并保存结果数据于 HDF5 文件格式当中。 #### 后处理分析 利用附带的 post-processing 脚本来解析输出的数据集绘制图表辅助理解模型行为特性。比如绘图展示磁化强度随温度变化趋势曲线。 ```python import h5py import matplotlib.pyplot as plt f = h5py.File(&#39;results.h5&#39;, &#39;r&#39;) T = f[&#39;parameters/T&#39;][:] M = f[&#39;measurements/Magnetization/Average&#39;][:] plt.plot(T, M) plt.xlabel(&#39;Temperature T&#39;) plt.ylabel(&#39;<M>&#39;) plt.title(&#39;Ising model magnetization vs temperature&#39;) plt.show() ``` 这段代码片段展示了读取 HDF5 结果文件中的参数值及测量平均值得到可视化图形的方法。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MrXun_

谢谢老板的支持!!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值