音乐数学的基石:群、环、域与拓扑空间
音乐与数学的深层联系源远流长,从毕达哥拉斯的弦长比例到现代序列主义中的算法作曲,数学始终是理解音乐结构的内在语言。然而,要将这种理解提升至严谨的分析层面,我们需要一套精确的数学工具来描述音高、节奏、和声乃至调性网络中的对称性、变换与空间关系。本章旨在为全书奠定严格的数学语言基础,引入对音乐分析至关重要的代数结构与拓扑概念:群(Group)、环(Ring)、域(Field)、格(Lattice)以及基本拓扑空间(Topological Space)。这些结构不仅提供了形式化的定义与推理框架,更通过丰富的音乐实例展现其实际应用——从五度圈的群结构到音高类别的模12算术,从微分音空间的格表示到调性网络的拓扑性质。我们将结合形式化定义、关键定理、音乐案例以及计算演示(使用Python的SymPy库),使抽象数学与具体音乐实践紧密融合。作为后续章节的基石,本章内容将贯穿和声、节奏、调式乃至曲式结构的数学分析,为构建统一的音乐数学理论体系提供核心概念支撑。
群:对称性与变换的代数核心
群(Group)是抽象代数中最基础的结构,用于刻画对称性与可逆变换。在音乐中,群论为我们提供了描述转调、逆行、倒影等操作的统一框架。
群的形式化定义
一个群 $G$ 是一个集合配备一个二元运算 $\cdot: G \times G \to G$,满足以下公理: 1. 封闭性:$\forall a, b \in G, \; a \cdot b \in G$。 2. 结合律:$\forall a, b, c \in G, \; (a \cdot b) \cdot c = a \cdot (b \cdot c)$。 3. 单位元:存在 $e \in G$ 使得 $\forall a \in G, \; e \cdot a = a \cdot e = a$。 4. 逆元:$\forall a \in G$,存在 $a^{-1} \in G$ 使得 $a \cdot a^{-1} = a^{-1} \cdot a = e$。
若 additionally $a \cdot b = b \cdot a$ 对所有 $a,b \in G$ 成立,则群为阿贝尔群(交换群)。
音乐实例1:音高类别的平移群 $\mathbb{Z}_{12}$
在十二平均律中,音高类别(Pitch Class)集合 $\{0,1,\dots,11\}$(对应C, C#, ..., B)在模12加法下构成阿贝尔群,记作 $\mathbb{Z}_{12}$。运算定义为: $$a + b \mod 12$$ 单位元为0(C),元素 $a$ 的逆元为 $12-a \mod 12$(即反向音程)。此群描述了所有转调操作:将任意音高类别 $x$ 转调 $k$ 半音等价于 $x + k \mod 12$。转调的复合对应于加法,转调 $k$ 的逆为转调 $-k$。
五度圈的群结构:纯五度音程在十二平均律中对应7半音(因 $2^{7/12} \approx 3/2$)。连续应用纯五度生成子群 $\langle 7 \rangle = \{0,7,2,9,4,11,6,1,8,3,10,5\}$,由于 $\gcd(7,12)=1$,该子群等于整个 $\mathbb{Z}_{12}$。因此,五度圈(Circle of Fifths)实际上是 $\mathbb{Z}_{12}$ 的循环表示,其群结构揭示了调性之间的对称性:经过12次纯五度上升(或7次下降)返回起点,对应群中元素 $12 \times 7 = 84 \equiv 0 \mod 12$。
音乐实例2:序列音乐中的二面体群 $D_{12}$
在序列音乐中,一个音列(tone row)的变换包括平移(transposition)和逆行(retrograde),以及倒影(inversion)。设音列为长度为12的排列 $R = (r_1, r_2, \dots, r_{12})$。平移 $T_k$ 定义为 $T_k(R) = (r_1+k, \dots, r_{12}+k) \mod 12$;逆行 $R$ 定义为 $R(R) = (r_{12}, r_{11}, \dots, r_1)$;倒影 $I$ 定义为 $I(R) = (-r_1, -r_2, \dots, -r_{12}) \mod 12$(以某个轴为对称)。这些操作生成一个群,同构于二面体群 $D_{12}$(12阶二面体群),即正十二边形的对称群。$D_{12}$ 有24个元素:12个旋转(平移)和12个反射(逆行与倒影的组合)。此群结构允许作曲家系统地探索音列的所有变体,同时保持音列内部音程关系的某些不变性。
拉格朗日定理的应用:拉格朗日定理指出,有限群 $G$ 的任何子群 $H$ 的阶整除 $|G|$。在 $\mathbb{Z}_{12}$ 中,子群阶必须整除12,因此可能的子群阶为1,2,3,4,6,12。例如,三度圈(纯三度对应4半音)生成子群 $\langle 4 \rangle = \{0,4,8\}$,阶为3,符合定理。这解释了为何某些音程循环无法覆盖所有12个音高类别。
关键定理:群同态与音乐变换
定理:设 $\phi: G \to H$ 是群同态,则 $\phi(G)$ 是 $H$ 的子群,且 $\ker \phi = \{g \in G \mid \phi(g)=e_H\}$ 是 $G$ 的正规子群。
音乐意义:考虑从平移群 $\mathbb{Z}_{12}$ 到调性空间(如五度圈)的同态。五度圈本身是 $\mathbb{Z}_{12}$ 的循环群,但如果我们只关心调性名称(如C, G, D, ...),则映射 $f: \mathbb{Z}_{12} \to \{\text{调性}\}$ 将音高类别投影到其主调(tonic)的等效类。此映射是同态当且仅当转调后主调按五度圈移动,这正是实际转调行为。核包含所有将主调映射到同一调性的转调,例如在C大调中,转调0半音(恒等)和转调12半音(八度等价)都保持C大调,但12≡0 mod12,所以核为平凡群?实际上,如果我们定义调性空间为 $\mathbb{Z}_{12}$ 本身,则同态为恒等。更深刻的例子:从 $D_{12}$ 到 $\mathbb{Z}_{2}$ 的同态,将平移映为0,逆行映为1,揭示了序列操作中“方向”的二元性。
代码演示:使用 SymPy 进行群运算
SymPy 的 `combinatorics` 模块提供了群论计算功能。以下示例演示 $\mathbb{Z}_{12}$ 的平移群和 $D_{12}$ 的生成。
```python from sympy.combinatorics import Permutation, PermutationGroup from sympy.combinatorics.named_groups import CyclicGroup, DihedralGroup
1. 定义 Z12 加法群(作为循环群)
注意:SymPy 的 CyclicGroup(n) 返回 n 阶循环群,作为置换群,生成元是 (1 2 ... n)
Z12 = CyclicGroup(12) print("Z12 的阶:", Z12.order()) print("Z12 的生成元(置换表示):", Z12.generators)
但我们需要模12加法,因此将置换映射回整数模12。
每个置换对应一个平移 k:i -> i+k mod12。生成元对应 k=1。
要得到五度圈生成元(k=7),我们需要计算 7 次生成元。
gen = Z12.generators[0] # 对应 k=1 的置换
计算 7 次幂得到 k=7 的置换
generator_7 = gen**7 print("五度圈生成元(置换):", generator_7)
验证:应用 7 次平移后,音高类别 0 映射到 7(纯五度)
print("0 经五度圈生成元映射到:", generator_7(0))
2. 定义二面体群 D12(序列音乐中的变换群)
D12 = DihedralGroup(12) print("D12 的阶:", D12.order()) # 应为 24
D12 包含旋转(平移)和反射(逆行/倒影)
列出所有元素:前12个是旋转(平移0到11),后12个是反射
elements = D12.elements print("D12 元素个数:", len(elements))
演示一个具体音列变换:假设音列为 [0,1,2,...,11](半音阶)
tone_row = list(range(12))
定义函数将置换应用于音列
def apply_permutation(perm, row): return [row[perm(i)] for i in range(len(row))]
取一个非平凡旋转:平移 k=5(即生成元的5次幂)
transposition_5 = elements[5] # 假设第5个元素是旋转?需检查顺序。
更安全:从生成元构造
rotation = D12.generators[0] # 旋转生成元(对应平移1?在 DihedralGroup 中,第一个生成元通常是旋转) transposition_5 = rotation**5 new_row = apply_permutation(transposition_5, tone_row) print("平移5半音后的音列:", new_row)
取一个反射:例如逆行(反转顺序)
在 D12 中,第二个生成元通常是反射。
reflection = D12.generators[1] retrograde_row = apply_permutation(reflection, tone_row) print("逆行后的音列:", retrograde_row) ```
此代码片段展示了如何用 SymPy 建模音乐变换群。注意:`DihedralGroup` 的置换表示将元素编号为0到11,旋转生成元对应循环置换 $(0~1~2~\dots~11)$,即平移1半音。通过幂运算可得到任意平移。反射生成元对应反转,如 $(0~11)(1~10)\dots$。这为自动化分析音列变体提供了基础。
环与域:音高空间的算术结构
群仅描述加法(或一般运算)的对称性,而环(Ring)和域(Field)引入了加法和乘法两种运算,能更精细地刻画音高空间中的关系。
环的定义与 $\mathbb{Z}_{12}$ 环
一个环 $R$ 是一个集合配备两个二元运算 $+$ 和 $\cdot$,使得: 1. $(R, +)$ 是阿贝尔群,单位元为 $0$。 2. $\cdot$ 满足封闭性、结合律。 3. 分配律:$a \cdot (b + c) = a \cdot b + a \cdot c$ 及 $(a + b) \cdot c = a \cdot c + b \cdot c$。 若 $\cdot$ 满足交换律且存在乘法单位元 $1 \neq 0$,则环为含幺交换环。
音乐实例:音高类别集合 $\mathbb{Z}_{12} = \{0,1,\dots,11\}$ 在模12加法和乘法下构成含幺交换环。加法如前所述,乘法定义为: $$a \cdot b \mod 12$$ 乘法单位元为1。此环结构允许我们计算音程的“乘积”,尽管其音乐解释不如加法直观。例如,纯五度(7)与纯四度(5)相乘:$7 \times 5 = 35 \equiv 11 \mod 12$,对应增八度(或小七度?11半音为增七度)。这种乘法在某些理论中用于“音程乘法”变换,如将音程类 $i$ 乘以 $n$ 得到新音程 $n \cdot i \mod 12$,可生成特定集合。然而,$\mathbb{Z}_{12}$ 存在零因子:$2 \
环的深入结构:零因子、理想与音乐意义
$\mathbb{Z}_{12}$ 作为环,其乘法结构存在非零零因子(zero divisor):存在 $a, b \neq 0$ 使得 $a \cdot b \equiv 0 \mod 12$。例如:
- $2 \times 6 = 12 \equiv 0$
- $3 \times 4 = 12 \equiv 0$
- $3 \times 8 = 24 \equiv 0$
这些零因子对应与12不互质的音程类(gcd$(a,12) \neq 1$)。在音乐中,零因子现象揭示了某些音程组合的“坍缩”特性:当两个非零音程类相乘时,结果等价于八度(0),意味着它们的组合在模12意义下失去信息。例如,全音程(2)与三全音(6)的乘积为零,这可以解释为:在特定变换下,全音和三全音的组合可能生成等价于八度位移的操作,从而在音高类别空间中“抵消”。更一般地,对于模 $n$ 的环 $\mathbb{Z}_n$,零因子集合恰好是与 $n$ 不互质的剩余类,其数量由欧拉函数 $\phi(n)$ 决定:非零因子个数为 $\phi(n)$,零因子个数为 $n-1-\phi(n)$。当 $n=12$ 时,$\phi(12)=4$(与12互质的数为1,5,7,11),故零因子有7个。
零因子的存在使得 $\mathbb{Z}_{12}$ 无法成为域(field),因为域要求非零元素乘法成群(即每个非零元素有乘法逆元)。事实上,$\mathbb{Z}_{12}$ 中2、3、4、6、8、9、10均无乘法逆元。例如,方程 $2x \equiv 1 \mod 12$ 无解,因为左边恒为偶数。这限制了在十二平均律中直接使用除法运算(如“音程除法”)的可能性,必须通过其他方式绕过。
理想与商环:调性空间的代数分解
环论中的理想(ideal)概念为分析音乐结构提供了更精细的工具。$\mathbb{Z}_{12}$ 的理想由12的因子生成:$(0)$、$(6)$、$(4)$、$(3)$、$(2)$、$(1)=\mathbb{Z}_{12}$。例如,理想 $(6) = \{0,6\}$ 由6生成,包含所有6的倍数模12。商环 $\mathbb{Z}_{12}/(6)$ 同构于 $\mathbb{Z}_6$,其元素为 $\{0+6, 1+6, 2+6, 3+6, 4+6, 5+6\}$,运算为模6加法。音乐上,这对应将音高类别按“六度等价”分类:每个等价类包含相差6半音(三全音)的音高。这解释了为何三全音在调性中具有特殊对称性——它划分音高空间为两个等价类。
类似地,理想 $(4) = \{0,4,8\}$ 生成商环 $\mathbb{Z}_{12}/(4) \cong \mathbb{Z}_4$,对应“四度等价”分类(相差4半音,即大三度)。这在大三度圈(0,4,8)中显著:所有音高按大三度分组,每组三个音,形成等边三角形结构。这些商环结构可用于分析和弦的等价类:例如,大三和弦的根音若相差大三度,则和弦在某种变换下等价。
域:域的定义与素数模数域
域是环的特例,要求乘法在非零元素上构成阿贝尔群。 formally,域 $F$ 是满足以下条件的交换环: 1. $0 \neq 1$。 2. 每个 $a \in F, a \neq 0$,存在 $a^{-1} \in F$ 使得 $a \cdot a^{-1} = 1$。
有限域的分类定理指出:任何有限域的阶(元素个数)必为素数幂 $p^k$,且在同构意义下唯一,记作 $\mathbb{F}_{p^k}$。当 $k=1$ 时,得到素数域 $\mathbb{F}_p = \mathbb{Z}_p$,即模素数 $p$ 的整数环,此时 $\mathbb{Z}_p$ 是域。
音乐实例:素数平均律中的域结构 在十二平均律之外,历史与实验音乐中常使用其他等程律,如19平均律(将八度分为19等份)、31平均律、53平均律等。当等分份数 $p$ 为素数时,音高类别集合 $\{0,1,\dots,p-1\}$ 在模 $p$ 加法和乘法下构成域 $\mathbb{F}_p$。这意味着:
- 每个非零音程类 $a$($1 \leq a \leq p-1$)有唯一的乘法逆元 $a^{-1}$,满足 $a \cdot a^{-1} \equiv 1 \mod p$。
- 因此,可以定义“音程除法”:给定音程 $b$ 和除数 $a$,商 $b/a$ 存在且唯一(当 $a \neq 0$)。
以19平均律($p=19$)为例。纯五度在19平均律中对应多少半音?由于频率比3/2,需解 $2^{x/19} \approx 3/2$,得 $x \approx 11$(精确值为 $\log_2(3/2) \times 19 \approx 11.135$,通常取11半音)。因此,纯五度音程类为11。计算其乘法逆元:找 $y$ 使得 $11y \equiv 1 \mod 19$。试算:$11 \times 7 = 77 \equiv 77 - 4\times19 = 77-76=1$,故 $11^{-1} \equiv 7 \mod 19$。这意味着什么?从代数角度,将音程乘以7相当于“逆五度”操作(纯四度?7半音在19平均律中是什么?计算频率比 $2^{7/19} \approx 1.316$,接近4/3=1.333,即纯四度,但不精确)。更深刻的音乐意义在于:在域中,乘法逆元允许我们“解方程”。例如,若要找到一个音程 $x$ 使得连续应用 $x$ 三次得到纯五度(11),即 $x^3 \equiv 11 \mod 19$,由于域中多项式有唯一解(最多三个),我们可以求解。这为音程组合生成和声提供了代数闭包性质。
类似地,在31平均律($p=31$)中,纯五度对应18半音($2^{18/31} \approx 1.498$,接近3/2=1.5),其逆元为 $18^{-1} \mod 31$:$18 \times 12 = 216 \equiv 216 - 6\times31 = 216-186=30 \equiv -1$,故 $18^{-1} \equiv -12 \equiv 19 \mod 31$。这些计算在律制设计、音程映射和跨律制转换中有实用价值。
定理:$\mathbb{F}_p$ 的乘法群 $\mathbb{F}_p^*$ 是 $p-1$ 阶循环群。 *证明概要*:有限域的乘法群是有限阿贝尔群,由有限阿贝尔群基本定理,其为循环群当且仅当对每个 $d|(p-1)$,方程 $x^d=1$ 至多有 $d$ 个解。在域中,多项式 $x^d-1$ 最多有 $d$ 个根,故成立。 音乐意义:在素数平均律中,所有非零音程类在乘法下构成循环群。因此,存在一个“本原音程”(primitive