学习小结之《具体数学》
《具体数学》是高德纳经典著作《计算机程序艺术》的数学预备知识部分的深化和拓展。
本书一共有九章内容,分别为:
- 递归问题
- 和
- 整函数
- 数论
- 二项系数
- 特殊数
- 母函数(又名生成函数)
- 离散概率
- 渐进(Asymptotics)
目前看到第五章 二项系数的内容,出于兴趣而阅读这本书,里面的知识点挺多,总结几点印象深刻,open my mind, get 的新技能。
第一,Iverson notation( Iverson 标记形式)
"Kenneth E.Iverson introduced a wonderful idea in his programming language APL, and we'll see that it greatly simplifies many of the things we want to do in this book. The idea is simply to enclose a true-or-false statement in brackets, and to say that the result is 1 if the statement is true, 0 if the statement is false. "
英文可以不用看,理解起来很简单,就是用[statement]来表示1和0,举个例子如下,
$$[p是素数]=
\begin{cases}
0& \text{如果P不是素数}\\
1& \text{如果P是素数}
\end{cases}$$
\(\sum_{p=2}^7[p是素数] = 1 + 1 + 0 + 1 + 0 +1 = 4\) 表示2到7 一共有4个素数
Iverson 标记可以在把\(sum\)的上下标中的条件给去掉,表示成更容易理解的形式(对Iversion标记熟悉后很方便)求和\(\sum\)都可以写成如下的形式
\(\sum_k{a_k}[P(k)]\)
如果P(k)为假则\(a_k[P(k)]\)这一项为0,所以,以上的求和把所有满足条件的项都包含进去了。使用这样的标记方法,可以让我们更简单方便的操纵求和的上下标。
举个例子,
\(\sum_{k=1,k\ is\ even} k\) 可以表示成
\(\sum_{j=1}k[k=2j]\)
在某些时候经过这样变换的指标让我们更加清晰的看清关系,书上的一个变换例子如下
出于自己的兴趣看的这本书,而且看的是英文版的第二版,进度有些慢,不过感觉看起来是一种享受,讲得都比较详细,梳理了自己这么多年来知识,下次再继续完善自己的笔记,整理内容。
第二,待续