首页 » 数学女孩 » 数学女孩全文在线阅读

《数学女孩》7.5 图书室

关灯直达底部

7.5.1 米尔嘉的解

第二天放学后,在图书室,我旁边坐着米尔嘉。

“虽然我一开始建立了推导公式,”米尔嘉快言快语地说起来,“可算到一半时我改变了方法。”

“啊?你是说你没有解推导公式吗?”我问道。

“嗯,我不解推导公式。因为我找到了很微妙的对应关系。”她答道。

我一打开笔记本,米尔嘉就立刻开始写起来。

“比如说,当 n 为 4 的时候,我们可以以这个式子为例来考虑。

( ( 0 + 1 ) + ( 2 + ( 3 + 4 ) ) )

仔细看这个式子,即使像下面这样去掉后半个括号,也能恢复原貌。

( ( 0 + 1 + ( 2 + ( 3 + 4

能使后半个括号复原完全是因为‘加号连接着前后两项’这一限定条件。”她说。

“原来如此。在第二项出来的地方插入后半个括号就可以了吧。”我考虑片刻后回答道。我算到 ((A + A) + (A + (A + A))) 这步就放弃了,原来还可以变得更简便。

米尔嘉微微咧开嘴笑了笑。

“再进一步,其实连写数字的必要都没有,写成这样就可以了。

( ( + + ( + ( +

这样也可以恢复原貌。在加号的左侧添上数字就可以了,只是最后的 4 会添加在加号的右侧。”

“原来如此。”

“也就是说,要求有几种添加括号的方式,只要求出‘前半个括号’和‘加号’有几种排列组合的可能就好了。就拿 n 为 4 的情况来说吧,问题就变成了求 4 个前半个括号和 4 个加号的排列组合的个数。比如说,用 * 来表 示这 8 个符号。

* * * * * * * *

然后,考虑将其中的哪 4 个 * 变成前半个括号。

( ( * * ( * ( *

接着,再将剩下的符号自动转换成加号。

( ( + + ( + ( +

从这 8 个符号(分别有 4 个括号和加号)中选择 4 个符号变成前半个括号,可以形成 这样的组合情况。当然这是在 n 为 4 的前提下所得出的结论。以一般化的形式说来,从 2n 个符号(分别有 n 个括号和加号)中选择 n 个符号变成前半个括号,可以形成 这样的组合。这样的组合可以用下图来表示,这条弯曲的路线的最短路径的数值和组合的个数是等价的。路线从左下角的 S 开始,一直到达 G 这个终点。用箭头来表示路线的走向,也就是 ( ( + + ( + ( + 这个符号的排列。”米尔嘉说。

“所以呢,接下来是……”她接着说。

“等一下”,我打断了还要继续往下说的米尔嘉。

“米尔嘉,这样解实在太奇怪了。因为这不是从 8 个符号中任意选择 4 个。比如说,无论 4 个括号和加号如何排列,下面这种排列方式都是不可以的,不是吗?

( ( + + + + ( (

画出 ( ( + + + + ( ( 这样的路径一看你就明白了。在这个图中,凡是经过 的路径都不可以计算在内。”

“你还没说完吗?”被我中途打断的米尔嘉气鼓鼓地说。

◎  ◎  ◎

我确实是还没说完。在排列括号和加号的过程中,有这样一个限制条件:加号的个数绝对不可能超过括号的个数。

什么时候会出现加号的个数超过括号的个数的情况呢?正如你所说的,是通过上图中的圆圈 的时候。如果不通过圆圈 ,从 SG 的路线数 量和 Cn 是相等的。

如果不考虑这个限制条件,从 SG 的路线的个数就是 。

那么,如果在从 SG 的过程中穿过一次圆圈 的话,情况会变成什么样呢?

假设第一个穿过的圆圈 的地方为 P,从 P 开始前进的方向都将发生反转。将这几个圆圈 用虚线连接后,你会发现它们形成一条斜线,可以将这条斜线考虑成一面镜子。从 PG 的过程中,原本向右水平移动的话就转变为向上移动,原本向上移动的话就变为向右水平移动。于是,我们得到了点 G' ,而不是点 G

G' 也就是 G 通过镜子的反射得到的点。也就是说,( ( + + + + ( ( 这个组合形式就变成了 ( ( + + + ( + + 的形式。

这么一想,通过圆圈 的所有情况的个数和从 SG' 的线路的个数一一对应。从纵横共有 2n 根短线中选择 n + 1 根横线路径,进行路线组合,也就是 。

这么说来,以下式子就成立了。

Cn =(从 SG 的路径数)-(从 SG' 的路径数)

接下来就是计算了。快算快算,将下降阶乘幂快速运转起来吧。

通分后第二项有点难以理解呢。但思考一下下降阶乘幂的意义就会自然明白,在这里我来做一下补充说明。

分子是这样变形的。将 (n) 这个“小尾巴”提取出来并展开。

接着,分母可以这样变形。这次将 (n + 1) 这个“头部”提取出来并展开。

所以,我们再来计算一下 Cn 的数值,从通分之后的步骤开始。

因此,给有 n 个加号的式子添加括号的方式的个数就是这样的。

好了,这下就完成了一部分工作。那么,我来验算看看。

◎  ◎  ◎

看到米尔嘉如此简便的解法,我一边暗自佩服一边开始计算。

“哇,太厉害了!确实答案是 1, 2, 5, 14 啊!”我惊叹道。

米尔嘉听了我的话,满脸笑容。

解答 7-1

“那我下次听你说!”我说。

7.5.2 研究生成函数

虽然我掉入了米尔嘉的圈套,但她那完美的解答真是令我非常吃惊。我考虑通过生成函数来解题固然没有错,但我只是算到很复杂的有限项代数式那步,好像就无法再往下计算了。我甚至怀疑自己是不是挑战了与自己实力不相符的题目。我求出生成函数那一刻的喜悦顿时被吹得烟消云散了。

真是遗憾啊!我心中有点不服气。

米尔嘉的脸上却露出为难的表情。“哎呀,算了,先说说看吧。算出了推导公式后,接下来该怎么做呢?”她催问我。

我将自己想试着运用生成函数的解法,建立生成函数的乘积关系,然后算出“先相乘后相加”这个形式,最后努力建立一元二次方程式,并终于计算出了生成函数的有限项代数式……一股脑儿地告诉了米尔嘉。能够到生成函数的王国漫步固然很好,但是我却不能再从生成函数的王国返回到数列的王国了。

我真的非常遗憾,感到很不服气。

“喂,你算出的到底是什么式子啊?”米尔嘉问我。

我沉默了。

“嗯?到底是什么式子呀?”她打量着我的脸。

没办法,我只能在笔记本上写出式子。

“嗯,难点好像有两个吧。一个是正负号的部分,另一个是 的部分。”她说。

“这些我当然知道啦。我就是被这两点卡住,算不下去了。”我着急地说。

对于我发急的声音米尔嘉并不理会,很平静地接着说:“首先,我们从正负号开始思考。”

米尔嘉看了一会儿数学公式,闭上眼,低下头。然后,她举起右手食指,朝着天空比划着圈圈。她划着 0,划着 0,划着无穷大,突然她睁开了眼睛,说:“我们回到定义看看吧。生成函数 C(x) 的定义是这样的吧。”

“这么说来,当 x 为 0 的时候,包含 x 的项都被抵消了,所以生成函数就变成了 C(0) = C0,于是,我们再回到你计算出的有限项代数式。”

“这时的 C(0) 会变成怎样呢?”她问道。

“不可以哦。如果分母为 0 的话,除以 0 后,C(0) 就变成无穷大了。”我答道。我已经渐渐平静下来了。我对米尔嘉发急有什么用呢,听她的话又有什么用呢。

“没有,可不是这样的。”米尔嘉缓缓地摇摇头,“一个数是变成了无穷大,而另一个数则不是。C(x) 的两个带有正负号的数字中,我们把那个带正号的数字称为 C+(x),把那个带负号的数字称为 C-(x),这样就可以变形为以下形式。”

“为了不使它们除以 0,我们将分母移项后去掉看看。”

“当 x 为 0 时,上面两个式子的左边都为 0,但一个式子的右边 为 2,而另一个式子的右边 是 0。这说明了什么

呢?”她问道。

“至少说明 C+(x) 不正确吧。”

“嗯。虽然不能说不用再深入对生成函数进行研究了,但至少可以说我们没必要再对 C+(x) 刨根问底了。为了求得最后的公式,我们把目标锁定在生成函数 C-(x) 上。接下来的目标,你认为是什么呢?”她问道。

“对 该怎么处理呢?”我问道。

看着我重新调整了心态,米尔嘉嫣然一笑。

生成函数 C(x) 的有限项代数式

7.5.3 围巾

这时,我突然发现泰朵拉站在图书室门口,正望着我和米尔嘉。她两手拎着一只小纸袋,一动不动地站在那里。她是什么时候站在那里的呀?

我朝泰朵拉轻轻地举了下手,示意我看到她了。她却和往常不同,缓缓地走向我们,一点都没有加快脚步,一脸严肃的样子。

“学长,昨天真是谢谢您了。”泰朵拉轻轻向我道谢,低下头,手指向那个纸袋子。里面整整齐齐地叠放着昨天我借给她的那条围巾。

“啊,没关系,不用客气。你没感冒吧?”我问道。

“嗯,我没关系。多亏您昨天借给我围巾,又和我一起喝了热饮。”泰朵拉边说边朝米尔嘉瞟了瞟。我也随着泰朵拉的目光朝米尔嘉看了看。米尔嘉握着自动铅笔的手停了下来,随后她抬起头,朝小纸袋瞥了一眼,之后便把目光停留在泰朵拉身上。两个女孩就这样沉默着,互相对视着。

谁都不说话。

就这样沉默了几秒钟。

泰朵拉“呼”地吐了口气,又重新将目光转向我,说:“今天真是打扰了。你以后可要再教我数学哦。”泰朵拉朝我点了下头,然后就走开了,当她走到图书室门口时又回头朝我微微致意。

这时,米尔嘉已经把头转向了草稿纸,开始写起了数学公式。

“你想到什么了吗?”我问她。当然,是关于 的。

米尔嘉头也没抬,边写算式边回答我。

“信。”她说。

“什么?”我不明白。

米尔嘉没有停笔,回答我说:“里面有封信。”

我打开包看了看,把手伸进去摸索,围巾下似乎藏着什么。拿出来一看,是张很高级的白色贺卡。为什么米尔嘉会注意到里面有张贺卡呢?贺卡上写着短短的一行字,是泰朵拉的字迹。

谢谢您借给我围巾。围巾很温暖。

泰朵拉

PS:下次我们还去那家叫“豆子”的咖啡店吧。

7.5.4 最后的要塞

我们又回到了原来的问题。

我们已经求得了如下生成函数 C(x) 的有限项代数式。

生成函数 C(x) 的有限项代数式

接下来的问题就是 会变成什么形式。

“我跟不上你解题的速度,米尔嘉。求得了 C(x) 的有限项代数式后,接下来该怎么办呢?在求斐波那契数列的通项公式时,我们是怎么做的?”我问道。

“可以利用 C(x) 的有限项代数式来计算出 xn 的系数。也就是说,需要展开幂级数。”米尔嘉说。

“但是 真是麻烦啊。该怎么处理它呢?”我低声嘀咕着。

“所以只能将幂级数展开了吧。比如说,将系数的数列称为 >,可以进行这样的展开。”米尔嘉边说边写出式子。

“生成函数 C(x) 是这样的。

所以,为了去除分母,我们将分母移项。

因为 ,,替换后可得到下式。

将等式左边的 2x 放入 这个符号里,右边将 k = 0 这一项写出来。

将等式左边调整为从 k = 1 开始。

把带有 符号的项都归纳到左边。

因为这个等式是无穷级数,所以为了改变和的先后次序,必须把条件说明清楚。但现在利用这个等式只是为了有所发现,所以我们就直接往下算吧。

以上等式是关于 x 的恒等式,比较两边的系数,可以得到 KnCn 的关系式。

整理这些式子后可以得到下式。

也就是说,如果求出了 Kn 的话,我们也就自然而然地求得了 Cn。最后的要塞就是 的展开了。”

7.5.5 攻陷

米尔嘉迫不及待地说:“那么,我就来攻陷最后的要塞吧。现在,假设 ,可得

这时 成了所求的目标。从哪里开始下手为好呢?”

“从一看就能明白的地方下手吧。”我说。

“嗯,那 K0 该怎么处理才能让人一看就懂呢?”米尔嘉问。

“那就试试 x = 0 喽。”我立刻回答道,“如果这样的话, 中常数项之外的项就都被抵消了”。也就是说,K(0) = K0。”

“是啊,那接着该怎么办呢?”米尔嘉问我。

“你是问该拿 x 怎么办吗?”我反问道。

“不是。我们得快点使用函数解析的基本方法哦。”米尔嘉似乎有些急不可待。

“那是什么?”我问。

“是微分啊。用 x 求导 K(x),然后数列转换,就能求出常数项 K1。

所以可得

你知道为什么这个 1 要这么明确地写出来吧?这是为了抓住求导后指数下降这个模式。走到这一步接下来可就轻松了。再接着求导 K'(x)。

所以,当 x 为 0 时,可求得下式。

接下来,反复重复此操作,进行 nK(x) 的求导运算。假设 K(x) 经过 n 次求导运算后用 K( n)(x) 来表示。

再写下去就太冗长了,我们就用下降阶乘幂来表示吧。

所以当 x 为 0 时,就变成如下形式。

也就是说,可以用 K(n)(0) 的形式来表示 Kn,也就是泰勒展开式。

到这里我们的工作就告一段落了。”

米尔嘉歇了口气。

我说:“嗯,但是接下来好像就无法进展了,感觉像走到死胡同里来了。”

“为什么这么说呢?现在我们用幂级数的形式求得了 K(x)。接下来我们用普通的函数形式来表示 K(x) 看看吧。”米尔嘉说。

“用普通的函数形式来求?”我疑惑不解。

“就是用求函数解析式的基本方法来做,又要用到微分哦。”米尔嘉边说边朝我眨了下眼睛。这可能是她第一次这么调皮地朝我眨眼睛吧。

“回想一下 K(x) 的定义……

平方根也就是 次方,所以可以变形为这样。

我们应该边注意观察出现的式子类型,边反复进行微分运算。

x = 0 代入后,我们可以求得最后的式子是这样的。

我们再回头看刚才我们用幂级数求得的式子,也就是你说算到那步走到死胡同里的式子,我们把其中的 nn + 1 来替换。

通过这两个式子可得到下式。

这样,我们可以求得 ,并不是走到死胡同里了哦。你还记得 KnCn 的关系吗?

接下来就是用手运算的体力劳动了。

这个式子的分母 可以变形为 的形式。

因此,我们可以求得 Cn

好了,这下我们算是完成了一部分运算,求得了同一个公式。我们终于从生成函数的王国回到数列的王国啦。”

于是,米尔嘉露出了笑容,说:“欢迎你回来。”

7.5.6 半径是 0 的圆

“我回来了!——噢,与其说这个倒不如说一声谢谢。”我说。

“真是非常有意思哦,是次快乐的旅行吧。”她立刻竖起食指。

我看着米尔嘉,想着她这个人真是……虽然有些粗鲁,但人还是很温柔的,外表看上去很沉着冷静,内心其实很火热。我对米尔嘉其实还是……

米尔嘉眯了下眼睛,站起身来,说:“为表纪念,我好想跳舞哦。”

我也站起身。

(这到底是怎么回事?)

米尔嘉突然朝我伸出左手,我伸出右手,小心翼翼地牵起米尔嘉雪白的手指,就像是害怕惊动小鸟一样。

(真暖和。)

我们的手就这样牵着,缓步移向书架前的宽阔场地。

米尔嘉绕着我划圈,慢慢地移动着舞步。

一步。

又一步。

放学后的图书室。除了我们之外没有其他人。

图书室里只听得到她那轻轻的脚步声。

“米尔嘉,你和我一直保持着相同的距离,就是在圆周上吧,算是单位圆吧。”我说。

真是的,我到底在说些什么呀。

米尔嘉“嗯”了一声,停下舞步,答道:“单位圆的前提可是我们的手臂长之和为 1 哦。”说着,她闭上了眼睛。

我突然想起来了。

……即使不能在米尔嘉身边“很近很近的地方”,但至少要在她“旁边”吧……

我正想着这些话的时候,米尔嘉睁开了眼睛。

“半径如果为零的话也……”她边说边用力拉我到身边,她力气大得让我吃惊。

“如果半径为零的话也要保持一定距离吗?”说着,米尔嘉把脸斜靠近我,我们俩的眼镜就要碰到了。

我什么话都说不出,米尔嘉也是,什么都没有说。

半径即使为零,圆仍旧是圆。但这是一个特殊的圆点。

然后我就……我们就……就这样沉默着,渐渐地靠近脸……

“放学时间到了。”图书室传来了瑞谷老师的声音。

我们俩的距离一下子又从零拉开了,一直拉到两人手臂长之和为止。

我的笔记

我和米尔嘉推导出通项公式的数列 为 ,这个数列被称为卡塔兰数列。另外,我考虑的“先相乘后相加的形式”被称为卷积。

将数列和生成函数相对应后,就可以将“卷积后的数列”与“和原生成函数相乘后得到的函数”一一对应起来。也就是说,数列 和 的卷积形式可以表示为 ,也就形成了以下的对应关系。

半夜,我独自在自己的房中兴奋地思考着这些对应关系。“数列王国”中的“卷积”就是“生成函数王国”中的“乘积”。

这真是美妙的对应啊!