我最近遇到了一个元现象的表述:“ 两个很容易,三个很困难 ”(Federico Poloni用这种方式表述),可以描述如下:
当为两个实体提出特定问题时,相对容易解决。但是,用于三实体公式化的算法极大地增加了难度,甚至可能使解决方案不可行或无法实现。
(我欢迎提出建议,以使措辞更加美观,简洁和准确。)
您知道在计算科学的各个领域(从纯线性代数开始,到总括式计算物理结束)有哪些好例子?
我最近遇到了一个元现象的表述:“ 两个很容易,三个很困难 ”(Federico Poloni用这种方式表述),可以描述如下:
当为两个实体提出特定问题时,相对容易解决。但是,用于三实体公式化的算法极大地增加了难度,甚至可能使解决方案不可行或无法实现。
(我欢迎提出建议,以使措辞更加美观,简洁和准确。)
您知道在计算科学的各个领域(从纯线性代数开始,到总括式计算物理结束)有哪些好例子?
Answers:
两体问题是在物理学的许多领域中出现的一个例子,尤其是经典力学和量子物理学。这里的两体问题是指计算两个相互作用的粒子的动力学的任务,这些粒子例如通过重力或库仑力相互作用。通常可以通过将变量转换为质量中心和相对坐标来以封闭形式找到该问题的解决方案。
但是,一旦考虑了三个粒子,通常就不存在封闭形式的解。
从一维和二维来看,所有道路都通向罗马,但在三个维度上却没有。
具体来说,如果在一维或二维整数上进行随机游走(平均可能朝任意方向移动),那么无论起点是多少(几乎可以肯定),随机游走最终都会到达指定的点(“罗马”)。
但是,对于三个或更多个维度,进入“罗马”的可能性小于一;随维数增加而降低的概率。
因此,例如,如果对从“罗马”开始的随机步行进行随机(蒙特卡洛)模拟,当返回罗马时该模拟将停止,那么在一维和二维中,您可以放心最终将其返回罗马并停止模拟-非常简单。在三个维度上,您可能永远都不会变得如此艰难。
https://zh.wikipedia.org/wiki/Random_walk#Higher_dimensions
为了可视化二维情况,可以想象一个人在城市周围随机行走。这座城市实际上是无限的,并排列在人行道的方形网格中。在每个交叉路口,人员都会随机选择四种可能的路线之一(包括最初从其出发的一条路线)。形式上,这是在平面上具有整数坐标的所有点的集合上的随机游动。
这个人会回到步行的原始起点吗?这是上面讨论的平交问题的二维等效项。1921年,乔治·波利亚(GeorgePólya)证明了该人几乎可以肯定会进行2维随机行走,但是对于3维或更高维,返回原点的可能性随维数的增加而降低。在3个维度上,概率降低到大约34%
有关数值,请参见http://mathworld.wolfram.com/PolyasRandomWalkConstants.html。
这是SciComp.SE上那些贡献者的最接近的人:
在纳维-斯托克斯存在和平滑问题
三维版本当然是一个著名的开放问题,并且是百万美元的Clay Millenium奖的主题。但是二维版本已经很久以前就得到了解决,并给出了肯定的答案。陶瑞(Terry Tao)指出,该解决方案可以追溯到1933年Leray的论文!
为什么三维问题这么难解决?标准的手动波浪响应是,湍流在三个维度上比在两个维度上变得更加不稳定。要获得更严格的数学答案,请查看克莱研究所(Clay Institute)的查尔斯·费弗曼(Charles Fefferman)的正式问题陈述,或陶瑞(Terry Tao)关于可能的证明策略的详尽论述。
两个矩阵的同时对角化和:
但是,当需要同时将三个矩阵简化为规范形式时(与上述条件相比条件更弱):
实际应用中会是一个二次特征值问题的解决方案:
资料来源:CF van Loan,“第6课:高阶广义奇异值分解”,CIME-EMS暑期学校,意大利Cetraro,2015年6月。
量子计算中有很多示例,尽管我已经有一段时间没有这样做了,所以不记得很多。一个主要的问题是二分纠缠(两个系统之间的纠缠)相对容易,而三个或更多系统之间的纠缠是一个未解决的混乱,大概有一百篇关于该主题的论文。
这样做的根源是可以通过奇异值分解来分析2级张量(即矩阵)。3级或更高的张量没有类似的东西。实际上,即使是像这样简单的事情(下标/上标表示爱因斯坦求和),IIRC也不能有效解决。 。
这篇文章似乎很相关,尽管我还没有读过:大多数张量问题都是NP难的
Rank-n类型的类型推断。等级2的类型推断并不是特别困难,但是等级3或更高级别的类型推断是不确定的。
这是优化中的一个精巧方法:乘数交替方向法(ADMM)算法。
给定两个变量的非耦合凸目标函数(变量本身可以是向量)和耦合两个变量的线性约束:
然后,针对该优化问题的增强拉格朗日函数为
The ADMM algorithm roughly works by performing a "Gauss-Seidel" splitting on the augmented Lagrangian function for this optimization problem by minimizing first with respect to (while remain fixed), then by minimizing with respect to (while remain fixed), then by updating . This cycle goes on until a stopping criterion is reached.
(Note: some researchers such as Eckstein discard the Gauss-Siedel splitting view in favor of proximal operators, for example see http://rutcor.rutgers.edu/pub/rrr/reports2012/32_2012.pdf )
For convex problems, this algorithm has been proven to converge - for two sets of variables. This is not the case for three variables. For example, the optimization problem
Even if all the are convex, the ADMM-like approach (minimizing the Augmented Lagrangian with respect to each variable , then updating the dual variable ) is NOT guaranteed to converge, as was shown in this paper.
Folding a piece of paper in half without tools is easy. Folding it into thirds is hard.
Factoring a polynomial with two roots is easy. Factoring a polynomial with three roots is significantly more complicated.
A smooth curve of degree 2 (i.e. given as the solution of where is a polynomial of degree 2) with a given point is rational, meaning that it can be parameterized by quotients of polynomials, of degree 3 it isn't. The former are considered well understood, the latter, called elliptic curves when a base point, i.e. a specific solution, is singled out, are the object of intense research.
This difference has several implications:
在量子多体物理学中,我们在不同模型(例如,海森堡模型,玻色-哈伯德模型,伊辛模型等)的框架内研究n自旋的不同晶格。当然,您有不同的数值方法来研究它们(DMRG,精确对角化,神经网络等),而我们尝试开发不同方法的原因之一是因为当n变得太“高”时,您无法求解这些模型。 ,如果您进行更高维度的研究,当然会更糟。例如,对于Ising模型,对于n不大于20的情况,精确对角线化在1d中效果很好。因此,对于n较高的情况,请尝试另一种方法:DMRG。但是,后者对于较高的n确实确实有效(例如n = 70但对于较高的n效果不好)。再次,您需要用于n更高的另一种方法:神经网络(即人工智能)。除了神经网络 您可以“更轻松地”(即n相对较高)研究这些模型的更高维度(但对于维度= 3且n较小),例如,仍然需要大量时间(数天)才能获得基态或可以观察到您想要的...)。顺便说一句,当n对于您的数值方法(以及计算机的容量)变得“太高”时,您需要执行新的方法(如果可以,请使用超级计算机),这与您的尺寸相同系统,但当然会更糟,因为您会迅速卡住(除非您等待大量时间,否则很难获得尺寸= 4)。仍然需要很多小时(几天)才能获得基态或您想要的可观察到的东西...)。顺便说一句,当n对于您的数值方法(以及计算机的容量)变得“太高”时,您需要执行新的方法(如果可以,请使用超级计算机),这与您的尺寸相同系统,但当然会更糟,因为您会迅速卡住(除非您等待大量时间,否则很难获得尺寸= 4)。仍然需要很多小时(几天)才能获得基态或您想要的可观察到的东西...)。顺便说一句,当n对于您的数值方法(以及计算机的容量)变得“太高”时,您需要执行新的方法(如果可以,请使用超级计算机),这与您的尺寸相同系统,但当然会更糟,因为您会迅速卡住(除非您等待大量时间,否则很难获得尺寸= 4)。
当然,这里是您问题的更多附加信息,因为实际上,在量子多体物理学中,n = 3并不高(但是,如果采用的是超立方体的晶格,则不能采用n = 3的当然(由于条件)。