2020年12月3日

塞巴斯蒂安·拉贝

在SageMath中用polyomino贴上polyomonio

假设您在家中3D打印以下3D hexo-mino的多个副本:

圣人:  sage.combinat.平铺 进口 波利米诺, 平铺解决方案
鼠尾草: 第页 = 波利米诺([(0,0,0), (0,1,0), (1,0,0), (2,0,0), (2,1,0), (2,1,1)], 颜色=“蓝色”)
圣人: 第页.显示3d()
推出 html格式 查看器 对于 图形3d 对象
/文件/2020/polyomino.png

你想知道你是否可以贴一个更大的polyomino或特别是一个有许多副本的矩形框平铺解算器SageMath中的模块就是为了这个。另请参见ask.sagemath.org上最近的这个问题.

圣人:  = 平铺解算器([第页], (7,5,3), 旋转=真的, 反射=False(错误), 可重复使用的=真的)
圣人: 
平铺 解算器 属于 1  进入之内   属于 大小 24
旋转 允许: 真的
反思 允许: False(错误)
重复使用  允许: 真的

用这种polyomino瓷砖7x5x3形状的盒子时没有解决方案:

圣人: .解决方案数量()
0

但是,使用这种polyomino瓷砖4x3x2形状的盒子时,有四种解决方案:

圣人:  = 平铺解算器([第页], (4,3,2), 旋转=真的, 反射=False(错误), 可重复使用的=真的)
圣人: .解决方案数量()
4

我们构建了解决方案列表:

圣人: 解决 = [溶胶 对于 溶胶 在里面 .解决()]

每个解决方案都包含多边形平铺长方体的等轴测副本:

鼠尾草: 解决[0]
[波利米诺: [(0, 0, 0), (0, 0, 1), (0, 1, 0), (1, 1, 0), (2, 0, 0), (2, 1, 0)], 颜色: #ff0000,
 波利米诺: [(0, 1, 1), (0, 2, 0), (0, 2, 1), (1, 1, 1), (2, 1, 1), (2, 2, 1)], 颜色: #ff0000,
 波利米诺: [(1, 0, 0), (1, 0, 1), (2, 0, 1), (3, 0, 0), (3, 0, 1), (3, 1, 0)], 颜色: #ff0000,
 波利米诺: [(1, 2, 0), (1, 2, 1), (2, 2, 0), (3, 1, 1), (3, 2, 0), (3, 2, 1)], 颜色: #ff0000]

可视化解决方案可能更容易,因此我们定义如下允许为每个工件绘制不同颜色的解决方案的功能:

圣人: 定义 draw_解决方案(解决方案, 大小=0.9):
....:     颜色 = 彩虹(伦恩(解决方案))
....:     对于 ,科尔 在里面 拉链(解决方案, 颜色):
....:         .颜色(科尔)
....:     返回 总和((.显示3d(大小=大小) 对于  在里面 解决方案), 绘图())
圣人: G公司 = [draw_解决方案(溶胶) 对于 溶胶 在里面 解决]
圣人: G公司
[图形3d 对象, 图形3d 对象, 图形3d 对象, 图形3d 对象]
圣人: G公司[0]   #在Sage中,这将自动打开3d查看器
/文件/2020/solution0.png
圣人: G公司[1]
/文件/2020/solution1.png
圣人: G公司[2]
/文件/2020/solution2.png
圣人: G公司[3]
/文件/2020/solution3.png

我们可以将解决方案保存到一个文件中:

鼠尾草: G公司[0].节约('解决方案0.png', 方面比率=1, 缩放=1.2)
圣人: G公司[1].节约('解决方案1.png', 方面比率=1, 缩放=1.2)
圣人: G公司[2].节约('解决方案2.png', 方面比率=1, 缩放=1.2)
圣人: G公司[3].节约('解决方案3.png', 方面比率=1, 缩放=1.2)

问题:这四种解决方案都是等距的吗?

由于减少了精确覆盖问题对于其中跳舞链接Knuth算法提供了所有解决方案。一个可以看到跳舞链接矩阵的行,如下所示:

圣人: d日 = .dlx解决程序()
圣人: d日
跳舞 链接 解算器 对于 24   56 
圣人: d日.()
[[0, 1, 2, 4, 5, 11],
 [6, 7, 8, 10, 11, 17],
 [12, 13, 14, 16, 17, 23],
 ...
 [4, 6, 7, 9, 10, 11],
 [10, 12, 13, 15, 16, 17],
 [16, 18, 19, 21, 22, 23]]

dlx解算器的解可以如下获得:

圣人:  = d日.解决方案_迭代器()
圣人: 下一个()
[3, 36, 19, 52]

这些是对应于等角图副本的行的索引盒子里的波利米诺。

SageMath-9.2系列将问题简化为MILP问题或SAT的可能性实例已添加到SageMath中(请参见#29338和#29955):

圣人: d日.收件人(_M)()
(布尔值 程序 ( 客观的, 56 变量, 24 约束条件),
 MIP变量 属于  1)
圣人: d日.到sat_solver()
加密MiniSat 解算器: 56 变量, 2348 条款.

Sébastien Labbé于2020年12月3日下午01:48发表

2020年4月13日

威廉·斯坦

DataDog:不要再犯我犯过的错误——对非常不高兴的客户的跟进和思考

这是对我上一篇关于DataDog计费的博客文章.

TL;博士:
-我不推荐DataDog,
-与不满意的客户打交道很难,
-监视数据科学呆子?

黑客新闻评论

谷歌云峰会上的DataDog

我最近在西雅图谷歌云峰会数据狗代表性很强,在主题演讲期间拥有最大的展位和顶级供应商账单。显然,他们正在做正确的事情。我有一段过去不愉快的经历我刚刚审核了我的记录,发现去年DataDog实际上向我收取了许多比我想象的要多,所以有点恼火。尽管如此,他们还是不断向我走来并与我交谈,服务器监控对我来说是生死攸关的,他们的实际软件在某些方面给人留下了深刻印象。

Nick Parisi开始和我谈论DataDog。他真诚地想知道我过去在监控和DataDog产品方面的经验,他显然非常热衷于此。所以我告诉了他一点,他鼓励我多告诉他一些,解释说他去年没有在DataDog工作,他想知道发生了什么。所以他给了我他的电子邮件非常真诚地关心和帮助,所以我给他发了一封电子邮件,上面有我的帖子的链接等。我没有收到回复,所以一周后我问了原因,并收到了一封来自Jay Robichau的后续电子邮件,他是DataDog的销售总监。

使用DataDog进行电话会议

Jay今天上午10点(2017年9月22日)与我进行了电话会议。在打电话之前,我给他发送了我的博客帖子的摘要,并要求退款,尤其是在我的帖子发布近6周后,他们给我寄来的令人惊讶的账单。

在通话中,Jay解释说,他是在“保护”Nick不受我的影响,我主要会与负责客户成功的Michelle Danis交谈。我对电话的期望是,我们会找到一些共同点,他们至少会很感激有机会把事情做好,并与不满意的客户交谈。我也很好奇一家成功的创业公司是如何解决一个不开心的客户(我)的担忧的。

我原以为对话会很难,但进展顺利,我写了一篇帖子,赞扬了迷人的DataDog销售人员和客户成功人士。几周前CoCalc.com公司(我的雇主)有一位非常不高兴的客户,他(理所当然地)对一次错误沟通感到愤怒,告诉我们他将不再使用我们的产品,并且绝对不会向任何其他人推荐。我写信给他,希望至少能继续讨论并提供帮助,但他已经完全离开了。只要他给我机会,我会尽我所能确保他满意。此外,还有最近的博客帖子来自一个不喜欢使用CoCalc/Sage进行图形处理的人,我尽我所能与他们联系,至少澄清了一些事情。。。

无论如何,以下是DataDog向我们收取的费用,因为我们在Kubernetes集群中的几十个容器上运行他们的守护程序(一个非英语母语的承包商实际上为我们安装了这些监控器):

2016年7月22日449215JWJH87S8N4 DATADOG 866-329-4466 NY$639.19
2016年8月29日2449215L2JH87V8WZ DATADOG 866-329-4466 NY$927.22

我对07/22法案感到震惊,该法案伪造了我的帖子,直到后来才发现8/29法案。我们在7月22日取消了订阅(取消订阅本身就很困难)。

Michelle在电话会议开始时解释说,08/29法案是针对07/22之前发生的费用他们的计费系统有一个多月的延迟(与谷歌云平台(Google Cloud Platform)不同,它甚至在今天也能做到这一点)。然后Michelle详细解释了DataDog对其软件所做的许多更改,以解决我(和其他人?)在定价描述和账单中指出的问题。她对我将来是否会成为DataDog客户很感兴趣,当我说不时,她解释说他们不会退还我的钱,因为账单上没有错。

我问他们现在是否像谷歌云平台(比如说)那样定期提供即将到来的账单摘要。她说,虽然他们正在努力,但今天没有。他们现在在管理页面上提供了迄今为止的使用情况摘要。

最后,我毫不含糊地解释说,我觉得他们的定价误导了我。我希望他们会理解,并指出他们刚才向我描述了他们解决这个问题的许多方法。非常令人惊讶的是,米歇尔的回答是,她绝对不会同意一年前他们的定价描述有任何问题,而且他们绝对不会退还我的钱。她不断提出服务条款。我同意,考虑到她所解释的,我认为他们在法律上没有错,只是——正如他们刚刚指出的那样——他们的定价和账单在各个方面都不清楚。他们根本不会同意。

我不建议与DataDog做生意。我非常希望在这个更新的帖子中写下相反的内容。不幸的是,与竞争对手相比,他们的定价和条款今天仍然令人困惑,他们不会犯错误。这条狗咬人。   

(免责声明:我在通话中做了笔记,但以上大部分都是记忆中的,我可能听错或误解了什么。我邀请DataDog发表评论,澄清事实。)

而且,不管它值多少钱,我绝对推荐谷歌云平台。他们在明确计费方面做了很多正确的事情。

初创企业如何应对不高兴的客户?

我很好奇其他人初创公司处理不满意的客户。在CoCalc,我们很少发生“重大事件”。。。但我想尽可能做好准备。在谷歌云峰会上,我参加了一些令人惊叹的“SRE的战争故事”会议,在会上,他们讨论了多年前的情况,在这些情况下,他们的决定意味着他们明天是否会有公司或工作。这些人对于什么时候问题是do-or-die严重,什么时候不是,显然有着惊人的直觉。他们深入的准备“深入”是他们处于那个阶段的原因,也是像谷歌这样的老公司仍然存在的一个重要原因。制定应对愤怒客户的策略当然也同样重要。


谷歌SRE这些家伙是认真的。

我向一位长期在谷歌工作的员工(16年了!)提到了我的DataDog故事,他说他最近在谷歌的Stackdriver监控方面也遇到了类似的情况,仅Stackdrive一个月就要向客户支付8.5万美元。我问谷歌做了什么,他说他们退款了,然后和客户一起更好地使用他们的工具。

当然,不可能一直取悦所有人。然而,我真的觉得我被DataDog欺骗和误导了,但我的印象是,Jay和Michelle真的认为我是个混蛋,试图以1500美元的价格敲诈他们。他们可能讨厌我告诉你我的经历。

到目前为止,通过CoCalc,我们提前向客户收取我们提供的任何服务的费用,因此很少有人会对账单感到惊讶。有时,当一个人在下一个月的订阅中被收取费用,并且不想继续(例如,因为他们的课程结束了)时,我们总是全额退款。你的公司是做什么的?为什么?我确实担心我们的计费模式意味着我们错过了潜在的收入。

我们都知道像亚马逊和Wal-Mart这样成功的大型消费品公司都做了些什么。

监视数据科学呆子?

我想知道是否有人对DataDog这样的服务感兴趣,但它的目标是基于CoCalc构建的数据科学书呆子(Data Science Nerds),CoCalc提供预装了Pandas、R等的托管协作Jupyter笔记本电脑。这次谈话在2017年普罗米修斯大会上,主要讨论了人们在使用数据科学工具(如R、Python、Jupyter)分析普罗米修s数据时面临的摩擦。CoCalc提供了一个协作数据科学环境,因此如果我们要消除这些摩擦点,它可能对某些人有用。而且效率更高。。。


---



作者:William Stein([电子邮件保护])2020年4月13日下午01:38

2020年3月27日

塞巴斯蒂安·拉贝

维数大于3时MCF算法Lyapunov指数的计算机实验

2015年11月,我想分享我对各种不同的多维连分式算法从用它们进行的各种实验通常涉及组合学和数字几何,但也包括前两个的计算Lyapunov指数。

由于连分式与Sturmian的组合数学有着深刻的联系序列,可以看作是grid\(\mathbb{Z}^2),多维连分数算法与直线和超平面的数字化有关\(\mathbb{Z}^d\)。

这就是为什么我在我称之为三维连续分数算法作弊表因为它的格式受到启发从网上找到的典型备忘单。所有实验都可以使用可选的SageMath包复制板球我在那里分享我的研究代码。人们问我是否会尝试发表这些作弊表,但我担心这种格式会改变每个页面上都有信息和数据,因此,最终我从未提交过这些随时随地作弊。

这里我应该说,(d)代表相关矩阵的作用,并且(d-1)是算法作用的投影空间。

骗局的后果之一是它让我们意识到Julien Cassaigne提出的算法具有相同的前两个Lyapunov指数与Selmer算法相同(前3个有效数字相同)。然后朱利安发现了这个解释,因为它的算法与一些Selmer算法的半排序版本。这个结果是共享在期间WORDS 2017会议。朱利安·勒罗伊(Julien Leroy)、朱利安·卡萨因(Julien-Cassaigne)和我仍在工作在论文的扩展版本上。这需要更长的时间,主要是因为我因为我一直在努力研究不定期的Wang瓷砖前2年。

2019年7月,沃尔夫冈、瓦莱里和约格要求我进行计算(d)维多维的前两个Lyapunov指数大于3的\(d\)的连续分数算法。主要问题是感兴趣的是第二个李亚普诺夫指数是否保持为负尺寸增加。这个属性与强的概念有关同时diopantine逼近的几乎处处收敛性由实数的固定向量算法提供。它没有带走我自从我开始将代码推广到2017年秋季,尺寸更大。事实证明,作为尺寸增加,所有已知的MCF算法的第二个Lyapunov指数变为积极的。我的计算结果证实了他们最终公布的结果在他们的预印本2019年11月。

我分享结果的动机是会议多维连分式与欧几里德动力学本周举行(本应于2020年3月23日至27日在洛伦兹中心举行因电晕病毒而取消)视频中的一些讨论会议与这个主题有关。

下面进行的计算可以总结为一个图形,其中显示了对于各种情况,关于(d)的\(1-\theta_2/\theta_1\)值\(d)维MCF算法。似乎(theta_2)是负数Brun达到尺寸10,Selmer达到尺寸4,以及尺寸5用于ARP。

/文件/2020/lyapunov_exponent_comparison.png

我不得不说,我对结果感到失望,因为算法瓦莱里和我的阿诺克斯-劳兹-波因卡雷(ARP)介绍没有这样做以及它的第二个Lyapunov指数似乎在维度上为正\(第6页)。我对ARP有很好的期望,因为它达到了最高水平在作弊中执行的计算中,(1-\theta_2/\theta_1)的值床单,因此比Brun好,比Selmer好(d=3)。

计算前两个Lyapunov指数的算法是由文森特·德莱克索瓦提供给我。它应用了算法\((v,w)\mapsto(M)^{-1}v,M^T w)\)数百万次。The evolution of the向量(v)的大小给出了第一个Lyapunov指数。进化向量(w)的大小给出了第二个Lyapunov指数。计算在64位上执行双重的浮点数,它们的是需要处理的数字问题。这就是为什么一些Gramma Shimdts操作是每次将向量重正化为保持向量(w)与(v)正交。否则,数值误差累积量和\(theta_2)的计算值变为相同\(\theta_1)。您可以从以下位置开始在线查看算法第1723行文件的多个cont_frac_pyx.pyx从我的可选软件包。

我不知道文森特从哪里得到了这个算法。所以,我不知道该怎么做确实如此,是否存在上下界的证明正在执行的计算。我能说的是,它在is反复返回相同的值(我的意思是3个常见的最高有效数字)具有任何固定输入(数量迭代)。

下面,我将展示如何重现结果的代码。

版本0.6(2019年11月)板球包括处理某些(d)维多维的必要代码(续)分数(MCF)算法。文档在线提供。这是一个PIP包,因此可以按如下方式安装:

sage-pip安装slabbe

回想一下,下面的尺寸\(d\)是线性的,\(d-1\)是对应投影算法的空间维度。

从可选软件包中导入Brun、Selmer和Arnoux-Rauzy-PoincaréMCF算法:

圣人:  slabbe.mult_cont_frac 进口 布伦, 塞尔默, ARP协议

在单个轨道上计算前两个Lyapunov指数:

圣人: 布伦(昏暗的=3).lyapunov指数(n次迭代=10^7)
(0.30473782969922547, -0.11220958022368056, 1.3682167728713919)

起点是随机的,但结果是三元组的形式\((theta_1,theta_2,1-\theta_2/\theta_1)大致相同:

圣人: 布伦(昏暗的=3).lyapunov指数(n次迭代=10^7)
(0.30345018206132324, -0.11171509867725296, 1.3681497170915415)

增加维度\(d\)将产生:

圣人: 布伦(昏暗的=4).lyapunov指数(n次迭代=10^7)
(0.32639514522732005, -0.07191456560115839, 1.2203297648654456)
圣人: 布伦(昏暗的=5).lyapunov指数(n次迭代=10^7)
(0.30918877340506756, -0.0463930802132972, 1.1500477514185734)

它在大约0.5秒内执行长度为10 ^7的轨道\(10^8)大约5秒,长度大约50秒:

圣人: %时间 布伦(昏暗的=3).lyapunov指数(n次迭代=10^7)
中央处理器 : 用户 540 毫秒, 系统: 0 纳秒, 全部的: 540 毫秒
墙壁 时间: 539 毫秒
(0.30488799356325225, -0.11234354880132114, 1.3684748208296182)
圣人: %时间 布伦(昏暗的=3).lyapunov指数(n次迭代=10^8)
中央处理器 : 用户 5.09 , 系统: 0 纳秒, 全部的: 5.09 
墙壁 时间: 5.08 
(0.30455473631148755, -0.11217550411862384, 1.3683262505689446)
圣人: %时间 布伦(昏暗的=3).lyapunov指数(n次迭代=10^9)
中央处理器 : 用户 51.2 , 系统: 0 纳秒, 全部的: 51.2 
墙壁 时间: 51.2 
(0.30438755982577026, -0.11211562816821799, 1.368331834035505)

下面,我必须承认我需要对我的包,因此下面的代码在版本中不起作用0.6我会的在接下来的几天里更新我的包,以便下面的计算可以复制:

圣人:  斯拉贝·利亚普诺夫 进口 利亚普诺夫比较表

对于每一个\(3\leq d\leq 20\),我计算30个轨道,并显示最多有效数字和计算出的30个值的标准偏差。

对于Brun算法:

圣人: 阿尔戈(algos) = [布伦(d日) 对于 d日 在里面 范围(3,21)]
圣人: %时间 lyapunov比较表(阿尔戈(algos), n轨道=30, n次迭代=10^7, ncpus公司=8)
中央处理器 : 用户 190 毫秒, 系统: 2.8 , 全部的: 2.99 
墙壁 时间: 6最小值 31
  算法\#环绕$\theta_1$(std)$\theta _2$(std)$1-\theta _2/\theta _1$(std)
+-------------+----------+--------------------+---------------------+-----------------------------+
  布伦 (d日=3)    30         0.3045 (0.00040)     -0.1122 (0.00017)     1.3683 (0.00022)
  布伦 (d日=4)    30         0.32632 (0.000055)   -0.07188 (0.000051)   1.2203 (0.00014)
  布伦 (d日=5)    30         0.30919 (0.000032)   -0.04647 (0.000041)   1.1503 (0.00013)
  布伦 (d日=6)    30         0.28626 (0.000027)   -0.03043 (0.000035)   1.1063 (0.00012)
  布伦 (d日=7)    30         0.26441 (0.000024)   -0.01966 (0.000027)   1.0743 (0.00010)
  布伦 (d日=8)    30         0.24504 (0.000027)   -0.01207 (0.000024)   1.04926 (0.000096)
  布伦 (d日=9)    30         0.22824 (0.000021)   -0.00649 (0.000026)   1.0284 (0.00012)
  布伦 (d日=10)   30         0.2138 (0.00098)     -0.0022 (0.00015)     1.0104 (0.00074)
  布伦 (d日=11)   30         0.20085 (0.000015)   0.00106 (0.000022)    0.9947 (0.00011)
  布伦 (d日=12)   30         0.18962 (0.000017)   0.00368 (0.000021)    0.9806 (0.00011)
  布伦 (d日=13)   30         0.17967 (0.000011)   0.00580 (0.000020)    0.9677 (0.00011)
  布伦 (d日=14)   30         0.17077 (0.000011)   0.00755 (0.000021)    0.9558 (0.00012)
  布伦 (d日=15)   30         0.16278 (0.000012)   0.00900 (0.000017)    0.9447 (0.00010)
  布伦 (d日=16)   30         0.15556 (0.000011)   0.01022 (0.000013)    0.93433 (0.000086)
  布伦 (d日=17)   30         0.149002 (9.5e-6号机组)    0.01124 (0.000015)    0.9246 (0.00010)
  布伦 (d日=18)   30         0.14303 (0.000010)   0.01211 (0.000019)    0.9153 (0.00014)
  布伦 (d日=19)   30         0.13755 (0.000012)   0.01285 (0.000018)    0.9065 (0.00013)
  布伦 (d日=20)   30         0.13251 (0.000011)   0.01349 (0.000019)    0.8982 (0.00014)

对于Selmer算法:

圣人: 阿尔戈(algos) = [塞尔默(d日) 对于 d日 在里面 范围(3,21)]
圣人: %时间 lyapunov比较表(阿尔戈(algos), n轨道=30, n次迭代=10^7, ncpus公司=8)
中央处理器 : 用户 203 毫秒, 系统: 2.78 , 全部的: 2.98 
墙壁 时间: 6最小值 27
  算法\#轨道$\teta_1$(标准)$\teta_2$(标准)$1-\theta_2/\theta_1$(标准)
+---------------+----------+--------------------+---------------------+-----------------------------+
  塞尔默 (d日=3)    30         0.1827 (0.00041)     -0.0707 (0.00017)     1.3871 (0.00029)
  塞尔默 (d日=4)    30         0.15808 (0.000058)   -0.02282 (0.000036)   1.1444 (0.00023)
  塞尔默 (d日=5)    30         0.13199 (0.000033)   0.00176 (0.000034)    0.9866 (0.00026)
  塞尔默 (d日=6)    30         0.11205 (0.000017)   0.01595 (0.000036)    0.8577 (0.00031)
  塞尔默 (d日=7)    30         0.09697 (0.000012)   0.02481 (0.000030)    0.7442 (0.00032)
  塞尔默 (d日=8)    30         0.085340 (8.5电子-6)    0.03041 (0.000032)    0.6437 (0.00036)
  塞尔默 (d日=9)    30         0.076136 (5.9e-6条)    0.03379 (0.000032)    0.5561 (0.00041)
  塞尔默 (d日=10)   30         0.068690 (5.5电子-6)    0.03565 (0.000023)    0.4810 (0.00032)
  塞尔默 (d日=11)   30         0.062557 (4.4e-6段)    0.03646 (0.000021)    0.4172 (0.00031)
  塞尔默 (d日=12)   30         0.057417 (3.6电子-6)    0.03654 (0.000017)    0.3636 (0.00028)
  塞尔默 (d日=13)   30         0.05305 (0.000011)   0.03615 (0.000018)    0.3186 (0.00032)
  塞尔默 (d日=14)   30         0.04928 (0.000060)   0.03546 (0.000051)    0.2804 (0.00040)
  塞尔默 (d日=15)   30         0.046040 (2.0e-6页)    0.03462 (0.000013)    0.2482 (0.00027)
  塞尔默 (d日=16)   30         0.04318 (0.000011)   0.03365 (0.000014)    0.2208 (0.00028)
  塞尔默 (d日=17)   30         0.040658 (3.3电子-6)    0.03263 (0.000013)    0.1974 (0.00030)
  塞尔默 (d日=18)   30         0.038411 (2.7e-6条)    0.031596 (9.8e-6段)     0.1774 (0.00022)
  塞尔默 (d日=19)   30         0.036399 (2.2e-6页)    0.030571 (8.0e-6段)     0.1601 (0.00019)
  塞尔默 (d日=20)   30         0.0346 (0.00011)     0.02955 (0.000093)    0.1452 (0.00019)

对于Arnoux-Rauzy-Poincaré算法:

鼠尾草: 阿尔戈(algos) = [ARP协议(d日) 对于 d日 在里面 范围(3,21)]
圣人: %时间 lyapunov比较表(阿尔戈(algos), n轨道=30, n次迭代=10^7, ncpus公司=8)
中央处理器 : 用户 226 毫秒, 系统: 2.76 , 全部的: 2.99 
墙壁 时间: 13最小值 20
  算法\#环绕$\theta_1$(std)$\theta _2$(std)$1-\theta _2/\theta _1$(std)
+--------------------------------+----------+--------------------+---------------------+-----------------------------+
  阿诺克斯-劳西-庞加莱\e(d=3)30 0.4428(0.00056)-0.1722(0.00025)1.3888(0.00016)
  阿诺克斯-劳西-庞加莱\e(d=4)30 0.6811(0.00020)-0.16480(0.000085)1.24198(0.000093)
  阿诺克斯-劳西-庞加莱\'e(d=5)30 0.7982(0.00012)-0.0776(0.00010)1.0972(0.00013)
  阿诺克斯-劳西-庞加莱\e(d=6)30 0.83563(0.000091)0.0475(0.00010)0.9432(0.00012)
  阿诺克斯-劳西-庞加莱\e(d=7)30 0.8363(0.00011)0.1802(0.00016)0.7845(0.00020)
  阿诺克斯-劳西-庞加莱\e(d=8)30 0.8213(0.00013)0.3074(0.00023)0.6257(0.00028)
  阿诺克斯-劳兹-庞加莱\e(d=9)30 0.8030(0.00012)0.4205(0.00017)0.4763(0.00022)
  阿诺克斯-劳西-庞加莱\e(d=10)30 0.7899(0.00011)0.5160(0.00016)0.3467(0.00020)
  阿诺克斯-劳西-庞加莱\e(d=11)30 0.7856(0.00014)0.5924(0.00020)0.2459(0.00022)
  阿诺克斯-劳西-庞加莱\e(d=12)30 0.7883(0.00010)0.6497(0.00012)0.1759(0.00014)
  阿诺克斯-劳西-庞加莱\e(d=13)30 0.7930(0.00010)0.6892(0.00014)0.1309(0.00019)
  阿诺克斯-劳西-庞加莱\e(d=14)30 0.7962(0.00012)0.7147(0.00015)0.10239(0.000077)
  阿努-劳兹-庞加莱\e(d=15)30 0.7974(0.00012)0.7309(0.00014)0.08340(0.000074)
  阿诺克斯-劳西-庞加莱\e(d=16)30 0.7969(0.00015)0.7411(0.00014)0.07010(0.000048)
  阿诺克斯-劳西-庞加莱\'e(d=17)30 0.7960(0.00014)0.7482(0.00019)0.06005(0.000050)
  阿诺克斯-劳西-庞加莱\'e(d=18)30 0.7952(0.00013)0.7537(0.00014)0.05218(0.000046)
  阿诺克斯-劳西-庞加莱\e(d=19)30 0.7949(0.00012)0.7584(0.00013)0.04582(0.000035)
  阿诺克斯-劳西-庞加莱\e(d=20)30 0.7948(0.00014)0.7626(0.00013)0.04058(0.000025)

使用以下代码计算上图:

圣人: brun_列表 = [1.3683, 1.2203, 1.1503, 1.1063, 1.0743, 1.04926, 1.0284, 1.0104, 0.9947, 0.9806, 0.9677, 0.9558, 0.9447, 0.93433, 0.9246, 0.9153, 0.9065, 0.8982]
圣人: 销售商列表 = [ 1.3871, 1.1444, 0.9866, 0.8577, 0.7442, 0.6437, 0.5561, 0.4810, 0.4172, 0.3636, 0.3186, 0.2804, 0.2482, 0.2208, 0.1974, 0.1774, 0.1601, 0.1452]
圣人: arp_列表 = [1.3888, 1.24198, 1.0972, 0.9432, 0.7845, 0.6257, 0.4763, 0.3467, 0.2459, 0.1759, 0.1309, 0.10239, 0.08340, 0.07010, 0.06005, 0.05218, 0.04582, 0.04058]
圣人: brun_points(深色点) = 列表(列举(brun_列表, 开始=3))
圣人: 销售点(_P) = 列表(列举(销售商列表, 开始=3))
鼠尾草: arp点 = 列表(列举(arp_列表, 开始=3))
圣人: G公司 = 绘图()
圣人: G公司 += 情节(1+1/(x个-1), x个, 3, 20, 图例_标签='最佳算法:$1+1/(d-1)$', 线型=“虚线”, 颜色=“蓝色”, 厚度=3)
圣人: G公司 += 线([(3,1), (20,1)], 颜色=“黑色”, 图例_标签=“强收敛阈值”, 线型=“虚线”, 厚度=2)
圣人: G公司 += 线(brun_points(深色点), 图例标签=“布鲁恩”, 颜色=“青色”, 厚度=3)
圣人: G公司 += 线(销售点(_P), 图例_标签=“塞尔默”, 颜色=“绿色”, 厚度=3)
圣人: G公司 += 线(arp点, 图例_标签=“ARP”, 颜色=“红色”, 厚度=3)
圣人: G公司.伊敏(0)
圣人: G公司.轴_标签([“$d$”,''])
圣人: G公司.显示(标题='前2个Lyapunov指数的计算:值$1的比较-\\θ_2/\\θ_1$\n个对于$d$-维MCF算法,Brun、Selmer和ARP只需$3\\leq d(发光二极管)\\leq 20美元)

Sébastien Labbé,2020年3月27日下午01:00