首页 >> 数学 >> 文章

多项式的根之美Comments>>

发表于 2009-12-10 11:20 | Tags 标签:, , ,

deg5木遥按:这是美国数学家 John Baez 今年 11 月 14 日在他的网页上贴出来的一篇文章(原文),很快引起了许多人的兴趣。标题中的“根”是指数学中一个多项式的解。如果你还没有忘光你的高中数学课,就应该知道下面这两个事实:任何一个多项式在复数域中必有根,并且每个复数都可以在复平面上对应于一个点。这样,给定一系列多项式,我们就可以把它们的根都画在复平面上,从而形成一些特定的图案。请放心,即使你对多项式毫不了解,也不会妨碍你欣赏这些图案之美的。也许你曾经听说过经典的曼德布洛特集合(Mandelbrot set),那你很容易就能在这里看到某些相似之处。所不同的是,人们对这些新的图案还所知甚少。

下面所有括号中的文字都是我所添加,以帮助不熟悉复平面的朋友了解所说那些的点的位置。每幅图都可以点击放大。


我的朋友 Dan Christensen 发现了一幅令人赞叹的图画(见题图)。它是由所有系数为 -4 到 4 之间的整数的 5 次以下多项式的根在复平面上的对应点构成的。

点击图片可以看大图。二次多项式的根是灰色的,三次多项式的根是青蓝色的,四次多项式的根是红色的,五次多项式的根是黑色的。横轴是实轴,纵轴是虚轴,中间的大洞的中心是原点。两侧小一点的洞的中心是 ±1,在 ±i 处和 1 的所有六个虚根出也各有一个小洞(即中间那个大洞上下不远处对称的那些小洞)。

你可以在这里看到许多迷人的图案,给人的感觉是这些整系数多项式的根在竭力避开那些整点和单位根似的,──除非这些整点和单位根本身就是多项式的根。如果你把图案放大,可以看到更多细节:

deg5_closeup

在这里你可以看到,在 1 这个点所在的空白区域周围环绕着一些美丽的羽毛,在 exp(iπ/3) 这个点周围有一个六瓣的星形(即左上角那个梅花形状的洞),还有一条奇特的红色连线把这两个点连接起来,还有很多其他的点周围的星形的洞,诸如此类。

人们应该开始研究这些东西才对!让我们把所有系数为 -n 到 n 之间的整数的 d 次以下多项式的全体根构成的集合称为 Christensen 集 Cd,n,很显然当 d 和 n 越大, Cd,n 这个集合就越大,并且当 n 趋于无穷大时这个集合趋于布满全复平面。如果固定 d, 令 n 趋向于无穷大,那么我们就能得到全体有理复数;如果令 d 和 n 同时趋于无穷大,那么我们就能得到全体代数复数。于是一个有趣的问题就是,如果我们固定 n,令 d 趋于无穷大,会得到什么呢?

在上面这些图片的鼓舞下,Sam Derbyshire 决定绘制一些分辨率更高的多项式根的图片。试验了几次之后,他觉得他最喜欢的是系数为 ±1 的多项式。他把所有 24 次以下的这样的的多项式的根绘制成一副高清晰度的图片,这些多项式一共有 224 个,其根大约共有 24 × 224 个,也就是大约四亿个。他用 mathematica (一个数学软件)花了大概四天时间才计算出所有这些根,得到了大约 5G 的数据。然后他用 Java 语言生成了这幅美妙的图案:

polynomialrootssmall

颜色表示根的密度,从黑色到暗红色到黄色再到白色。上图是低分辨率版本,这里有一个 90M 的文件可供下载。我们可以放大一点看到更多细节:

polynomialroots_closeup

请注意单位根周围的那些小洞,还有圆弧内部的那些羽毛。为了更清楚地观察,我们把下面这些标记出来的区域放大:

polynomialrootscrops

这里是 1 这个点处的那个洞。(即上面最右边那个标记出来的区域。)

polynomialroots1

中间那条白线是实轴。这是因为有非常多的多项式根都是实数。

然后这里是 i 这个点处的洞。(即最上面那个标记区域。)

polynomialrootsi

这是 exp(iπ/4) 这个点周围。(差不多位于 1 和 i 正中央。)

polynomialrootsexpi025p

请注意,根的密度在接近这个点的时候会变大,然后又突然变小。可以看到这些密度所形成的微妙的图案。

但是更漂亮的是当我们来到单位圆内部时的那些羽毛状图案!这里是实轴附近的样子,这个图的中心位于 4/5 点处。(右边数第二个标记区域。)

polynomialroots08

在 (4/5)i 点处的样子就截然不同了。(从上数第二个标记区域。)

polynomialroots08i

但是我觉得最漂亮的还要说是 (1/2) exp(i π / 5) 这个点周围的区域。(剩下的那个标记区域。)这幅图生动的展示出,在我们的数学研究中,规律性是如何从一团混沌中逐渐成型的,就像从薄雾中隐约显现出来一样。

polynomialroots05expi02

这里有太多东西需要解释了,每幅图片都至少需要一两个定理来描述。如果想看到更多的这类结果,可以参见:

Loki Jörgenson, 限定系数多项式的根 以及 相关图片
Dan Christensen,整系数多项式的根的图案

0
为您推荐

78 Responses to “多项式的根之美”

  1. sunny0302说道:

    我赞!!这是宇宙终极理论的视觉效果吗?
    所有的问题,换个角度看,也许看到的会更美更惊叹

  2. lalunasun要改文说道:

    天啊,太漂亮了!!!
    我觉得第一幅图好像π键啊,肩并肩。。。
    大赞一个!

  3. gentboy说道:

    很漂亮

  4. 说道:

    好木遥,美丽的东西不要只是自己看,一定要多分享啊。

  5. 说道:

    啊 我还发现 此君的名字和Joan Baez好接近啊 是一家的吗?

  6. maokk说道:

    现在又多理解了一点万变不离其中的“万变”了。

  7. fantl说道:

    原来数学也可以这样美啊,呵呵。要是像这样来普及那些深奥晦涩的理论与学科,我想科普就变得有趣,简单,更容易被大家所接受啦,赞一个!

  8. Cielo说道:

    呵呵在nl上先参观过一次了,再来看看新的解释!

  9. digiter说道:

    太美了:)

  10. zhuoqun说道:

    木遥出品的~~ 一定要顶~~~

    好久没看到木遥的东西了~~~~

  11. 张撞鹿说道:

    前两幅真是漂亮。另外:
    我们就可以把它们的根都”花“在复平面上。

    画?

  12. yanlong说道:

    第一次留言,真被这些美丽的东东震撼了!

    科学,这就是科学吗?隐藏在日常生活这下的规律竟是如此的美妙!

    通过松鼠们的努力,我逐渐对科学产生了兴趣。谢谢你们!

  13. c2blog说道:

    有感性认识,是好的。

  14. 史蒂芬说道:

    帅~~~
    外国科学家果然会玩

  15. YB++说道:

    开一个艺术展……

  16. DD说道:

    请问那个90M的文件有谁下了?我打不开网页....

  17. 白左说道:

    好漂亮。。。exp(iπ/4)点附近的密度构造很像电子云,切面分布还像粒子在一维有限势阱的薛定谔方程的常态解。。。。这里面有什么深层次的联系么。。。。太美妙了。。。

    我可不可以猜测,在1和-1处有大洞,在1/2,-1/2有稍小的洞,在更细化的有理数处洞的大小和分数形式的简洁程度成正比?最后形成分形一样的构造。。。。有无限个洞,所以,这个图像的面积是无穷小的。。。。

    可以带链接转载不~我想贴到学校的BBS上去~;)

  18. sheldon.li说道:

    比黑洞解好看多了

  19. wbbsc说道:

    太美了,实在没法形容。还有曼德布洛特集合也很美丽。

  20. ddelphi说道:

    terrific!

  21. conwood说道:

    好文,喜欢。

  22. 喜羊羊和一休哥说道:

    好图啊,可惜解释看不大懂。但一定得顶啊!

  23. 0.618说道:

    数学没看太懂,但能体会到那种美感。啊~~~我改补补数学啦!!!

  24. [...] Posted 多项式的根之美. [...]

  25. 蚯蚓说道:

    初中的我含泪飘过。。。。。。

  26. Metaverse说道:

    这个跟孟德伯洛特集有些差别,那个是递归的,而且还有自相似。。。

  27. kcno说道:

    beautiful

  28. 小姬说道:

    好美~~~~~@_@
    数学之美真令人惊叹!这个世界好奇妙啊~~~~~~~
    赞木遥!

  29. karl说道:

    本科时教代数的老师展示了他博士研究分形的一些成果,第一次看到那些图片时觉得这个世界真的太奇妙了。大家可以去google”分形“看看。

  30. Ariel说道:

    谢谢分享这一信息,它使晦涩的数学变得更有趣,让我们有进一步探索的欲望。

  31. 偶嗒咦哆说道:

    这个要什么样的多项式才能解出这么多根?

    • 跳跳蟒说道:

      就我的理解,它不是一个多项式在战斗

      • 格致说道:

        是啊,盖为每个多项式都能战斗出一丝蜿蜒,那一群多项式能战斗出一片蓝天也就不足为奇了,只是未曾料到竟至如此绚丽......

  32. MR说道:

    我是菜鸟,我就很诧异图形怎么得出来的,,颜色怎么算的,,
    不是你早设定好了一个映射颜色吗,所以你的数字出来然后根据这个映射规律成图。
    所以图是不是太主观,,如果我定个别的映射规律,那图是不是完全又不同了。。。

  33. 说道:

    哈哈,看到本行的东西了,开心呢
    木遥达人做什么方向研究呢?
    代数么?
    回头弄篇分型的文章给大家看哈,更是惊艳呢
    多项式的美外行能看见的有冰山一角
    真正有多美,数学人自己知道
    加油哦,顶你哈

  34. yakelamaga说道:

    高中也用几何画板把好几个方程的曲线画出来,不过最多也就是十几条曲线同时在一个坐标上而已,这个也太震撼了...
    p.s.那个90M的图怎么下不下来呢...

  35. na说道:

    数学大一新生飘过

  36. 胡凡说道:

    这些图案很像时空通道出现时,虫洞口的景象,是一个从大到小的渐进过程,自然界很多东西都是相通的。

  37. 引擎制造商说道:

    我想起Dimensions了……

  38. 耳然说道:

    这个网址有完整的PNG下载:
    http://jdc.math.uwo.ca/roots/

  39. wolfenstein说道:

    感觉似乎自然界与数学之间有某种神秘的联系。
    我们能否求证出花或者雪花形成所遵循的数学规律?

  40. 住持说道:

    从这个图我想到了先有自然数,后有素数,很奇怪的结论。

  41. 住持说道:

    76=7+11+17+41

  42. a-dai说道:

    外行问一句,是跟分形有关么?

  43. snowflakes说道:

    真好看……无数次看到这些东西就难以抑制学基础数学的冲动……

    然则,真正的去做研究,是要枯燥很多的吧……

    无比纠结中……

  44. [...] 文章来源:http://songshuhui.net/archives/23604.html 标签: 发表评论 | Trackback 目前还没有任何评论. [...]

  45. 说道:

    我们是不是可以画出宇宙?

    我觉得宇宙是数学,万物皆数学。数学是万物的规律。

  46. Cosmosking说道:

    不懂╮(╯▽╰)╭

  47. chen说道:

    有用mathematics算它的程序吗

    • yang_bigarm说道:

      这个图我上《数学实验》课的时候画过了,下面这个就是程序。没有考虑对称解
      的情况下作优化。

      注:第一个参数 rank 用来设定多项式的次数,你该24就得到原文中的那个图像了,但是要美化成那个样子就不是我所能作的了。 rank=14就可以看到羽毛的形状了。

      ListPlot[pts2] 画出的点去掉了所有实数解,含有实数解的话,图有点扁。

      rank = 14;
      zeros = Table[0, {rank}];
      s = Table[x^k, {k, 0, 20}][[1 ;; rank + 1]];
      cod = Table[IntegerDigits[k, 2], {k, 0, 2^rank}] /. {0 -> -1};
      codd = Take[Join[#, zeros], rank + 1] & /@ cod;
      ans = Flatten[
      Table[NSolve[Dot[s, codd[[i]]] == 0], {i, 1, Length[codd]}]];
      pts1 = {Re[#], Im[#]} & /@ (#[[2]] & /@ ans);
      pts2 = Cases[#[[2]] & /@ ans, Complex[x_, y_] -> {x, y}];
      ListPlot[pts1, PlotStyle -> PointSize[0.0005], AspectRatio -> 0.8,
      Axes -> False]

  48. amou说道:

    怎么下载呢?

  49. 老绵羊说道:

    你好,你在博文说那个90M的图形可以下载,但是我点击你给出的链接,没法下载。请问能用QQ或者QQ邮箱发给我吗?402698576

  50. yang_bigarm说道:

    刚才想了一下有了所有的数据之后,这个图怎么画出这个效果来的,结果发现美化效果比画图本身还要难。

    上面说按点的密度来染色,那么就可以对每一个点,求出它周围有多少个其他的点,然后给该点赋予一个color值,可是要求出一个点周围有多少个点这个太麻烦了。采用某种能量函数可不可以呢?

  51. hkkhhk说道:

    我重复了一次,用C++也算了4天,不给力啊,可能是i5 的CPU,每个进程只能用到25%的性能
    发现此图的颜色是修改过的
    原图暗的多了

    比如某个像素的解个数为n,所有像素解个数最大值为nmax
    那么某个点的原颜色值为n/nmax
    而修改过的图颜色值为n/nmax * 500 (大概在500-800之间)

    然后我来解释下颜色的生成
    RGB颜色值有3字节,每个通道1字节,也就是256种状态
    0是最暗,255是最亮
    这种染色方式好像叫黑体
    从最暗到最亮有765种状态,所以让n/nmax*764
    n/nmax*764 在 0-254的话,R通道颜色值就是 n/nmax*764,其他2个通道为0
    如果在255-509,R通道为255,G通道为n/nmax*764 - 255,B通道为0
    如果在510-764,R\G通道为255,B通道为n/nmax*764 - 510

  52. 胡亚南说道:

    我试着画了一个龙的图案,matlab程序是
    clc;
    clear all;
    z=0.372-0.547i;
    k=0;
    fz=0;
    range=1:100;
    for a=range
    for b=range
    k=k+1;
    for c=1:50 %一般50次迭代就收敛了
    if mod(c,round(rand(1)))<1 %这里的转换规则是我自己瞎写的,不同的规则对应龙中不同的点
    fz=1+z*fz;
    else
    fz=1-z*fz;
    end
    end
    dragon(k)=fz;
    end
    end
    plot(dragon,'r.');
    axis equal;
    很白痴,但还好,跟大哥画的一样。
    把z改成0.8+0.1i就是羽毛形状了。
    绝对最终形状的就是初值z,大家可以试试不同的z得到什么结果

  53. 胡亚南说道:

    国内摄影论坛和国外的区别
    1.风光照

    外国论坛:请教这张的后期制作方法?因为我觉得这张花朵的颜色很好,并没有像我拍的那样产生红色溢出。然后就是LZ回答,教程之类的..

    中国论坛:什么镜头拍的?毒!德味!大师!学习了!

    2.人像照

    外国论坛:请教这张照片您是如何做到在室内拍人像时候能够如此清晰地把窗外树的影子做为背景的?你在院子里布光了么?然后就是LZ回答,贴图解释布光过程..

    中国论坛:什么镜头拍的?毒!德味!大师!学习了!

    3.植物照

    外国论坛:我一直想要拍摄前景清晰背景运动照片,请问您如何做到的?LZ回答如何拍摄运动中的微距照..

    中国论坛:什么镜头拍的?毒!德味!大师!学习了!

    4.宠物照

    外国论坛:你好,我家里也有一只同样品种的狗狗,但拍摄时候总动。我在想您用什么方式对它进行布光?因为我好像听说用闪光灯对宠物的眼睛并不好。之后LZ进行解释,并推荐了几款廉价的灯光设备..

    中国论坛:什么镜头拍的?毒!德味!大师!学习了!

    5.纪实照

    外国论坛:感谢作者能够让我们体会到从未体会过的状态,先前我一直对这些群体的人抱有反感,现在看来是我的不理解造成的。LZ表示感谢关注,如何如何..

    中国论坛:什么镜头拍的?毒!德味!大师!学习了!

    6.人体照

    外国论坛:太神奇了,我都没有发现在光线的作用下我们的身体可以这么奇妙,即便是皱纹也显得那么有吸引力。LZ开始解释拍摄意图和技术..

    中国论坛:求套图。

  54. 胡亚南说道:

    原文http://math.ucr.edu/home/baez/roots/
    我试着画了一个龙的图案,matlab程序是
    clc;
    clear all;
    z=0.372-0.547i;
    k=0;
    fz=0;
    for a=1:10^4
    k=k+1;
    for b=1:50 %一般50次迭代就收敛了
    if mod(b,round(rand(1)))<1 %这里的转换规则是我自己瞎写的,不同的规则对应龙中不同的点
    fz=1+z*fz;
    else
    fz=1-z*fz;
    end
    end
    dragon(k)=fz;
    end
    plot(dragon,'r.');
    axis equal;
    很白痴,但还好,跟大哥画的一样。
    把z改成0.8+0.1i就是羽毛形状了。
    绝对最终形状的就是初值z,大家可以试试不同的z得到什么结果

  55. 胡亚南说道:

    原文http://math.ucr.edu/home/baez/roots/
    我试着画了一个龙的图案,matlab程序是
    clc;
    clear all;
    z=0.372-0.547i;
    k=0;
    fz=0;
    for a=1:10^4
    k=k+1;
    for b=1:50 %一般50次迭代就收敛了
    if mod(b,round(rand(1)))<1 %这里的转换规则是我自己瞎写的,不同的规则对应龙中不同的点
    fz=1+z*fz;
    else
    fz=1-z*fz;
    end
    end
    dragon(k)=fz;
    end
    plot(dragon,'r.');
    axis equal;
    很白痴,但还好,跟大哥画的一样。
    把z改成0.8+0.1i就是羽毛形状了。
    绝对最终形状的就是初值z,大家可以试试不同的z得到什么结果

  56. 希吉尔说道:

    有点怀疑第一幅图,我不知道是不是我的错觉,怎么四项式的跟比五项式的跟还要多?难道是五项式的跟比四项式的跟更密才会造成图上大部分是红色区域?对这个有点不解,其余的都还好。果然万物皆分形啊。

  57. 匿名说道:

    看到这些伟大的作品就觉得自己渺小。

Leave a Reply