积化和差与和差化积
新教材把这组公式降为选学,理由不难理解:它们不含新的几何事实,四条积化和差全部由 和差角公式与二倍角公式 两两相加减得到,四条和差化积只是同一批等式换个字母读。但它们承担的角色与和差角公式不同。和差角公式把两个角接起来,这一组把「乘」与「加」互相翻译;一切「两个频率相乘会生出和频与差频」的说法,源头都在这四行里。
1 · 由和差角公式派生的积
把 与 的展开式相加,右端的 一项一正一负相消,剩下 ;相减则消去 ,剩下 。余弦的两条同理:两式相加消去 ,相减消去 。四条整理如下,合称积化和差。
| 左端 | 右端 | 由哪两条相加减 |
|---|---|---|
| 正弦两条相加 | ||
| 正弦两条相减 | ||
| 余弦两条相加 | ||
| 余弦两条相减 |
第四条的写法值得单看。按相减的顺序本该得到 ,前面带一个负号;习惯上把两项对调,让右端不带负号,代价是括号里的加减次序与前三条不一致。
右端一律是「 乘一个和或差」,两次求值加一次加减就够,一次乘法都不出现。这条性质在 §6 里有直接的历史用处。
2 · 换元后的和差化积
上表的左端是积、右端是和差。要把和差写成积,只需把四条倒过来读,再换一组字母:令 、,则 、。代入即得和差化积。
| 左端 | 右端 |
|---|---|
四条的右端都是「两倍的、半和角与半差角的两个函数之积」。负号只出现在余弦相减那条,它正对应上表第四条被对调掉的那个负号。
警示 · 和差化积要求两项同名。 直接套公式无从下手,须先用诱导公式换族,写成 ,此后半和角是 而不是 。同理, 是可以化的,两项虽然角不同但同名,公式对角本身没有任何要求。
3 · 拍频与包络
设两个频率相近的正弦,振幅相同:。和差化积的第一条把它改写成
右端是一个频率为 的正弦,乘上一个频率只有 的余弦。两个频率相近时后者远慢于前者,于是同一个式子有了两种读法:快的那个因子是载波 (carrier),定音高;慢的那个因子给出振幅的缓慢起伏,称为包络 (envelope)。
包络与拍的倍数关系容易记错。包络因子的频率是 ,但听感响应的是振幅的绝对值, 的周期只有 的一半,每秒的响度极大值是 次,这个数才叫拍频 (beat frequency)。440 Hz 与 443 Hz 同时响,载波是 441.5 Hz,包络因子的频率是 1.5 Hz,而每秒听到的「嗡」是 3 次。调音师据此把连续的音高误差读成一个整数:数一秒钟响几下,就知道差几赫兹。
振幅不等时这条路走不通,两项提不出公因子。改把两项当同频相量相加(合成规则见 辅助角公式与三角式的最值 §1),包络是
它在
与
之间摆动,等幅只是下界为零的特例。实际后果是:两音强度不等时拍点并不静音,只是变弱。取
、、、,包络的下界是
;按载波周期逐个取
的峰值,实测到的谷是 0.100065,与
对得上。调制深度
此时是
,等幅时才是
。
4 · 相乘生出的和频与差频
积化和差反过来读,说的是两个频率相乘会生出和频与差频,而且只生这两个。超外差接收机 (superheterodyne) 用的就是这一行:把收到的射频信号 与本机振荡 相乘,第三条给出
滤掉频率高的那一项,剩下的差频与调谐到哪个电台无关,只取决于 。把本机振荡随调谐同步移动,让这个差保持恒定,后级的放大与滤波就可以永远工作在同一个固定频率上。
同一条等式在积分里读成另一件事。 之所以算得出来,是因为积化和差先把被积函数降成两个余弦,而余弦的原函数是现成的。 时这个积分在一个整周期上为零, 时不为零——三角函数系的正交性由此而来,它是傅里叶级数能逐项定系数的全部依据。这组公式不只是和差角公式的推论,它是频谱分析的第一块砖。
5 · 相近角相减的精度
和差化积还是一条数值上更稳的算路。 在 与 相近时是典型的相消:两个各约 的数相减得到 量级的结果,双精度里两个余弦值各自的舍入误差约 ,相对于结果已是百万分之几。右端 不做减法,精度不受影响。
原先以为这条优势无条件成立,实测把它修正了。以半和
与半差
作输入、
取
度时,参照值由 60 位定点 BigInt 的泰勒级数离线算出,是
:直接相减给出 -1.7453261058619773e-11,只对到 5.7 位有效数字;和差化积给出 -1.745329251994329e-11,对到 15.7 位,相差整整十位。但若输入给的是
与
,半差角要由
现算,相消原样搬到了这一步,两条算路分别只对到 5.3 位与 7.1 位,差不到两位。和差化积搬走的是函数值上的相消,搬不走角上的相消。
没有相消的普通格点上,两端的偏差就只是最后几位。
以
为步长扫遍
的
个格点,四条积化和差两端的最大偏差是 1.6653345369377348e-15,合 7.5 个 Number.EPSILON;同样的格点上四条和差化积一侧是 2.6645352591003757e-15,合 12 个,且有 16 个格点并列取到。两侧不对称的原因是和差化积的左端
本身就多一次加法,右端却只有乘法。
6 · 对数发明之前的乘法捷径
对数表出现之前,天文计算里最贵的运算是多位数乘法。当时的办法是把乘法转成查表加减:要算 ,先按比例把两数缩进 ,取 、,再用第三条
三次查表、两次加减、一次折半,代替一次多位数乘法。这套方法叫 prosthaphaeresis,词源是希腊语的「加减」。1614 年 Napier 的对数表问世后它很快退场——对数把乘法变成一次加法,比这条路还短一步。
把它归给哪一位发明者,文献说法不一:Wittich 与 Bürgi 各有主张,另有一说上溯到 10 世纪的 Ibn Yunis,但缺少可靠的直接证据[4]。能确定的只是 1580 年代它已在第谷·布拉赫的天文台上例行使用。这段历史值得写进正文:它是「把难做的运算翻译成好做的运算」这条思路最早的一次大规模实践,而积化和差正好是那本字典。
7 · 参考文献
- List of trigonometric identities. Wikipedia. Product-to-sum 与 sum-to-product 两节给出本页八条公式的完整清单。https://en.wikipedia.org/wiki/List_of_trigonometric_identities
- Beat (acoustics). Wikipedia. 拍的成因、拍频等于频率差,以及不等幅时的调制深度。https://en.wikipedia.org/wiki/Beat_(acoustics)
- Heterodyne. Wikipedia. 混频器如何由乘法生出和频与差频,以及超外差接收机的结构。https://en.wikipedia.org/wiki/Heterodyne
- Prosthaphaeresis. Wikipedia. 积化和差用作乘法捷径的历史,含归属之争与第谷天文台的使用记录。https://en.wikipedia.org/wiki/Prosthaphaeresis
- Thoren, V. E. (1988). Prosthaphaeresis revisited. Historia Mathematica, 15(1), 32–39.
- Envelope (waves). Wikipedia. 包络的定义与相量合成给出的一般形式。https://en.wikipedia.org/wiki/Envelope_(waves)