1.2 数字分类:从复数到自然数
本节介绍数字分类,介绍的数字类型如图1.6所示。
图1.6 数字分类
复数
复数(complex number)包括实数(real numbers)和虚数(imaginary number)。复数集(the set of complex numbers)的记号为。
集合(set),简称集,是指具有某种特定性质元素(element)的总体。通俗地讲,集合就是一堆东西构成的整体。因此,复数集是所有复数构成的总体。
复数的具体形式为
其中:a和b是实数。
式(1.1)中,i是虚数单位(imaginary unit),i的平方等于-1,即
笛卡儿(René Descartes)最先提出虚数这个概念。而后,欧拉(Leonhard Euler)和高斯(Carl Friedrich Gauss)等人对虚数做了深入研究。注意,根据ISO标准叙述单位i为正体,即非斜体。
有意思的是,不经意间,式(1.1)中便使用a和b来代表实数。用抽象字母来代表具体数值是代数的基础。代数(algebra)的研究对象不仅是数字,还包括各种抽象化的结构。
实数
实数集(the set of real numbers)记号为。实数包括有理数(rational numbers)和无理数(irrational numbers)。
式(1.1)中,b=0时,得到的便是实数。如图1.7所示,实数集合可以用实数轴(real number line或real line)来展示。
图1.7 实数轴
数轴和坐标系的发明让代数和几何前所未有地结合在了一起,这是本书第5、6章要介绍的内容。
无意之间,我们又用到了解析几何中重要的工具之一——数轴(number line)。图1.7这看似平凡无奇的一根数轴,实际上是人类的一个伟大发明创造。
数轴描述一维空间,两根垂直并相交于原点的数轴可以张成二维直角坐标系,即笛卡儿坐标系(Cartesian coordinate system)。在二维直角坐标系原点处升起一根垂直于平面的数轴,便张成了三维直角坐标系。
目前,数学被分割成一个个板块——算数、代数、几何、解析几何、线性代数、概率统计等。这种安排虽然有利于特定类别的数学工具学习,但是板块之间的联系被人为割裂。本书的重要任务之一就是强化各个板块之间的联系,让大家看见“森林”,而不是一棵棵“树”。
有理数
有理数集合用表示,有理数可以表达为两个整数的商(quotient of two integers),形如
其中:a为分子(numerator);b为分母(denominator)。式(1.3)中分母不为零(The denominator is not equal to zero)。
有理数可以表达为有限小数(finite decimal或terminating decimal)或者无限循环小数(repeating decimal或recurring decimal)。小数中的圆点叫作小数点(decimal separator)。
无理数
图1.7所示的实数轴上除有理数以外,都是无理数。无理数不能用一个整数或两个整数的商来表示。无理数也叫无限不循环小数(non-repeating decimal)。
很多重要的数值都是无理数,如图1.7所示数轴上的圆周率π(pi)、(the square root of two)、自然常数e(exponential constant)和黄金分割比(golden ratio)等。自然常数e也叫欧拉数(Euler’s number)。
执行Bk3_Ch1_01.py代码,可以打印出π、e和的精确值。代码使用了math库中函数,math库是Python提供的内置数学函数库。
打印结果如下:
pi = 3.141592653589793 e = 2.718281828459045 sqrt(2) = 1.4142135623730951
下面,我们做一个有趣的实验——打印圆周率和自然常数e小数点后1,000位数字。图1.8所示为圆周率小数点后1,000位,图1.9所示采用热图的形式展示圆周率小数点后1,024位。图1.10所示为自然常数e小数点后1,000位。
中国古代南北朝时期数学家祖冲之(429—500)曾刷新圆周率估算纪录。他估算圆周率在3.1415926到3.1415927之间,这一记录在之后的约1,000年内无人撼动。圆周率的估算是本书的一条重要线索,我们将追随前人足迹,用不同的数学工具估算圆周率。
图1.8 圆周率小数点后1,000位
图1.9 圆周率小数点后1,024位热图
图1.10 自然常数e小数点后1,000位
Bk3_Ch1_02.py打印圆周率、和自然常数e,小数点后1,000位数字。mpmath是一个任意精度浮点运算库。
目前,背诵pi小数点后最多位数的吉尼斯世界纪录是70,000位。该纪录由印度人在2015年创造,用时近10小时。这一纪录需要背诵的数字量是图1.8所示的70倍,感兴趣的读者可以修改代码获取,并打印保存这些数字。计算取决于个人计算机的算力,这一过程可能要用时很久。
观察图1.8所示的圆周率小数点后1,000位数字,可以发现0~9这十个数字反复随机出现。这里,“随机(random)”是指偶然、随意、无法预测,《统计至简》将会大量使用“随机”这个概念。
大家能否凭直觉猜一下哪个数字出现的次数最多?圆周率小数点后10,000位、100,000位,乃至1,000,000位,0~9这十个数字出现的次数又会怎样?
答案就在Streamlit_Bk3_Ch1_02.py文件中。我们用Streamlit创作了一个数学动画App展示圆周率小数点后0~9这十个数出现的次数。
整数
整数(integers)包括正整数(positive integers)、负整数(negative integers)和零(zero)。正整数大于零(greater than zero);负整数小于零(less than zero)。整数集用表示。
整数的重要性质之一是——整数相加、相减或相乘的结果还是整数。
奇偶性(parity)是整数另外一个重要性质。能被2整除的整数称为偶数(an integer is called an even integer if it is divisible by two);否则,该整数为奇数(the integer is odd)。
利用以上原理,我们可以写一段Python代码,判断数字奇偶性。请大家参考Bk3_Ch1_03.py。代码中,%用于求余数。
自然数
自然数(natural number或counting number)有时指的是正整数,有时指的是非负整数(nonnegative integer),这时自然数集合包括“0”。“0”是否属于自然数尚未达成一致意见。
至此,我们回顾了常见数字类型。表1.1中总结了数字类型并给出了例子。
表1.1 不同种类数字及举例