1:认真对待系列

作者:Kirby Urner
首次发布日期:2000年2月13日
上次修改日期:2003年1月7日

 

一个标志俄勒冈州课程网络该方法侧重于空间几何。例如,在本文中,我强调以下数学事实:

  • 各种各样的数字系列对应于特定包装安排
  • 平方数是两个连续值的总和三角形数字
  • 连续的和二十面体壳数是一个立方八面体数
  • 三角形,广场、和四面体的数字显示在帕斯卡三角
  • 帕斯卡三角连接到黄金比率(φ)通过斐波那契数
  • 这个金色矩形嵌入在二十面体

考虑到这种几何焦点,学生自然会想一些建模。实践项目当然需要各种类型:

形象

当涉及到计算机图形时,我们还需要提供一些硬件和软件工具。一种有希望的方法(使用的方法在本文中)是为了利用以下各项的综合力量:

  • 蟒蛇,一个免费的,具有开发环境的跨平台计算机语言
  • 波夫雷,一个免费的,跨平台光线跟踪包,外加脚本语言
  • HTML格式,一个跨平台用于使文本和图形可浏览的标记语言

形象Python是仅限于在此中扮演与图形相关的角色课程,但作为一个通用的主力军。蟒蛇表示法为各种核心算法(一些可以追溯到数百甚至数千年前年),从而捕捉到“规则”和“规则”的整个概念(使用维特根斯坦的术语)--使用计算机(学生-程序员)扮演“无意识规则”的角色追随者”。

通过将传统的计算机前数学符号补充为一种非常高级的语言(VHLL),我们为学生提供编码规则的互补模式。希望是学生们将学习编写程序作为测试和改进其理解数学概念——将程序视为“数学诗歌”(或作为对这一理想的尝试)。

Python语言(以英国喜剧《巨蟒》命名剧团——尽管蛇的内涵有点夸张嗯)对人类读者来说比大多数读者更容易理解其他语言(例如C/C++),以及它提供的交互式,反应灵敏的环境给学生快速、积极的强化以便正确使用。

例如,下面是生成三角形的简单规则数字:

 定义 (n) :#三角形数n 
    #=n个连续计数数之和(n>=1)    如果n≤1:返回n个其他的:返回n+三(n-1)

上述规则或函数定义(def)返回第n个三角形数,并递归定义,这意味着它调用它自己不断重复,直到完成。

下面是使用它的样子,以及相关的函数,在交互式命令行中:

win32上的Python 1.5.2(#01999年4月13日10:51:12)[MSC 32位(Intel)]版权所有1991-1995 Stichting Mathematisch Centrum,阿姆斯特丹怠速0.5--按F1获取帮助>>> 进口系列>>>系列.tri(10)55
>>>序列.sqr(5)25>>>tetra系列(6)56
>>>fibo系列(10)#L表示一个“长整数”(可能很大)
55升

三角形数字是一种数字,意味着它们与几何形状相关。

如果我们有N个球体,N是一个三角形数,那么这些球体可以被塑造成一个三角形,具有相同数量的球体朝向一侧,如右图所示。

每个连续行包含一个额外的球体,因此第n个三角形数同样是第一个数的和n个正整数。

形象


但这是我们可以用来生成三角形的唯一规则吗数字?不。例如,我们可以简单地使用表达式((n+1)x n)/2表示第n个三角数。

或者,把它放在Python中:

定义 三(2)(n) :#三角数n=n个连续计数数之和
    返回n*(n+1)/2

为什么这个替代方案规则给出三角形数字?

在这个关键时刻,分享一个关于年轻人的故事是很有用的卡尔·弗里德里希·高斯(1777-1855),后来数学家。这个班表现不好,老师布置了每个人都会发现从1到100的所有数字的总和都很忙工作。

年轻的高斯已经才华横溢,写了两行,并补充道它们是这样的(请注意,我们跳过了实际编写和添加大多数数字——他也是):

1 +   2 +   3 + ... + 100100 +  99 +  98 + ... +   1<--反向相同的100个术语--------------------------- 101 + 101 + 101 + ... + 101

很明显,他推论道,我在底部得到了这个数字101行100次。但这是加上我需要的所有数字两次(我添加了系列对自身而言). 那么数字I真正地想要的是100×101=10100/2=5050的1/2。

因此,编写解决方案的更通用方法是:

1 +   2 +   3 + ... +   N个N+N-1+N-2+…+1<--反向相同的N项--------------------------- N+1+N+1+N+1+…+无+1

其中我们将从1到N的所有连续整数相加。In换句话说,我们将N+1加到自身N次,总共N次x(N+1)。但是,这是从两次添加系列开始的(添加它自身)。所以我们真正想要的答案是:

N个连续整数之和=N x(N+1)/2

这个N个连续整数的和是我们已经拥有的确定为三角形数字那么这个关于高斯的故事提供了此备用规则的派生。

请注意,两个连续的三角形数字表示一个平方数。这里是这一事实的简单几何证明,以“ASCII艺术”的形式:

* * * * * *            * * * * * *      *   * * * * *   *   * * * * ** * * * * *          * * * * * *      * *   * * * *    * *   * * * ** * * * * *        * * * * * *      * * *   * * *     * * *   * * ** * * * * *  =   * * * * * *   =  * * * * + * *   =  * * * * + * * * * * * * *    * * * * * *      * * * * *   *       * * * * *   ** * * * * *  * * * * * *      * * * * * *          * * * * * *SQR(N)TRI(N)+TRI(N-1)

因此,我们可以选择使用以下规则,它使用了已定义的功能:

定义 平方米(n) :#平方数=两个连续三角形数之和    返回三(n)+三(n-1)

连续的和三角形数给出了一个四面体数.右图显示6个三角形球形填料,一个在另一个上面。这些层向下折叠为形成一个总面积为1+3+6+10+15+21=56的四面体球体。

同样,我们可以使用递归定义:

定义 四分之一(n) :#四面体数 
    #=n个连续三角形数量之和
    如果n≤1:返回n个其他的:返回四(n-1)+三(n)

注意前面的函数,三(n)是的一部分定义。此函数用于统计第n个三角形层,加上一个四面体中的所有球体层数更少。询问下一个较小的四面体会导致函数调用自身,以此类推直到第一个球体,此时循环停止并允许函数返回累计金额。

形象

改编自图419.30在里面
协同效应由RBF


我们不必局限于这样的递归解决方案然而。为什么不在简单(非递归)循环?当然,这是一个解决方案学生将考虑最简单的:

定义 四氢呋喃(n) :#四面体num=n个连续三角形nos的和总和=0对于在里面范围(1,n+1):总和=总和+三(i)返回总和

我们还有几个到第n个四面体的捷径绕过许多连续三角形求和的数字数字(供进一步阅读节链接到推导):

定义 四氢呋喃(n) :#四面体数=n个连续三角形数之和    
    返回(1.0/6.0)*n*(n+1)*(n+2)定义 四氢呋喃(n) :#四面体数=n个连续三角形数之和f=n-1#使用频率作为变量 
    返回(1.0/6.0)*f**3+f**2+(11.0/6.0)*f+1

正如三角层可能堆叠在一起形成四面体,所以可以将方形层堆叠起来形成一个半八面体,让人想起玛雅金字塔。这些半八面体数将是连续平方和数字。

定义 霍克(n) :#半八面体数=连续正方形的和n    如果n≤1:返回n个其他的:返回hoct(n-1)+平方r(n)

具有核心利益哲学家-建筑师富勒(1895-1983)是二十面体外壳编号,因为这些编号给出了测地线的球体.

二十面体壳包含10f2+2个球体,其中f代表频率并且是球体间距之间沿着任何边缘。例如,5频二十面体壳如右图所示,包含252个球体。

形象

在下面的Python命令行中,参数是沿边的球体——比间隔数多一个(或频率)。

>>>icoshell系列(6)252>>>地图(icoshell系列,[1,2,3,4,5,6,10])[2, 12, 42, 92, 162, 252, 812] 

给定的病毒往往具有二十面体形状的保护性贝壳,这个数字序列也出现在病毒学上:“所有这些事实上,在实际病毒中可以找到这些数字,肯定有12个噬菌体,42用于疣病毒,92用于呼肠孤病毒,162用于疱疹病毒,252代表腺病毒,812代表病毒攻击鹤苍蝇(Tipula或长腿鹤)”-自然历史病毒数量作者:C.H.Andrews(W.W.Norton R Co.,1967)。

形象


我们是怎么得到这个表达式的第10页2+ 2表示二十面体壳?实现这一结果的一种方法是因为二十面体由20个相同的三角形组成面,我们必须添加相同的三角形数三(n)20倍——除此之外,我们必须从总数中减去以平衡用于多次计数。

乘法之后三(n)到20,每--其中有12个--将被计算为5个次数,即过多4次。所以减去4 x 12=48。而且每一次非角边球体--其中有30*(n-2)--将被计算两次。所以减去这个数字。

换句话说二十碳壳是:

定义 图标外壳2(n) :#n个icosa壳数的替代函数
   返回20*三(n)-30*(n-2)-48

如果您替换f+1(频率+1)对于n个在上面的方程式中--记住使用这个表达n(n+1)/2对于三(n)--你会得到第10页2+ 2.

二十面体不填充等半径球体(不是足够的空间),所以它往往是空心的。立方八面体壳另一方面,包含与二十面体壳,填充等半径球体同心层。

我们可以知道为什么二十面体和立方八面体的壳数相同考虑立方八面体和二十面体如何变换(或“变形”)。

形象

图466.00a来自RBF协同效应

形象所示球形填料上面(顶行)从八面体变为二十面体从左向右移动时的构象。在球体下面包装,我们看到使用边和顶点的相同变换--顶点对应于上面一行中的球体。这个当我们从D开始移动时,球体(或顶点)的数量保持不变(d) 至G(G)。这一转变是富勒所称的一个阶段“吉特巴”。

因此,立方八面体数是连续二十面体的和外壳号——序列中的第一项为1——核领域本身。

定义 图标外壳(n) :#二十面体壳中球体的数量 
    #如果沿边有n个球体f=n-1返回10*f**2+2定义 立方体(n) :如果n≤1:返回1返回icoshell(n)+立方(n-1)

是的,还有一个替代的立方八面体函数数字,三次方程式,其推导如下在上提供链接的网页--同时请参阅系列.聚乙烯功能如下所示。

定义 立方2(n) :返回(10.0/3.0)*n**3-5*n**2+(11.0/3.0)*n-1

立方八面体球体填料在这两方面都起着重要作用科学与建筑。其球体中心定义了“面”中心立方晶格”(fcc),在结晶学。在建筑中,这个格子或空间框架是称为“八位字节桁架“,研究人员亚历山大·格雷厄姆·贝尔(1847-1922)等。

每个不在填料边缘的球体都被其他12人。每个球体可以内切在菱形内十二面体,一种填充空间的形状,使得所有相邻的球体在十二面体的面心处是相切的。克卜勒(1571-1630)在这个区域。

形象


从这些不同的数列和相应的球体填充安排,我们现在转向帕斯卡三角,以布莱斯·巴斯卡(1623-1662),中国人也知道。

帕斯卡三角可能被认为是“大中心”之一考虑到我们的数学课程中有多少主题线向它汇聚。


例如,我们知道年轻人艾萨克·牛顿(1642-1727)发现了一个生成的系数(a+b)n个,当展开为多项式时。我们称之为二项式定理.这些相同的系数同样出现在行中n个帕斯卡的三角形。

形象


注意,每个后续行中的条目可以通过以下方式获得在前一行中添加一个或两个条目:同一列加上前一列中的条目(如果有一)。

11   11   2   11   3   3   11   4   6   4   11   5  10   10  5   11   6  15  20   15  6   1

还要注意,第n+1行中的项之和是第n行的总和。考虑到每一项在前一行中,对下一行贡献两次,对向左,向右各一次——每一次的有效加倍术语。

在下面的输出中(以蓝色显示),每个数字后面的“L”将这些指定为“长整数”,表示它们具有能够扩展到比通常多得多的数字可由普通整数数据类型表示。这个区别是计算机科学家比数学家,但这不是把它放在这里的原因,因为“计算+计算机识字”方法试图将这些内容混合起来学科,寻找更强大、更有弹性的基因混合。

>>>船首系列(10)#帕斯卡三角形的第10行(第0行=顶点=1)
[1升、10升、45升、120升、210升、252升、210 L、120升,45升、10 L、1升]
>>>系列集水坑(10)# = 2**10
1024升
>>>船首系列(11)[1L,11L,55L,165L,330L,462L,462L,330L,165L,55L,11L,1L]
>>>sumprow系列(11)#前一个总和的两倍=2**11
2048升

在本次讨论的背景下,特别有趣的是事实上,三角形和四面体数字出现在帕斯卡的按此三角形相关展览.

>>>系列.showpascal(9)#第0-9行(即总共10行)
[1][1, 1][1, 2, 1][1, 3, 3, 1][1, 4, 6, 4, 1][1, 5, 10, 10, 5, 1][1, 6, 15, 20, 15, 6, 1][1, 7, 21, 35, 35, 21, 7, 1][1, 8, 28, 56, 70, 56, 28, 8, 1][1, 9, 36, 84, 126, 126, 84, 36, 9, 1]

注意上述数据中的第三列:1,3,6,10,15。。。三角形数字。在第四列中,我们发现了四面体数字。因此,如果我们有一个算法来生成帕斯卡三角的单个条目(由于二项式定理),那么我们还有另一种获得三角形的方法和四面体数:我们只需按行和列查找它们数字。

定义 聚四氟乙烯(ptri)(n) :#在pascal三角形中查找第n个三角形数    返回帕斯卡(n+1,n-1)定义 普特拉(n) :#查找pascal三角形中的n个四面体数    返回帕斯卡(n+2,n-1)

除了帕斯卡的三角形,让我们考虑帕斯卡的四面体。我们可能会产生采用类似算法的术语:对于N级条目,在N-1级的“接触球体”中添加所有条目(上一个级别)。以下是0-5级:

1     1     1        1          1                11 1   2 2      3 3       4  4             5  5 1 2 1    3 6 3     6 12 6          10 20 101 3 3 1   4 12 12 4      10 30  30 101 4  6  4 1    5 20  30  20 51 5  10  10  5  1

由于“三项式定理”,我们可以计算这些条目直接,无需穿过层。系列.py模块包括功能帕西特,乘客地铁、和帕斯特列夫用于从返回条目、行和级别帕斯卡四面体。再次注意,返回的条目位于“long integer”格式,意味着Python将能够接受我们高水平:

>>>导入系列>>>pasctetlev系列(4)#帕斯卡尔四面体:等级4
[1L](1升)[4升,4升][6L、12L、6L][4升、12升、12 L、4升][1升、4升、6升、4 L、1升]
>>>pasctetrow系列(20,7)#帕斯卡四面体:第7行第20层
[77520升、542640升、1627920升、2713200升、2713000升、16279 20L、542640L、77520L]
>>>pasctet系列(1152735386)#第735行第386列第1152级条目
153202734648260055381959911220228768182939777206572683532896995453595012019385356901114962128680481543994469438986151509280398686149067872965775691312341665617295940798926886877195584936772207524455808589631224564017472927531771447354728258549337406489016851527945571723587571870340468835451201134893776086444129440539661160688461903784323708537577992268337482867315242592929406357422427093983842700869455305611052059364377239516061448390240633752539884483174162285972219972813150889760652564618759185795739538454456326396710167994578717139200000升

让我们考虑一个著名的为命名的数字系列斐波纳契(1170-1250) ...

>>>fibo级数(5)#L表示“长整数”,使用递归方法
5升>>>int(series.fibo(5))#转换long->integer
5
>>>地图(fibo系列,[0,1,2,3,4,5])#map将函数应用于列表
[0L、1L、1R、2L、3L、5L]
>>>map(int,map(series.fibo,range(11))#地图的地图
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55]
>>>地图(fibo2系列,范围(10,20))#使用帕斯卡三角形 
【55升、89升、144升、233升、377升、610升、987升、1597升、2584升、4181升】
>>>地图(fibo3系列,范围(10,20))#使用phi的浮点方法
[55.0, 89.0, 144.0, 233.0, 377.0, 610.0, 987.0, 1597.0, 2584.0, 4181.0]

……通过将两个连续项相加得出每个连续项之前的条款。

而本节的Python模块(系列.py)包含递归生成此序列的算法,它还包括一个规则从帕斯卡三角形中获取斐波那契数,如下图。

以中的第一个条目开始的合计条目第n个行,然后一个一个地往上走,直到你的条目用完--这个和就是第n个斐波那契数。

定义 纤维蛋白2(n) :#使用切过Pascal三角形 
    #返回n个fibonacci数rval=0如果n%2==0:k=n/2其他的:k=(n+1)/2n=n-1对于在里面范围(k):rval=rval+pascal(n-i,i)返回rval公司
形象

本模块还包括计算斐波那契公式直接计算数字,无需对大量术语求和。J.P.M.比奈(1786-1856)通常获得学分首先找到它(它被称为比奈公式),尽管德莫伊夫尔(1667-1754)早就知道了。我变成了知道这个公式与大卫扎克曼,他在他的背景下独立推导出了它拥有调查.

形象


独立再发现在数学中非常典型领土。你的学生应该感到被认可和鼓励当他们自己的推理能力已经使他们发现文学作品中著名的。

#有用常数(用于fibo3)根5=5.0**0.5金=(1+root5)/2.0#与phi相同,命名为与phi()不冲突τ=1/金定义 菲波3(n) :#感谢大卫·扎克曼
    #返回n个fibonacci数字作为浮点
    返回(金**n-(-套)**n)/root5)
关于斐波那契数列,一个有趣的事实是你越走越近fib(n+1)/fib(n)接近希腊字母所象征的黄金比例形象(即。φ,发音).
>>>float(系列.fibo(41))/系列.fibos(40)1.61803398875>>>(1+5**0.5)/21.61803398875

我们会遇到φ在我们的许多几何研究中,包括在下一节文章。它的值也可以表示为表格:

功率因数=1+1-----1 + 1-----1 + 1----1 + ...

连分数给了我们更多探索的机会递归函数定义。下面是一个用于计算Phi的用户提供深度的连续分数:

定义 φ(深度):如果深度>0:返回1.0+1.0/phi(深度-1)其他的:返回1

以下摘自命令行会话的片段演示了用法:

>>>φ系列(1)2>>>φ系列(2)1.5
>>>系列φ(3)1.66666666667>>>φ系列(50)1.61803398875

另一个著名的系列数字是伯努利级数,以雅克·伯努利(1654-1705)--几个强大的伯努利家族的数学家。突然出现伯努利数在数学中,包括给出连续整数和的n+1次多项式第n次方。

例如,下面是m个连续整数与四次幂,对应五次多项式。这个多项式将给出任意整数m>0的正确答案,如下所示只要我们保持n=4。

形象

像斐波那契一样,我们可以用参考帕斯卡三角形中的元素。每个连续行给出序列中的下一个分数(每个伯努利数是有理数,即可以用p/q)的形式表示。

定义伯努利(n) :"""使用pascal三角形中的行,prow(n)in series.py:Bn=伯努利#prow(n)===============================1行01 1行11+2B1=0第2行1+3B1+3B2=0第3行1+4B1+6B2+4B3=0第4行1+5B1+10B2+10B3+5B4=0第5行..."""
    如果n<=长度(_bern):返回_伯尔尼[英]对于k个在里面范围(len(_bern)+1,n+2):行=船头(k)nxtbern=-减少(添加,映射(mul,_bern[:k-1],行[:k-1'))/行[-2]_附加(nxtbern)返回_伯尔尼[英]

算法首先检查缓存,看看我们是否已经有B(n)已存档。如果没有,我们将扩展列表,从上一个列表中选择伯努利数在_bern中,并使用Pascal的连续行计算连续贝努利的三角形。简单地对所有条款进行汇总在仍然未知的伯努利的左边,否定它(即然后除以未知系数。例如:B4=-(1+5B1+10B2+10B3)/5。以下是前10个伯努利数--注意,奇数贝努利在B1后均为0。

>>>地图(系列。伯努利,范围(1,11))[-1.0/2.0, 1.0/6.0, 0.0/1.0, -1.0/30.0, 0.0/1.0, 1.0/42.0, 0.0/1.0, -1.0/30.0, 0.0/1.0, 5.0/66.0]

这个系列.聚乙烯功能将生成n+1次多项式的项乘以m个连续整数的n次方之和,而series.evalpoly系列评估并添加这些术语。我们可以使用系列.西格玛交叉检查结果。例如:

>>>terms=系列poly(15)#每增加到15次方的1…m的总和
>>>条款['(1.0/16.0)*m**16','(1.0/2.0)*m**15',','(-91.0/24.0)*m**12','(143.0/12.0)*m**10','[-429.0/16.0)*m****8','(455.0/12.0)*m**6','(-691.0/24.0)*m**4','
>>>系列评估(术语,11)#计算m=11的总和
5423573025795276
>>>sigma级数(11,15)#交叉检查 
5423573025795276升

艾达拜伦(1815-1852)诗人拜伦勋爵的女儿具有查尔斯巴贝奇(1791-1871)关于可编程的早期设计计算机。她关于巴贝奇差分引擎的论文可能被用来计算伯努利数为她赢得了“第一个计算机程序员”和美国国防部命名1980年为纪念她而使用的Ada计算机语言。

供进一步阅读:

计算机语言资源


俄勒冈.gif-8.3 K
主页