从零到点 – Chapter 0
有“高手”说,考试新人,考矩阵求逆就够了。这么“高深”的东西,我怎么能懂呢。我是只知道点积和叉积的。这个话恐怕也说满了,点积和叉积,我也不能说我就知道了。我只知道了一点点。
关于矩阵求逆,我们知道求逆的定义,就是求 M-1= I / M。对于
的矩阵,不过是 16 个线性联立方程,有16个未知数,这个只是体力活,就算你未尝先把公式背下来,硬算也是初中生可解的问题,并且这个只是代数问题,跟几何没有关系。而点积和叉积则不同,点积和叉积是 3D 解析几何,3D 图形学的数学基础,如何让扁平的代数立体起来,靠的就是这个。大多数引擎程序员会自认为自己很了解点积和叉积。但是实际上据我观察,却不是这样。99%的人没搞懂这个。
我们的教科书,倾向于直接把结果含糊不清的告诉学生,而没有把其中的过程,思辨教给学生,而这个反而是精华。我说他们含糊不清,已经是个很轻的说法。实际上,我发现我们的教科书,采用循环定义,想当然的推理的地方很多。我尝试用一种不同的途径来讲述这个。你看了之后,可能会更明白了,哦,原来是这样。但是很有可能 (或者说是更有可能) 是更迷糊了。很多你认为理所当然的东西一下子朦胧了起来。
自然数 Natural number
我们从最简单的开始。老王是卖白菜的,他问,一斤白菜 2 块钱,请问 3 斤白菜多少钱?虽然你家里不是卖白菜的,我想你也能得出答案,6 块钱。我如果问为什么呢?因为 2*3 = 6。如果我问为什么 2*3 = 6 呢?这个就有点难度了。九九乘法表里就是这样的,我们从小就背下来了。其实很简单,乘法是加法的简化写法,2*3 等于 3 个 2 相加,所以 2*3 = 2+2+2=6。那为什么 2+2+2=6 呢?这就很难答上来了。如果你孩子问你,你会跟他搬指头。搬指头是没错的,但是如果是 20,200,2000, 你恐怕就没这么多指头可以搬(蜈蚣除外)。
要解答这个问题,其实是没有可能的。我们要搬出公理,公理,就是公认的道理,不证自明的道理,其实就是没有办法证明的道理。我们前面说的,其实是自然数,或者说,我们叫它自然数,因为它很“自然而然”。关于自然数,我们有皮亚诺公理来描述这个问题。
皮亚诺的这五条公理用非形式化的方法叙述如下:
- 1 是自然数;
- 每一个确定的自然数a,都有一个确定的后继数 a’ ,a’ 也是自然数(一个数的后继数就是紧接在这个数后面的数,例如,1的后继数是2,2的后继数是3,等等);
- 如果自然数 b、c 的后继数都是自然数 a,那么 b = c;
- 1 不是任何自然数的后继数;
- 任意关于自然数的命题,如果证明了它对自然数1是对的,又假定它对自然数 n 为真时,可以证明它对 n’ 也真,那么,命题对所有自然数都真。(这条公理保证了数学归纳法的正确性)
皮亚诺公理里的第 2 项所谓的后继,其实定义了加法,后继,就是搬一个指头,就是 +1 的得到的数。后继的后继,就是 + 1 + 1。我们知道 1 的后继那个数,我们写作 2,意思就是 1 + 1 = 2。所以加法就是多次搬指头的简写。
a+b 定义为 a 后面第 b 个后继,也就是 a 之后再搬 b 次指头。
我们先证明证明加法结合律:

首先证明 c=1 时上式成立, (a+b)+1 是 (a+b) 的后继,而 a+b 是 a 后的第 b 个后继,那么 a+(b+1) 也就是 (a+b) 的后继。所以
公式1: 
成立。
假设 c=m 时成立,我们证明 c=m+1 时也成立。
如果
公式2:
成立,
那么 根据公式1有

根据公式2有

再根据公式1(用了两次公式1)

证毕。
加法交换律也可以用归纳法类似的证明。
那么
等于多少呢?
。
等于多少呢?按上面的方法,不难证明
。
但是
写起来太难看了,如果你买100斤白菜,那岂不是要写老长?我们定义一个新的简写方法,a多次累加b次,我们写成
。乘法就是多次加法的简写。就得到
。
乘法也可以证明符合结合律和交换律。证明就不写了。自己可以去试试。
另外,对于一个自然数,乘以1等于多少呢?这个很容易理解,还是等于自身。一斤白菜2块钱,你买一斤,当然还是2块钱。所以我们有:
公式3: 
整数 Integer
卖白菜是件很高深的工作,跟掏粪不相上下,也需要大学生才能搞定。老王大学毕业后,卖白菜卖的很有心得。有个问题,今天进了100斤白菜的货,卖出了85斤,问,还剩多少斤呢?
所以我们要定义一个搬指头的逆运算,反向扳指头,先拿出100根指头,然后拿掉85个指头,这个运算我们叫减法,减法是加法的逆运算。

如果卖了100斤呢?你发现啥都没剩下。这时候我们定义一个新的数 0,表示没有,空。0算不算自然数,有的领域倾向于算是,比如集合论和计算机科学里。有的领域一般不算,比如数论。数论里面算0,很多东西就不好搞了。比如0算不算偶数?算不算质数?不好搞。我们不讨论这个。卖白菜虽然高深,但是也没到要去证明哥德巴赫猜想的地步。
所以,卖完100斤后,老王今天收入了200块钱。老王的白菜生意做得很好,又很有信誉,所以,白菜供应商可以让老王先拿货,后付款。第二天老王又拿了100斤白菜,但是挂了帐,拿货价是1元每斤(白菜的利润没这么高,否则就不是叫白菜,但是我们还没学过实数,所以暂时这么定)。结果这天生意不好,大家都喜欢吃点好的(豆腐就不错),只卖掉了30斤,老王今天收入多少钱呢?

要还供应商100块,这个帐一算,老王亏了40块。如何计帐这个亏了的40块钱(统计局不叫这个叫亏损,叫赤字,老王收入下降也不是下降,叫负增长),我们扩展自然数支持这个记法,叫负数。-1就是0前继,-40就是0往前数40。
我们不难得到,0-40 = -40,0-n=-n;
负整数乘以正整数是正整数还是负整数呢。当然是负整数。我欠你10块钱,是-10。如果是欠10倍的10块钱,当然是 –100。如果是正数就麻烦了,你要倒找我钱。即, 假设a, b是正整数:

负整数乘以负整数是负整数还是正整数呢?
假设a, b是正整数,那么

显然结果为正整数。
小结
我们初步从一无所有开始,得到了整数的概念和一些基本的运算。后面我们要进入实数和几何,然后接近点积和叉积。


![z\in\left[-1,1\right] z\in\left[-1,1\right]](http://huangdonghai.com/wp-content/plugins/easy-latex/cache/tex_a65e97b33487067cb6338eca5b7778ed.png)

![z\in\left[0,1\right] z\in\left[0,1\right]](http://huangdonghai.com/wp-content/plugins/easy-latex/cache/tex_d600f0364bc212828933b4f2f5516638.png)







Recent Comments