数学要素(全彩图解 + 微课 + Python编程)
上QQ阅读APP看书,第一时间看更新

2.1 算术乘除:先乘除,后加减,括号内先算

乘法

乘法(multiplication)算式等号左端是被乘数(multiplicand)和乘数(multiplier),右端是乘积(product),如图2.1所示。乘法运算符读作(times或multiplied by)。乘法表(multiplication table或times table)是数字乘法运算的基础。

图2.1 乘法运算

图2.2所示为在数轴上可视化2×3=6。

图2.2 2×3=6在数轴上的可视化

介绍几个常用乘法符号。乘法符号×用于数字相乘,一般不用于两个变量相乘。而在线性代数中,×表示叉乘(cross product或vector product),完全是另外一回事。

在代数中,两个变量ab相乘,可以写成ab;这种记法被称做隐含乘法(implied multiplication)。ab也可以写成a·b

通常,圆点·不用在数字相乘,因为它容易和小数点(decimal point)混淆。线性代数中,a·b表示ab两个向量的标量积(scalar product),这是本章后续要介绍的内容。

多提一嘴,乘法计算时,请大家多留意数值单位。举个例子,正方形的边长为1 m,其面积数值可以通过乘法运算1×1=1获得,而结果单位为平方米(m2)。有一些数值本身无单位(unitless),如个数、Z分数。Z分数也叫标准分数(standard score),是概率统计中的一个概念,Z分数是一个数与平均数的差再除以标准差的结果。

与乘法相关的常用英文表达见表2.1。

鸢尾花书会在《统计至简》一册详细介绍Z分数这个概念。

表2.1 乘法相关英文表达

Bk3_Ch2_01.py完成两个数乘法。Python中两个数字相乘用*(asterisk或star)。

阶乘

某个正整数的阶乘(factorial)是所有小于及等于该数的正整数的积。比如,5的阶乘记作5!,对应的运算为

特别地,定义0的阶乘为0!=1。本书有两个重要的数学概念需要用到阶乘——排列组合和泰勒展开。

Python中可以用math.factorial()、scipy.special.factorial()、numpy.math.factorial()计算阶乘。为了帮助大家理解,Bk3_Ch2_02.py自定义函数求解阶乘。

累计乘积

对于一组数字,累计乘积(cumulative product)也叫累积乘积,得到的结果不仅仅是一个乘积,而是从左向右每乘一个数值得到的分步结果。比如,自然数1到10求累计乘积结果为

对应的累计乘积过程为

Bk3_Ch2_03.py利用numpy.linspace(1, 10, 10)产生1~10这十个自然数,然后利用numpy.cumprod()函数来求累计乘积。请大家自行研究如何使用numpy.arange(),并用这个函数生成1~10。

除法

除法(division)是乘法的逆运算(reverse operation of multiplication)。被除数(dividend或numerator)除以(over或divided by)除数(divisor或denominator)得到(quotient),如图2.3所示。

图2.3 除法运算

除法运算有时可以除尽(divisible),如6可以被3除尽(six is divisible by three)。除法有时得到余数(remainder),如7除2余1。除法的结果一般用分数(fraction)或小数(decimal)来表达,详见表2.2。

表2.2 除法英文表达

Bk3_Ch2_04.py完成两个数的除法运算,除法运算符为正斜杠/。

Bk3_Ch2_05.py介绍如何求余,求余数的运算符为%。

分数

最常见的分数(fraction)是普通分数(common fraction或simple fraction),由分母(denominator)和分子(numerator)组成,分隔两者的是分数线(fraction bar)或正斜杠(forward slash)/。

非零整数(nonzero integer)a倒数(reciprocal)是1/a。分数b/a的倒数是a/bab均不为0。

表2.3中总结了常用分数英文表达。

表2.3 分数相关英文表达