Herschel在Conway的《生命的游戏——第1部分——制造任何时期的振荡器和滑翔枪》中的足迹61或更大

2024年4月19日

早在1995年9月,大卫·白金汉显示如何在康威的《生命的游戏》中建造任何时期的振荡器和滑翔枪,至少61门。他的方法基于一种叫做“Herschel导管“;静物配置,可用于移动赫歇尔从一个位置到另一个位置。通过将几个赫歇尔导管缝合在一起,我们可以为赫歇尔飞行器创造一个完整的运动轨迹,从而创造一个振荡器(或者一把枪,如果我们让赫歇尔飞行器自然创造的滑翔机逃跑的话)。

Herschel曲目仍在Conway的《生活的游戏》中不断使用,我正在开始一系列视频教程,展示它们的工作原理。第1部分现在开始:

整个视频中的图案动画都是用马尼姆。一旦我得到了更多的视频,并且我的代码得到了进一步的清理,我将分享我制作美丽生活动画的代码。

用线性代数解决“熄灯”难题

2024年3月26日

灯熄灭是一个数学上非常有趣的谜题:而许多谜题都可以用帮助在数学中,Lights-Out是通过数学(尤其是线性代数)精确而完整地求解的。线性代数不仅使它更容易求解:它找到了一个精确的解,而且做得如此清晰,似乎Lights Out是出于数学原因(尽管它不是,不像其他一些谜题).

因此,如果你曾经陷入一个有这个谜题的视频游戏中(似乎就是所有谜题),只需快速观看下面的视频,然后拿出你最喜欢的线性代数软件来求解一个太大的要解决的手线性系统:

下面附上了Manim Python的脚本,用于创建本视频中的动画,因为考虑到它花了如此长的时间组装在一起,如果没有其他人使用它来做任何事情,那将是一件憾事。所以,请利用它——制作更多关于熄灯的视频!

标签:,

康威《生命的游戏》中首次发现真实周期的15和16滑翔枪

2024年3月18日

几年来,我一直想制作一系列关于康威《生活的游戏》的视频,我最终决定不再重复已经在教科书,我会制作视频,解释特别引人注目的新发现。不幸的是,有消息称生命是无处不在的有点像老旧的在这一点上,所以我从一段关于新发现的真实时期的视频开始1516滑翔机机枪(这两种机枪都是各自时期内发现的第一支机枪,相距不到5小时!):

这段视频确实深入探讨了一些“重新洗牌”的东西,比如B-heptomino是什么,以及枪支是如何工作的,但如果我想让世界上100多人都能理解这段视频,那就不可避免了。希望像这样的一些新闻视频能够让足够多的人相信《生活》足够有趣,从而在不久的将来将“100”这个数字提高!

三角形中三个圆的最大可能面积是多少?

2024年3月13日

在中断了3年之后,我又回来制作数学视频了,尤其要感谢我的新幻想地下室工作室:

这一次我尝试了一种叫做“编辑”的疯狂技术,而不是仅仅录制自己的视频并将原始视频上传到网上(信不信由你,这就是我所做的我以前的视频–这些都是“现场”录制的)。我的第一个新视频现在已经开始了,它研究了如何在三角形中放置3个不重叠的圆,以便覆盖尽可能多的区域(这个问题通常被错误地认为具有马尔法蒂圆圈作为解决方案):

我用过马尼姆用于三角形和圆形动画和Capcut公司一起编辑所有内容。我打算每周播放一段视频,希望今年夏天能制作出一个不错的应用微积分播放列表。

标签:,

正交投影的泰勒多项式

2018年7月23日

标准应用之一正交投影功能空间的形式如下傅里叶级数,其中我们使用\(B=\{1,\cos(x),\sin(x)

\(显示样式f,g\rangle=\int_{-\pi}^\pif(x)g(x)\,\mathrm{d} x。\)

特别是,将一个函数投影到集合\(B\)中的前2n+1个函数的跨度上,可以得到其n阶傅里叶近似:

\(显示样式f(x)\近似a0+\sum_{k=1}^na_k\cos(kx)+\sum_{k=1{^nb_k\sin(kx

其中,系数(a0,a1,a2,ldots,an)和(b1,b2,ldot,bn)可以通过该空间中的内积(即积分)来计算(参见网络上的许多其他地方,如在这里在这里,了解更多详细信息)。

接下来的一个自然问题是,当我们将一个函数投影到函数集的跨度(C={1,x,x^2,x^3,ldots,x^n})上时,是否同样得到泰勒多项式。更具体地说,如果我们将\(\mathcal{C}[-1,1]\)定义为由区间[-1,1]上的连续函数组成的内积空间,且内积为标准内积

\(显示样式\langle f,g\rangle=\int_{-1}^1 f(x)g(x)\,\mathrm{d} x个,\)

并考虑范围等于(mathcal)的正交投影{P} _n(n)[-1,1]\),n次多项式的子空间,是不是(P(e^x)是\(e^x\)的n次泰勒多项式?

不需要很长时间就可以通过一个例子看到,不,我们这样做时不会得到泰勒多项式。例如,如果我们选择n=2,那么将函数\(e^x\)投影到\(\mathcal{P} _2[-1,1]\)得到函数\(P(e^x)\约0.5367x^2+1.1036x+0.9963\),它不是二次泰勒多项式\(P_2(x)=0.5x^2+x+1)。下面绘制了这些不同的函数((e^x)以橙色显示,两个不同的近似多项式以蓝色显示):

正交投影与泰勒多项式

这些图说明了为什么(e^x)的正交投影不等于其泰勒多项式:正交投影设计为尽可能在整个区间[-1,1]上逼近(e^x],而泰勒多项式的设计目的是在x=0时尽可能地逼近它(如有必要,在区间端点附近牺牲精度)。

然而,如果我们改变正交投影作用的区间,就会发生有趣的事情。特别是,如果我们让\(0<c\In\mathbb{R}\)是标量,而考虑范围等于\(\mathcal{P} _2[-c,c]\),然后一个简单的(但可怕的)计算表明,区间[-c、c]上的(e^x)的最佳二次多项式近似为

P_c(e^x)公式

虽然这本身就是一个丑陋的混乱,但如果我们在c接近0时取极限,就会发生一些有趣的事情:

\(\displaystyle\lim_{c\rightarrow 0^+}P_c(e^x)=\frac{1}{2} x个^2+x+1,\)

这正是\(e^x)的泰勒多项式。直觉上,这是有意义的,并且与我们之前关于泰勒多项式在x=0时逼近(e^x)以及可能的正交投影在区间([-c,c]\)上逼近(e*x)的观察相吻合。然而,我不知道一般情况下会发生这种情况的任何证据(即,无论多项式的阶数是多少,也不管用什么(足够好的)函数代替\(e^x)),我希望有一位好心的评论员为我指出一个参考。[更新:用户“jam11249”在reddit上提供了这一事实的草图证明在这里.]

这是一个交互式Desmos图你可以用它来观察正交投影方法——泰勒多项式,如\(c\右箭头0\)。

标签:

如何计算难以计算的矩阵范数

2016年1月11日

有很多不同的矩阵和算子的范数这在许多不同的环境中都很有用。一些矩阵规范,例如Schatten规范Ky Fan规范,由于奇异值分解,很容易计算。然而,许多其他规范的计算,例如诱导p-范数(当p≠1,2,∞)为NP-hard。在本文中,我们将研究一种获得几乎所有矩阵范数相当好的估计值的通用方法。

其基本思想是,每个范数都可以写成凸集上凸函数的最大化(特别是,每个范可以写成对偶范数的单位球上的最大化)。然而,这种最大化通常很难处理或解析求解,因此它可以帮助将范数写成两个或多个更简单集合上的最大化,每个集合可以单独解决。为了说明这是如何工作的,让我们从诱导矩阵范数开始。

诱导矩阵范数

诱导p矩阵B的q范数定义如下:

\(显示样式\|B\|_{p\rightarrow-q}:=\max\big\{\|B\ mathbf{x}\|_q:\|\mathbf}\|_p=1\big\},\)

哪里

\(\显示样式\|\mathbf{x}\|p:=\左(\sum_{i}|x_i|^p\右)^{1/p}\)

是向量p-范数。这些规范有三种特殊情况,易于计算:

  1. 当p=q=2时,这是B的通常算子范数(即其最大奇异值)。
  2. 当p=q=1时,这是最大的绝对列和:\(\|B\|_{1\rightarrow1}=\max_j\sum_i|B_{ij}|\)。
  3. 当p=q=∞时,这是最大的绝对行和:\(\|B\|_{\infty\rightarrow\infty}=\max_i\sum_j|B_{ij}|\)。

然而,除了这三种特殊情况(以及其他一些特殊情况,例如当B只有非负的实项[1]时)之外,这种规范要混乱得多。一般来说,它的计算是NP-hard[2],那么我们如何才能很好地了解它的值呢?好吧,我们将范数重写为以下双重最大化:

\(显示样式\|B\|{p\rightarrow-q}=\max\big\{|\mathbf{y}^*B\mathbf{x}|:\|\mathbf{x}\|_p=1,\|\mathbf{y}\|{q^\prime}=1\big\},\)

其中,\(q^\prime \)是正实数,即\(1/q+1/q^\prime=1)(如果\(q=\infty \),则取\(q_\prime=1,以及vice-versa)。这个想法是交替地一次最大化\(\mathbf{x}\)和\(\mathbf{y}\)。

  1. 首先设置\(j=1\)并固定一个随机选择向量\(mathbf{x} _0(0)\),缩放到\(\|\mathbf{x} _0(0)\|_{p} =1\)。
  2. 计算

    \(\max\big\{|\mathbf{y}^*B\mathbf{x}_{j-1}|:\|\mathbf{y}\|{q^\prime}=1\big\},\)

    保留\(\mathbf{x}_{j-1}\)固定,并让\(\mathbf{y} _j(_j)\)是达到这个最大值的向量。霍尔德不等式,我们知道这个最大值正好等于\(\|B\mathbf{x}_{j-1})。此外,Hölder不等式的等式条件告诉我们向量\(\mathbf{y} _j(_j)\)达到这个最大值的是具有与\(B\mathbf)相同的复杂相的相{x}_{j-1}\),其震级为\(|\mathbf{y} _j(_j)|^{q^\prime}\)是\(|B\mathbf的倍数{x}_{j-1}|^q\)(这里的符号\(|\cdot|^q)表示我们取向量每个项的绝对值和q次幂)。

  3. 计算

    \(\max\big\{|\mathbf{y} _j(_j)^*B\mathbf{x}|:\|\mathbf{x}\|_{p}=1\big\},\)

    保留\(\mathbf{y} _j(_j)\)修复,并让\(\mathbf{x} _j(_j)\)是达到这个最大值的向量。通过一个几乎与步骤2相同的自变量,这个最大值等于\(\|B^*\mathbf{y} _j(_j)\|_{p^\prime}\),其中\(p^\prime\)是正实数,例如\(1/p+1/p^\prime=1\)。此外,向量\(\mathbf{x} _j(_j)\)达到这个最大值的是具有与(B^*mathbf)相同的复相的{y} _j(_j)\),其震级为\(|\mathbf{x} _j(_j)|^p\)是\(|B^*\mathbf的倍数{y} _j(_j)|^{p^\prime}\)。

  4. 将\(j)增加1,然后返回步骤2。重复上述步骤,直到每次迭代后获得可忽略不计的收益。

该算法运行速度极快,因为Hölder不等式精确地告诉我们如何分别求解两个最大化,所以我们只剩下在每个步骤执行简单的向量计算。这种算法的缺点是,即使它总是收敛到一些局部最大值,它可能收敛到一个小于真实诱导p的值q范数。然而,在实践中,该算法的速度足够快,可以使用不同的(随机选择)起始向量运行数千次{x} _0(0)\)以非常好地了解\(B\_{p\rightarrowq}\)的值。

值得注意的是,该算法与[3]中提出的算法基本相同,并简化为功率法用于在p=q=2时找到最大奇异值。此算法已在QETLAB包作为MATLAB的诱导矩阵范数功能。

诱导Schatten超算子规范

超算子上也有一个自然的诱导范数家族(即线性映射(Phi:M_n\rightarrow M_n))。首先,对于矩阵(M_n中的X),我们定义其Schatten p-范数为其奇异值向量的p范数:

\(\|X\|p:=\左(\sum_{i=1}^n\sigma_i(X)^p\右)^{1/p}。)

Schatten p-范数的三种特殊情况包括:

  • p=1,通常称为“跟踪规范”或“核规范”,
  • p=2,通常称为“Frobenius范数”或“Hilbert–Schmidt范数”,以及
  • p=∞,这是通常的算子范数。

Schatten范数本身很容易计算(因为奇异值很容易计算),但它们的诱导计数器部分则不然。

给定一个超算子(Phi:M_n\rightarrowM_n),它的诱导Schatten pq范数定义如下:

\(\|\Phi\|_{p\rightarrow-q}:=\max\big\{\\|\Phi(X)\|_q:\|X\|_p=1\big\}.\)

这些诱导Schatten范数在[4]中进行了深入研究,并在量子信息理论(尤其是当p=q=1时)和算子理论(特别是当p=q=∞时)中频繁出现。一般来说,它们是NP-hard来计算的,这并不奇怪,因为当\(\Phi \)仅作用于\(X \)的对角线项并将非对角线项目清零时,它们会减少到诱导矩阵范数(前面讨论过)。然而,即使在p=q=1和p=q=∞的特殊情况下,该范数的计算似乎也很困难(然而,当p=q=2时,计算起来很简单)。

然而,我们可以使用与上一节讨论的方法基本相同的方法,从数值上获得对该范数值的良好估计。我们首先将范数重写为双重最大化,其中每个最大化都很容易单独处理:

\(\|\Phi\|_{p\rightarrow-q}=\max\big\{|\mathrm{Tr}(Y^*\Phi(X))|:\|X\|_p=1,\|Y\|_{q^\prime}=1\big\},\)

其中,(q^\prime)再次是满足(1/q+1/q^\prime=1)的正实数(或无穷大)。现在,我们将在\(X\)和\(Y\)上最大化,交替地一次一个,就像之前一样:

  1. 首先设置\(j=1\)并修复一个随机选择矩阵\(X_0\),并将其缩放为\(X_0\|_p=1\)。
  2. 计算

    \(\max\big\{|\mathrm{Tr}(Y^*\Phi(X_{j-1})|:\|Y\|_{q^\prime}=1\big\},\)

    保持(X_{j-1})固定,并让(Y_j)为达到此最大值的矩阵。Schatten范数的Hölder不等式,我们知道这个最大值正好等于\(\|\Phi(X_{j-1})\|{q}\)。此外,达到这个最大值的矩阵是与(Phi(X_{j-1}))具有相同左右奇异向量的矩阵,其奇异值是一个常数(c\),使得所有(i\)的(sigma_i(Y_j)^{q^prime}=c\ sigma_ i(Phi,提升到(q^素数)次方是奇异值向量的倍数(Phi(X{j-1})),提升到(q次方)。

  3. 计算

    \(\max\big\{|\mathrm{Tr}(Y_j^*\Phi(X)|:\|X\|{p}=1\big\},\)

    保持(Y_j)不变,并让(X_j)是达到这个最大值的矩阵。通过基本上与步骤2中相同的参数,我们知道这个最大值正好等于\(\|\Phi^*(Y_j)\|_{p^\prime}\),其中\(\ Phi^*\)是希尔伯特-施密特内积此外,达到这个最大值的矩阵(X_j)具有与(Phi^*(Y_j))相同的左奇异向量和右奇异向量,并且其奇异值是一个常数(c\),因此对于所有\(i\),(\sigma_i(X_j)^{p}=c\sigma-i(\Phi^X(Y_j)))^{p ^prime}\)。

  4. 将\(j)增加1,然后返回步骤2。重复上述步骤,直到每次迭代后获得可忽略不计的收益。

上述算法与导出矩阵范数的算法几乎相同,但向量(mathbf{x})和(mathbf{y})的绝对值和复相位分别被矩阵(x)和(y)的奇异值和奇异向量所取代。整个算法的运行速度仍然非常快,因为每个步骤只需要计算一个奇异值分解。

与诱导矩阵范数算法一样,该算法的缺点是,我们无法保证该方法实际上会收敛到诱导Schatten pq范数;只是它会收敛到它的某个下限。然而,该算法在实践中运行得很好,并且速度足够快,我们可以简单地运行几千次,从而很好地了解范数的实际情况。如果您有兴趣使用该算法,它已在QETLAB中实现为诱导SchattenForm功能。

纠缠规范

用于前两类范数的中心思想也可用于获得处理量子纠缠时不时出现的以下范数的下限:

\(\|X\|_{S(1)}:=\max\Big\{\Big|(\mathbf{v}\otimes\mathbf{w})^*X(\mathbf{X}\otimes\mathbf{y})\Big|:\|\mathbf1{v}\ |=\|\mathbf{w}\

(作为旁注:这一规范以及其他类似规范是重点关注的我的论文.)这个范数已经被写成了双重最大化,所以前两节中提出的想法从一开始就更清楚了:我们固定随机生成的向量\(\mathbf{v}\)和\(\mathbf{x}\),然后在所有向量\(\mathbf{w}\)和\(\mathbf{y}\)上最大化,这可以通过计算与算子最大奇异值相关联的左奇异向量和右奇异向量来实现

\(((mathbf{v}\otimes I)^*X(mathbf{X}\otemes I)以M_n表示。)

然后,我们将(mathbf{w})和(mathbf{y})固定为这些奇异向量,然后对所有向量(mathbf1{v})以及(mathbf2x})进行最大化(这也是一个奇异值问题),我们来回迭代,直到收敛到某个值。

与先前的离散范数一样,该算法总是收敛的,并且收敛到(X{S(1)})的下界,但可能不是其精确值。如果你想让这个算法旋转,它已经在QETLAB中实现为sk_文字功能。

值得一提的是,该算法在几个不同的方向上进行了直接推广。例如,它可以用来找到范数\(\|\cdot\|_{S(k)}\)的下界,其中我们在左和右上通过纯态最大化施密特秩不大于k而不是可分离纯态,它可以用来寻找纠缠几何测度的下限[5]。

参考文献:

  1. D.斯坦伯格。矩阵范数的计算及其在稳健优化中的应用研究论文。Technion–以色列理工大学,2005年。
  2. J.M.Hendrickx和A.Olshevsky。如果p≠1,2,∞,矩阵p-范数是NP-hard近似的。2009.电子打印:arXiv:0908.1397
  3. D.W.博伊德。功率法第页规范。线性代数及其应用1974年9月95日至101日。
  4. J.瓦特鲁斯。关于Schatten范数诱导的超算子范数的注记。 量子信息与计算, 5(1):58–68, 2005. 电子打印:arXiv:quant-ph/0411077
  5. T.-C.Wei和P。M.戈德巴特。纠缠的几何测量及其在二部和多部量子态中的应用。物理复习A, 68:042307, 2003. 电子打印:arXiv:quant-ph/0212030