Binary Quadratic Forms
Table of Contents
1. 二元二次型定义
含有二个变量 \(x,y\) 的二次齐次函数 \[f(x,y) = ax^2 + bxy + cy^2\] 称为二元二次型(Binary Quadratic Form)。如果系数 \(a,b,c\) 为复数,则称为“复二次型”。不过,研究最多的是系数 \(a,b,c\) 都为整数时的情况,即 \(a,b,c \in \mathbb{Z}\) ,这时称为“整二元二次型”,也往往简称为“二元二次型”,本文介绍的内容都是系数 \(a,b,c\) 为整数时的情况。
二元二次型 \(f(x,y) = ax^2 + bxy + cy^2\) 可记为 \((a,b,c)\) 。
2. 判别式(Discriminant)
整数 \[d = b^2 - 4ac\] 称为二元二次型的判别式(Discriminant)。判别式 \(d\) 一定会满足 \[d \equiv 0 \, \text{or}\, 1 \pmod 4\] 这是为什么呢?因为,对于任意整数 \(b\) ,一定有 \(b \equiv 0,1,2 \, \text{or}\, 3 \pmod 4\) ,从而 \(b^2 \equiv 0,1,4 \, \text{or} \, 9 \pmod 4\) ,而其中的 \(4\) 和 \(9\) 分别有 \(4 \equiv 0 \pmod 4\) 和 \(9 \equiv 1 \pmod 4\) ,从而 \(b^2 \equiv 0 \, \text{or} \,1 \pmod 4\) ,从而 \(b^2 -4ac \equiv 0 \, \text{or} \,1 \pmod 4\) 。
定理: \(f(x,y)\) 可以分解为二个二元一次型之积的必要且充分的条件为 \(d\) 为一个平方数。 这个定理的证明包含充分性和必要性两个方面。本文不介绍充分性的证明,有兴趣的读者可参考“数论导引(华罗庚著)第十二章”。下面是这个定理必要性的证明:假设 \(f(x,y)\) 可分解为二个二元一次型之积,即 \[ax^2 + bxy + cy^2 = (rx+sy) (tx+uy)\] 那么 \[\begin{aligned} d &= b^2 - 4ac \\ &= (st + ru)^2 - 4 rt \cdot su \\ & = (st - ru)^2 \end{aligned}\] 从而可知 \(d\) 确实为一个平方数。定理的必要性得证。
当 \(d\) 是一个平方数时,我们称二元二次型是 Degenerate(退化的),退化的的二元二次型不是我们讨论的重点,我们 往往设 \(d\) 不是平方数。
2.1. 不定型(Indefinite)和定型(Definite)
当 \(d > 0\) 时,二元二次型称为不定型(Indefinite),这是因为随着 \(x,y\) 的变化, \(f(x,y)\) 的值可正可负,也可为零。
当 \(d < 0\) 时,二元二次型称为定型(Definite),这是因为不论 \(x,y\) 取任何实值,只要 \(x,y\) 不同时为零, \(f(x,y)\) 的值恒正或恒负。具体来说, 当 \(d<0, a>0\) 时,只要 \(x,y\) 不同时为零,一定有 \(f(x,y) > 0\) ,这时 \(f(x,y)\) 称为正定型(Positive Definite);当 \(d<0, a<0\) 时,只要 \(x,y\) 不同时为零,一定有 \(f(x,y) < 0\) ,这时 \(f(x,y)\) 称为负定型(Negative Definite)。 由于负定型乘以一个负号可以转换为正定型,所以很多时候我们只讨论正定型。
2.2. 基本判别式(Fundamental Discriminant)
- \(d \equiv 1 \pmod 4\) 并且 \(d\) 是 Square-free 整数;
- \(d = 4m\) ,其中 \(m \equiv 2 \; \text{or}\; 3 \pmod 4\) 并且 \(m\) 是 Square-free 整数。
则称它为基本判别式(Fundamental Discriminant)。
上面定义中,提到了 Square-free 整数,一个整数是 Square-free 整数是指它的素因子分解中,素因子的指数都为 1。比如 \(10 = 2 \cdot 5\) ,由于它的因子的指数都是 \(1\) ,所以 \(10\) 是 Square-free 整数,又如 \(18 = 2 \cdot 3^2\) ,由于因子 \(3\) 的指数大于 \(1\) ,所以 \(18\) 不是 Square-free 整数。
下面是最小的 12 个正 Fundamental Discriminant:
1, 5, 8, 12, 13, 17, 21, 24, 28, 29, 33, 37
下面是最大的 12 个负 Fundamental Discriminant:
−3, −4, −7, −8, −11, −15, −19, −20, −23, −24, −31, -35
如果 \(d\) 为基本判别式,则以 \(d\) 为判别式的型一定是原型。 原型的定义可参考节 2.3 。
3. 相似(Equivalence)
关于相似有两套定义,分别是狭义相似和广义相似。
设两个二元二次型 \(f(x,y) = ax^2 + b xy + cy^2\) 和 \(g(x,y) = a_1 x^2 + b_1 xy +c_1 y^2\) ,如果存在满足条件 \(ru-st = 1\) 的有理整数 \(r,s,t,u\) 使得 \[g(x,y) = f(rx+sy, tx+uy)\] 成立,则称 \(f(x,y)\) 和 \(g(x,y)\) 为相似(Equivalence),也称为“狭义相似”(Proper Equivalence)。
设两个二元二次型 \(f(x,y) = ax^2 + b xy + cy^2\) 和 \(g(x,y) = a_1 x^2 + b_1 xy +c_1 y^2\) ,如果存在满足条件 \(ru-st = \pm 1\) 的有理整数 \(r,s,t,u\) 使得 \[g(x,y) = f(rx+sy, tx+uy)\] 成立,则称 \(f(x,y)\) 和 \(g(x,y)\) 为“广义相似”(Wide Equivalence) 或 Improper Equivalence。
狭义相似和广义相似和区别仅仅在于 对 \(r,s,t,u\) 的限制不一样,一个要求 \(ru-st = 1\) ,另一个则要求 \(ru-st = \pm 1\) 。 为什么要做这样的限制呢?这是因为有了这样限制( \(ru-st = 1\) 或者 \(ru-st = \pm 1\) )后,可以推导出“相似型的判别式相等”的结论,参见节 3.1 。
对于两个正定型,如果它们广义相似,则一定狭义相似。但对于不定型而言,就不一定了。
3.1. 相似型的判别式相等
假设 \(f(x,y) = ax^2 + b xy + cy^2\) 和 \(g(x,y) = a_1 x^2 + b_1 xy +c_1 y^2\) 相似,则它们的判别式相等。
由于它们相似,所以有: \[\begin{aligned} g(x,y) &= f(rx+sy, tx+uy) \\ &= a(rx+sy)^2 + b(rx+sy)(tx+uy) + c (tx+uy)^2 \\ &= (ar^2 + brt +ct^2)x^2 + (2ars + b(ru+st) + 2ctu) xy + (as^2 + bsu + cu^2) y^2 \end{aligned}\] 从而: \[\begin{aligned} a_1 &= ar^2 + brt +ct^2 \\ b_1 &= 2ars + b(ru+st) + 2ctu \\ c_1 &= as^2 + bsu + cu^2 \end{aligned}\] 由此可得: \[\begin{aligned} b_1^2 - 4a_1c_1 &= (2ars + b(ru+st) + 2ctu )^2 - 4 (ar^2 + brt +ct^2)(as^2 + bsu + cu^2) \\ &= (b^2 - 4ac) (ru -st)^2 \\ &= b^2 - 4ac \end{aligned}\] 上一步转换过程中利用了 \((ru-st)^2 = 1\) 。由此可见,相似型的判别式相等。
3.2. 二元二次型相似的实例
设有 \(f(x,y) = x^2 + 4xy + 2y^2\) 和 \(g(x,y) = -x^2 + 4xy - 2y^2\) ,问 \(f(x,y)\) 和 \(g(x,y)\) 是否相似。
答案是肯定的,因为存在 \(r = -3, s = 2, t=1, u=-1\) ,显然它们满足 \(ru-st = 1\) ,而且 \[\begin{aligned} f(rx+sy, tx+uy) &= f(-3x+2y, x-y) \\ &= (-3x+2y)^{2}+4(-3x+2y)(x-y)+2(x-y)^{2} \\ &= -x^2 + 4xy - 2y^2 \\ & = g(x,y) \end{aligned}\] 所以二元二次型 \(f(x,y)\) 和 \(g(x,y)\) 是相似的。
4. 类数(Class Number)
4.1. 利用相似关系进行分类
二元二次型之间的相似关系是一种等价关系,所以可把所有二元二次型依据是否相似进行分类,凡相似的分在同一类,凡不相似的绝不在同一类。同一分类的判别式相同。 不过,判别式相同却不一定都相似。
4.2. 类数有限
4.3. 约化型(Reduced Forms)
对于任意正定型(由节 2.1 可知正定型会满足 \(d<0, a>0\) ),如果下面两个不等式都成立: \[\begin{aligned} & -a < b \le a \le c \\ & b \ge 0 \;if\; a = c \end{aligned}\] 则我们称这样的二元二次型为 Reduced 二元二次型。 这种表述见于 Binary Quadratic Forms - An Algorithmic Approach。
关于 Reduced 二元二次型还有另一种表述:对于任意正定型,如果 \(-a < b \le a < c\) 或者 \(0 \le b \le a = c\) 成立,则称它为 Reduced 二元二次型。这种表述见于“数论导引(华罗庚著)”。
对于任意一类(所有相似的二元二次型称为一类)正定型二元二次型,它们之间“有且仅有一个” Reduced 二元二次型。 这样,Reduced 二元二次型就非常重要了,因为它可以唯一标记正定型二元二次型的类别。
4.3.1. \(a \le \sqrt{|d|/3}\)
4.3.2. Reduction 算法
Reduction 算法是指把一个二元二次型转换为和它相似的 Reduced Form 的方法。
Binary Quadratic Forms - An Algorithmic Approach 中第 5.3 节介绍了 Reduction 算法,这里不详细介绍。
4.4. \(d < 0\) 时的类数计算
定理:判别式为 \(d\) 的正定型二元二次型的类数等于适合 \[b^2 - 4ac = d, \begin{cases}
-a < b \le a < c \\
or \; 0 \le b \le a = c
\end{cases}\] 的整数组 \(a,b,c\) 的组数。证明过程可参考“数论导引(华罗庚著)”。
这个定理也可换一种表述:当 \(d < 0\) 时,类数 \[h(d) = \left| \left\{
(a,b,c) \in \mathbb{Z}^3 \;\middle|\; \begin{aligned}
& b^2 - 4ac = d \\
& -a < b \le a < c \; or \; 0 \le b \le a = c \end{aligned}
\right\} \right|\]
注 1:这个定理中对 \(a,b,c\) 的约束条件 \(-a < b \le a < c \; or \; 0 \le b \le a = c\) 就是 Reduced 二元二次型的定义要求。换句话说, \(d<0\) 时,二元二次型的类数就是判别式为 \(d\) 的 Reduced 二元二次型的个数。
注 2:由这个定理容易推导出类数有限的结论。因为由节 4.3 知 \(a \le \sqrt{|d|/3}\) ,从而 \(a\) 是有限的;又由于 \(|b| \le a\) ,从而 \(b\) 也是有限的;又由于 \(c = (b^2-d)/4a\) ,从而 \(c\) 也是有限的。从而 \(a,b,c\) 的组合也是有限的,从而类数有限。
4.4.1. 类数计算的实例
实例:设正定型二元二次型的判别式 \(d = -35\) ,求解 \(h(d)\) 。
当 \(d<0\) 时,求类数 \(h(d)\) 的基本思路是:找出所有判别式为 \(d\) 的 Reduced 二元二次型,然后统计其个数,得到的结果就是类数 \(h(d)\) 。
由节 4.3.1 知, \(a \le \sqrt{|d|/3} = 3.415\) ,从而可知 \(1 \le a \le 3, -3 \le b \le 3\) 。又由于 \(d\) 是奇数,从而 \(b\) 也一定是奇数,所以有 \(b \in \{ -3, -1, 1, 3\}\) 。 \(b\) 的这 \(4\) 种取值,下面分 \(b=\pm 1,b=\pm 3\) 两种情况来讨论。
当 \(b=\pm 1\) 时, \(c=(b^2-d)/4a = 9/a\) ,由于 \(c\) 是整数,所以 \(a=1 \; or \; 3\) ,组合起来可得到了 \((1,1,9),(1,-1,9),(3,1,3),(3,-1,3)\) ,但其中 \((1,-1,9),(3,-1,3)\) 不是 Reduced Form,所以当 \(b=\pm 1\) 时,得到了两个 Reduced Form \((1,1,9),(3,1,3)\) 。
当 \(b=\pm 3\) 时,由于 \(a \ge |b|\) 所以 \(a=3\) ,但是 \(c=(b^2-d)/4a=44/12\) 不是整数,所以当 \(b=\pm 3\) 时没有 Reduced Form。
所以 \(h(-35)=2\) 。
4.4.2. 类数计算的程序实现(当 \(|d|\) 很大时计算很慢)
Binary Quadratic Forms - An Algorithmic Approach 中给出了当 \(d<0\) 时类数计算的伪代码,如图 1 所示(算法中的 \(\Delta\) 就是判别式 \(d\) ),它的时间复杂度为 \(O(|d| (size \; d)^2)\) 。 这并不是一个高效的类数计算算法(本质上是一种穷举法),当 \(|d|\) 很大时,计算类数将非常慢,这是一个计算困难问题(Computationally Difficult Problem)。
Figure 1: Class Number
4.4.3. 类数比较小时的基本判别式列表
表 1 是类数 \(h(d)\) 为 1 到 10 时,判别式 \(d<0\) 且 \(d\) 为基本判别式(参考节 2.2)时的列表(摘自:https://mathworld.wolfram.com/ClassNumber.html )。这个表,最后一列是省略负号的写法,比如,表中第一行表示当 \(d=-3,-4,-7,-8,-11,-19,-43,-67,-163\) 时 \(h(d)=1\) 。
\(h(-d)\) | \(N\) | Sloane | \(d\) |
---|---|---|---|
1 | 9 | A014602 | 3, 4, 7, 8, 11, 19, 43, 67, 163 |
2 | 18 | A014603 | 15, 20, 24, 35, 40, 51, 52, 88, 91, 115, 123, 148, 187, 232, 235, 267, 403, 427 |
3 | 16 | A006203 | 23, 31, 59, 83, 107, 139, 211, 283, 307, 331, 379, 499, 547, 643, 883, 907 |
4 | 54 | A013658 | 39, 55, 56, 68, 84, 120, 132, 136, 155, 168, 184, 195, 203, 219, 228, 259, 280, 291, 292, 312, 323, 328, 340, 355, 372, 388, 408, 435, 483, 520, 532, 555, 568, 595, 627, 667, 708, 715, 723, 760, 763, 772, 795, 955, 1003, 1012, 1027, 1227, 1243, 1387, 1411, 1435, 1507, 1555 |
5 | 25 | A046002 | 47, 79, 103, 127, 131, 179, 227, 347, 443, 523, 571, 619, 683, 691, 739, 787, 947, 1051, 1123, 1723, 1747, 1867, 2203, 2347, 2683 |
6 | 51 | A046003 | 87, 104, 116, 152, 212, 244, 247, 339, 411, 424, 436, 451, 472, 515, 628, 707, 771, 808, 835, 843, 856, 1048, 1059, 1099, 1108, 1147, 1192, 1203, 1219, 1267, 1315, 1347, 1363, 1432, 1563, 1588, 1603, 1843, 1915, 1963, 2227, 2283, 2443, 2515, 2563, 2787, 2923, 3235, 3427, 3523, 3763 |
7 | 31 | A046004 | 71, 151, 223, 251, 463, 467, 487, 587, 811, 827, 859, 1163, 1171, 1483, 1523, 1627, 1787, 1987, 2011, 2083, 2179, 2251, 2467, 2707, 3019, 3067, 3187, 3907, 4603, 5107, 5923 |
8 | 131 | A046005 | 95, 111, 164, 183, 248, 260, 264, 276, 295, 299, 308, 371, 376, 395, 420, 452, 456, 548, 552, 564, 579, 580, 583, 616, 632, 651, 660, 712, 820, 840, 852, 868, 904, 915, 939, 952, 979, 987, 995, 1032, 1043, 1060, 1092, 1128, 1131, 1155, 1195, 1204, 1240, 1252, 1288, 1299, 1320, 1339, 1348, 1380, 1428, 1443, 1528, 1540, 1635, 1651, 1659, 1672, 1731, 1752, 1768, 1771, 1780, 1795, 1803, 1828, 1848, 1864, 1912, 1939, 1947, 1992, 1995, 2020, 2035, 2059, 2067, 2139, 2163, 2212, 2248, 2307, 2308, 2323, 2392, 2395, 2419, 2451, 2587, 2611, 2632, 2667, 2715, 2755, 2788, 2827, 2947, 2968, 2995, 3003, 3172, 3243, 3315, 3355, 3403, 3448, 3507, 3595, 3787, 3883, 3963, 4123, 4195, 4267, 4323, 4387, 4747, 4843, 4867, 5083, 5467, 5587, 5707, 5947, 6307 |
9 | 34 | A046006 | 199, 367, 419, 491, 563, 823, 1087, 1187, 1291, 1423, 1579, 2003, 2803, 3163, 3259, 3307, 3547, 3643, 4027, 4243, 4363, 4483, 4723, 4987, 5443, 6043, 6427, 6763, 6883, 7723, 8563, 8803, 9067, 10627 |
10 | 87 | A046007 | 119, 143, 159, 296, 303, 319, 344, 415, 488, 611, 635, 664, 699, 724, 779, 788, 803, 851, 872, 916, 923, 1115, 1268, 1384, 1492, 1576, 1643, 1684, 1688, 1707, 1779, 1819, 1835, 1891, 1923, 2152, 2164, 2363, 2452, 2643, 2776, 2836, 2899, 3028, 3091, 3139, 3147, 3291, 3412, 3508, 3635, 3667, 3683, 3811, 3859, 3928, 4083, 4227, 4372, 4435, 4579, 4627, 4852, 4915, 5131, 5163, 5272, 5515, 5611, 5667, 5803, 6115, 6259, 6403, 6667, 7123, 7363, 7387, 7435, 7483, 7627, 8227, 8947, 9307, 10147, 10483, 13843 |
4.5. 类数的解析公式(Dirichlet 类数公式)
德国数学家 Dirichlet 给出了计算类数的解析公式,称为 Dirichlet Class Number Formula ,表述如下。
设 \(d\) 为基本判别式,则类数 \(h(d)\) 满足下面公式 \[h(d)=\begin{cases}{\dfrac {w{\sqrt {|d|}}}{2\pi }}L(1,\chi ),&d<0;\\{\dfrac {\sqrt {d}}{\ln \varepsilon }}L(1,\chi ),&d>0.\end{cases}\] 式中 \[w={\begin{cases}2,&d<-4;\\4,&d=-4;\\6,&d=-3.\end{cases}}\] 式中 \(L(1,\chi)\) 为 Dirichlet L-function \[L(1,\chi) = \sum_{n=1}^\infty \frac{\chi(n)}{n}\] 式中 \(\chi(n) =\left(\!{\frac {d}{n}}\!\right)\) 为 Kronecker symbol ,式中 \(\varepsilon ={\frac {1}{2}}(t+u{\sqrt {d}})\) ,其中 \(t,u\) 是 Pell 方程 \(x^2 - d y^2 = 4\) 的解(需要满足 \(t>0,u>0\) ,且 \(u\) 为最小可能值)。
4.6. 高斯类数问题
高斯类数问题(Class Number Problem)是指下面 3 个高斯猜想:
- 正好存在 9 个负的基本判别式,使得类数 \(h(d) = 1\) 。
- 当负的基本判别式 \(d \to -\infty\) 时,类数 \(h(d) \to + \infty\) 。
- 存在无穷多个正的基本判别式,使得类数 \(h(d) \to + \infty\) 。
目前为止,剩下第 3 个猜想未解决。
5. 合成(Composition)
记所有判别式为 \(d\) 的二元二次原型类的全体为 \(\mathscr{C}(d)\) , \(\mathscr{C}(d)\) 是一个有限 Abel 群。
既然是一个群,就需要为这个群定义一个运算,这个运算就是二次型的 Composition 运算,数学家 Gauss, Arndt, Dirichlet, Bhargava 都对 Composition 运算进行了研究,所以 Composition 运算有不同的变种,具体可参考:Composing Quadratic Forms: Gauss, Dirichlet and Bhargava。
6. 参考
本文主要参考下面资料:
- 数论导引(华罗庚著)
- 从高斯到盖尔方特:二次数域的高斯猜想
- Binary Quadratic Forms - An Algorithmic Approach
- Binary quadratic forms, Lipa Long
- Class Groups for Cryptographic Accumulators