技术文章和新闻稿

创建菠菜,一个模拟旋转动力学的开源MATLAB库

南安普敦大学伊利亚库普罗夫教授


我们每天使用的大部分技术,包括磁共振成像,电动机和磁性数据存储,取决于磁相互作用。这些从调用的量子机械量开始旋转。携带旋转的基本颗粒是最小的永磁体可以 - 可能的磁性材料量。所有磁性工艺均可追溯到旋转。

化学家,材料科学家,物理学家和其他研究人员都对设计以各种方式操纵磁性的材料或实验感兴趣。为此,他们需要一种模拟自旋动力学的方法。为了响应这种需求,旋转动态组开发了菠菜,Matlab®基于旋转动力学仿真的基于开源库(图1)。

图1.菠菜能力图。

图1.菠菜能力图。图书馆涵盖了磁性的量子力学和化学和医学成像的相关领域。

我们使用MATLAB,因为我们希望尽量减少我们在发展CPU时间的团队所花费的时间便宜,但大脑时间非常昂贵。在我们可以使用的许多语言中,Matlab需要迄今为止最少的时间开发和调试计算物理学的代码。它对稀疏矩阵以及GPU万博1manbetx和并行化的本机支持,节省了我们多年的大脑时间。

解决指数缩放问题

指数复杂性缩放始终是模拟量子过程的主要困难。旋转物理学也是如此:单一旋转只有两个量子状态,旋转和旋转。两个旋转有四种可能的组合,三个旋转有八,等等。组合的数量确定执行计算所需的矩阵的大小。涉及仅20个旋转的相对适度的模拟需要2个矩阵20.(或大约100万)行和列——这是非常难以存储的东西。在2007年之前,所有的自旋动力学模拟算法都按指数比例伸缩,严重限制了它们的实用性。

在2007纸(DOI:10.1016 / J.JMR.2007.09.014)中,我们描述了一种模拟缩放多项式而不是指数的自旋动力学的算法。本文由Nicola Wagner-Rundell,Peter Hore和Mysery撰写,导致了算法的第一次实施,因此,菠菜。我们设法表明大型自旋系统中的大多数量子状态对于磁共振模拟不是必需的,并且可以在不损害精度的情况下掉落。虽然该近似使得可以开发一种缩放多项式的算法,而在代码中实现算法是令人生畏的。潜在的数学是特殊的复杂性,涉及Lie代数的异国情调。即使是实用程序函数也很难从头开始编码。例如,我们需要一个隐式索引的函数,其中一个数组用另一个数组索引。我们还需要一个函数来重新排序,例如,可以采用25维数组并交换21英石与11的尺寸

作为化学家,我们可怕的是要编写和调试这些功能,但是当我们查看Matlab文档时,我们发现我们所需索引,维度重新排序,操纵稀疏阵列以及更多的高度优化版本的所有功能。在matlab。令我们惊讶的是,我们认为需要一年的职能需要一年的Matlab。

从一开始,对Matlab中的稀疏矩阵的本机支持万博1manbetx更容易实现更轻松 - 在旋转物理学中的大多数运算符都非常稀疏。我们发现,随着我们安装的每一个新的Matlab释放,稀疏的索引速度都会改进,我们的模拟速度也是如此。

使用GPU和并行计算加速模拟

当我们开始使用GPU和并行处理时,实现了进一步的加速。当我们要求MathWorks工程师实施稀疏的GPU操作时,他们的响应是“没问题 - 我们会为你做这件事。”他们做了,我们通过使用NVIDIA在速度速度时速度达到另外三个数量级®特斯拉®使用并行计算工具箱™的卡片在运行Matlab Sparts™的大型集群上,该公司为我们配置了MathWorks团队。大多数菠菜函数现在都是并行化,而且库将运行尽可能多的核心。

菠菜的典型用例

菠菜模拟最常用于两个研究目的:解释实验结果和确定有希望的实验路线。化学家经常要求我们解释他们的实验结果,以确定在他们所研究的化学系统中发生了什么。我们建立了一个仿真,然后调整参数使仿真与实验结果相吻合。然后我们在MATLAB中运行系统轨迹分析,看看到底发生了什么。

化学家还使用模拟来减少对昂贵的实验过程的需求。例如,两年前,我们与一支化学家团队合作,他们正在寻找将氟原子插入脯氨酸,小生物分子。有128种可能的氟化图案进行测试。执行128个有机合成实例,每个阶段可能需要数周,这将过度昂贵且耗时。要求我们发现在强磁场中的氟-19同位素中有哪些128个模式(图2)。在我们当地超级计算机上运行模拟后,我们发现了最佳组合。当化学家合成这种模式时,它产生了所需的窄线 - 我们节省了多年的实验时间(DOI:10.1021 / ACS.joc.8b02920)。

图2.三个量子状态中的光谱信号宽度13.C-19.F旋转系统在大蛋白质中作为施加的磁场的函数。

图2.三个量子状态中的光谱信号宽度13.C-19.F旋转系统在大蛋白质中作为施加的磁场的函数。

在最近的另一个项目中,我们用菠菜模拟Matlab中Matlab中的数十种氟化氨基酸和核苷酸,以找到为特定量子状态产生最长寿命的氟化氨基酸。由此产生的改善是如此戏剧性,我们的论文直接自然方法是一个着名的化学杂志(DOI:10.1038 / s41592-019-0334-x)。

深度神经网络和其他增强

菠菜库由我们和我们在世界各地的合作者持续更新。一个积极发展的领域是深入学习。我们正在使用菠菜来生成可以处理双电子 - 电子共振(鹿)数据的神经网络的训练数据。实验鹿数据可以产生昂贵,但菠菜非常迅速地产生了现实模拟(图3)。我们向模拟真实实验数据增加了噪音和扭曲。另一个高调的出版物,这次科学的进步,(DOI:10.1126 / sciadv.aat5218),结果。

图3. DENERET的示意图,在MATLAB中编写的DENERERBER网络基础设施,统计和机器学习工具箱,以解决一个众所周知的结构生物学问题:未配对电子之间的距离测量。

图3. DENERET的示意图,在MATLAB中编写的DENERERBER网络基础设施,统计和机器学习工具箱,以解决一个众所周知的结构生物学问题:未配对电子之间的距离测量。迷人的方面是模拟量子机械过程的能力显然被直接转向解释实验数据而不配合的能力。

在未来几年内,我们预计释放能够模拟所有已知的磁共振过程的菠菜版本。到目前为止,菠菜内核的开发将完成,但图书馆的应用程序的数量和各种仍然是无限的。

确认

我要感谢MathWorks的工程师Alison Eele、Jos Martin和Raymond Norris,感谢他们为我们的团队实现GPU操作和配置并行计算集群提供的宝贵帮助。

南安普顿大学是全球近1300所大学,提供对Matlab和Simulink的校园范围。万博1manbetx凭借校园广泛的许可证,研究人员,教师和学生可以在最新的释放级别获得产品的共同配置,以便在课堂上使用,在家里,在实验室中或在现场。s manbetx 845

关于作者

Ilya Kuprov是南安普敦大学化学物理学副教授。他此前,他是牛津大学的EPSRC早期职业生涯研究员,达勒姆大学的一个物理化学讲师,以及牛津马格达伦学院的考试。他的研究侧重于量子理论的计算方法。

发布2019年

查看相关功能的文章