难题实现了一个优化求解器,用于打开和封闭的最佳量子控制。基础量子动力学模型使用schroedinger的方程式(封闭)或密度矩阵的lindblad master方程式(开放)。控制问题旨在找到将系统驱动到所需目标的控制脉冲,例如目标统一解决方案操作员或预定义的目标状态。难以在高性能计算平台上部署的目标部署,使用消息传递范式提供各种并行化的级别。
建议查看doc/中的用户指南,描述基本的数学模型,它们在难题中的实现和使用。
您可以随时与Stefanie Guenther [[email protected]]接触到您可能遇到的任何问题。
该项目依赖于PETSC [https://petsc.org/release/]来处理(并行)线性代数。可选的是SLEPSC [https://slepc.upv.es],可用于解决一些特征问题(例如,Hessian ...)
必需:安装PETSC:
查看[https://petsc.org/release/]以获取最新安装指南。在MacOS上,您也可以brew install petsc 。作为快速启动,您也可以尝试以下操作:
tar -xf petsc-<version>.tar.gzcd petsc-<version>./configure配置PETSC。请检查[https://petsc.org/release/install/install_tutorial]是否可选参数。例如, ./configure --prefix=/YOUR/INSTALL/DIR --with-debugging=0 --with-fc=0 --with-cxx=mpicxx --with-cc=mpicc COPTFLAGS='-O3' CXXOPTFLAGS='-O3'./configure的输出报告如何设置PETSC_DIR和PETSC_ARCH变量export PETSC_DIR=/YOUR/INSTALL/DIRexport PETSC_ARCH=/YOUR/ARCH/PREFIXLD_LIBRARY_PATH :export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PETSC_DIR/$PETSC_ARCH/lib可选:安装SLEPSC
PETC已经安装在LLNL LC机器上,请参见[https://hpc.llnl.gov/software/mathematical-software/petsc]。它位于'/usr/tce/packages/petsc/'。要使用它,请导出“ PetSC_DIR”变量以指向Petsc文件夹,然后将“ Lib”子文件夹添加到'ld_library_path`变量:
export PETSC_DIR=/usr/tce/packages/petsc/<version> (检查版本号的文件夹名称)export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PETSC_DIR/lib在这种情况下,不需要“ PETSC_ARCH”变量。
根据您的设置,您可能需要加载一些其他模块,例如OpenMPI,例如:
module load openmpi如果不导出,请调整“ makefile”的开头,以设置PETSC(以及可能是SLEPSC,Python Path和FitPackpp)的路径。然后,
make cleanup以清洁构建目录。 (请注意清理中的UP 。)make quandary构建代码(或使用多个线程更快地构建的'make -j quandary')建议在您的PATH上添加难题
export PATH=$PATH:/path/to/quandary/可选:要从python环境中运行难题,您应该在安装了numpy和matplotlib的工作python解释器上。然后,将Quandary的位置附加到您的PYTHONPATH ,例如
export PYTHONPATH=$PYTHONPATH:/path/to/quandary/并查看示例。 该代码构建到可执行的quandary中。它需要一个参数为测试案例配置文件的名称。文件config_template.cfg ,列出了所有可能的配置选项。配置文件充满了注释,这些注释应帮助用户设置其测试用例,并将选项与用户指南中的描述匹配。还要比较示例文件夹。
./quandary config_template.cfgmpirun -np 4 ./quandary config_template.cfg --quietQuandary是一个正在进行重大发展的开源项目。各种形式的贡献是非常欢迎的,可以是从新功能到错误的文件,文档甚至讨论的任何东西。贡献很容易,在分支机构上工作,在您进行良好的情况下创建一个拉动请求,并在“测试/”通过中进行回归测试。
难题是根据MIT许可证的条款分发的。所有新捐款必须根据本许可做出。有关详细信息,请参见许可证并注意。
SPDX-LICENSE-IDIFIER:麻省理工学院