数列的概念与两种刻画
按次序排成一列的数叫做数列,第一个位置上的数是首项,第 个位置上的数记作 。次序是数列的要件: 与 是两个不同的数列,而作为集合它们相等。数列也允许重复, 是一个合法的数列,对应的集合却只有一个元素。
1 · 数列作为函数
把位置 看作自变量、 看作函数值,数列就是一个定义域为正整数集 的函数。这个视角把函数一章的全部工具接了过来:单调性、有界性、最值的定义逐字照搬,只是自变量不再连续取值。
图象因此不是一条曲线,而是一列孤立的点 。点与点之间没有函数值,连线只是辅助阅读的视觉手段,不代表中间取值。 的图象是逐渐贴近横轴的一串点,它永不与横轴相交,也没有第 项。
2 · 通项公式与递推公式
通项公式把 直接写成 的表达式,代入即得任意一项。递推公式给出首项与相邻项之间的关系,要得到 就得从 逐步算过去。
例 2.1 数列 的通项公式是 ,递推公式是 、。两者刻画同一列数:前者一步到位,后者需要迭代 次。
两种刻画不总能互换。斐波那契数列 、 的通项公式存在(比内公式),但含无理数 的幂,用它算整数项反倒要处理舍入;而 这类递推就没有初等的通项公式。反过来, 有通项而它的递推关系 并不比通项好用。递推数列与不动点法 处理的是能互换的那一部分。
3 · 单调性与有界性
数列的单调性看相邻两项之差: 对一切 成立即递增。若各项同号,也可以看比值 与 的大小。
有界性指存在一个 使 对一切 成立。 递减且有界(), 不单调但有界, 递增而无界。三个例子说明单调与有界互不包含。
注 · 单调性的判断必须对一切 成立,前几项的趋势不足为据。 的前几项 一路下降, 之后却转为上升: 比 大。这条数列在 上既不递增也不递减,它只是先减后增。
4 · 下标从 1 起与数组下标的错位
数列的下标从
起,而 JavaScript 数组的下标从
起,两者恒差一位。core/seq.ts 的取值函数 a(n) 按数学约定接受
,而 terms(s, n) 返回的数组第
位存的是
。这个错位是本系列实现里唯一的约定性风险——写错一位不会报错,只会让所有结论整体平移一项,而平移后的数列往往仍然「看起来对」。单测因此专门有一条钉住它:terms(arithmetic(5, 3), 4) 必须等于 [5, 8, 11, 14],且 s.a(1) 必须是 5 而不是 8。
同样的错位出现在求和上。partialSums 返回的数组第
位是
而不是
:数列里没有第
项,
只在推导
时作为约定出现,且那条式子本身在
处失效,须单独验证
。
5 · 参考文献
- Sequence. Wikipedia. 数列的定义、下标约定与作为函数的表述。https://en.wikipedia.org/wiki/Sequence
- Recurrence relation. Wikipedia. 递推关系的定义,以及它与通项公式的关系。https://en.wikipedia.org/wiki/Recurrence_relation
- Fibonacci sequence. Wikipedia. 斐波那契数列与比内公式。https://en.wikipedia.org/wiki/Fibonacci_sequence