随机改变单位向量

计算科学 计算物理学 随机抽样
2021-12-08 02:02:44

为了研究晶格上的自旋模型,我必须从一个预先存在的向量开始生成一个随机单位向量。有多种方法可以做到这一点,但我使用的书建议生成一个随机位移向量三个随机数一个参数,然后将位移添加到原始向量并归一化总和。我不明白的是以下内容。作者说要检查如果该条件得到验证,则生成另一个位移。他们说:ΔS=ΔSmax(p1,p2,p3)pi[1,1]ΔSmax|ΔS|>ΔSmax

后一步骤是必要的,以确保自旋方向的变化围绕当前自旋方向对称分布。

这里,当前自旋是预先存在的单位向量。我不明白他们对引用的句子的意思。为什么我需要做那个检查?

这本书是 Harvey Gould、Jan Tobochnik 和 Wolfgang Christian 所著的“计算机模拟方法简介”。

1个回答

你看到的是一种基本的接受-拒绝方法。以这种方式生成的将在以原点为中心ΔSΔSmax

添加

我想您正在通过随机搜索进行某种优化,在这种情况下,目标是找到一组使某些目标函数极值化的自旋。它看起来是你有一个初始旋转,并且想要探索它的随机变化产生的改进。在这种情况下给你一种最大步长,向量,在你规范化它后给你一个新的候选者。如果很小,比如比 1 小很多,那么新的候选者将非常接近最初的候选者。SΔSmaxS+ΔSΔSΔSmax

那么为什么“旋转对称”很重要?这似乎是一件好事,各向同性地迈出一步,但我怀疑这是否很重要,如果事实上,这是一个优化问题。你真正需要的是一种可控的方式来产生新的、合理的候选人。