Skip to content

算法Algorithm

Gauss 二元型合成

Gauss composition of binary quadratic forms · Dirichlet composition · 二元二次型类合成

在负基本判别式下构造互素首系数和共同中项,用整数CRT计算型类乘积;由定向理想双射证明选择无关与群律,并完整算出判别式−23的三阶类群。

判别式 −23 有三个正等价类。怎样把两个类相乘,才能得到一个确定的第三类?直接将系数逐项相乘不会保持判别式,单凭“表示数的乘积又被某型表示”也不能辨认正类。Gauss 合成通过理想乘法确定运算,再用整数换元和同余把它算出来。

形式陈述 ​

本页计算的对象和范围 ​

固定负基本判别式 D,即 D 平方自由且模四余一,或 D=4d,其中 d 平方自由且模四余二或三。输入为两个判别式均为 D 的本原正定整数二元型 Q1,Q2。

令 CD 为这些型的正等价类集合。使用型与定向理想的双射,把 [Qi] 送到完整整数环中的理想类 [Ii],以 [I1I2] 所对应的型类定义

[Q1]∗[Q2].

这称为 Gauss 合成。下面的可执行版本先把首系数变互素,再使用共同中项,通常称为 Dirichlet 合成。

输出是该乘积类的唯一约化三元组,以及输入换元、同余拼接和最终约化的证书。该运算使 CD 成为有限 Abel 群;单位元与逆类分别为

Q0={(1,1,(1−D)/4),D 奇,(1,0,−D/4),D 偶,[(a,b,c)]−1=[(a,−b,c)].

这个群与 Cl(OQ(D)) 同构。任意非基本负判别式的合成需要改用相应子阶的可逆理想;不属于本页算法的输入合同。

互素首系数下的公式 ​

先用正等价换元把输入写成

Qi=(ai,bi,ci),gcd(a1,a2)=1.

用整数中国剩余定理求

B≡b1(mod2a1),B≡b2(mod2a2).

两个模数的 gcd 是二,而 b1,b2 同奇偶,故总相容,解模 2a1a2 唯一。令

A=a1a2,C=B2−D4A.

输出前的乘积型为

Q3=(A,B,C).

最后用正定约化得到规范三元组。原始输入是否约化不影响公式;关键是同一判别式和预处理后的首系数互素。

直觉

共同中项让两个理想用同一条方向 ​

由 B−bi=2aiki,剪切 Tki 将 Qi 变成

Q~1=(a1,B,a2C),Q~2=(a2,B,a1C).

C 确为整数:B2−D 分别被 4a1,4a2 整除,而二者最小公倍数为 4A。

固定正虚部的 D,令 η=(B+D)/2。两个型的理想现在有共同的第二基向量:

I1=a1Z+ηZ,I2=a2Z+ηZ.

乘积由 A,a1η,a2η,η2 生成。因为 gcd(a1,a2)=1,Bézout 系数使 η 本身也是 a1η,a2η 的整数线性组合;而

η2=Bη−AC.

所以乘积精确等于

I1I2=AZ+ηZ=IQ3.

这条生成元等式认证了公式,而不只验证新型恰好有判别式 D。

表示数的乘法可以直接展开 ​

若共同中项下的两个表示为

z1=a1x+ηy,z2=a2u+ηv,

则

z1z2=AX+ηY,X=xu−Cyv,Y=a1xv+a2yu+Byv.

对两边取范数并除以 A,得到

Q~1(x,y)Q~2(u,v)=Q3(X,Y).

这解释了“合成”如何把两个表示相乘。若输入先经过换元,须先把表示坐标移到共同中项的两组基中,再使用这条式子。

例子与边界

完整算出 D=−23 的乘法表 ​

约化已经列尽三个类,记为

e=[(1,1,6)],A=[(2,1,3)],A―=[(2,−1,3)].

先算 A2。两个原始首系数都为二,先把第二个型用 S 变成 (3,−1,2)。然后求

B≡1(mod4),B≡−1(mod6),

可取 B=5。两输入分别剪切为 (2,5,6)、(3,5,4),乘积型为

(6,5,2).

再执行

(6,5,2)→S(2,−5,6)→T1(2,−1,3),

故 A2=A―。最终约化矩阵为 ST1=(0−111)。

再算 AA―。将第二个型 (2,−1,3) 交换成 (3,1,2),共同中项可取 B=1,得到

(6,1,1)→S(1,−1,6)→T1(1,1,6).

所以 AA―=e。三类彼此不同,群律又已由理想对应保证,完整乘法表为

∗ e A A―
e e A A―
A A A― e
A― A― e A

于是 C−23≅C3。这里既有穷尽代表的证据,也有群结构和生成元阶的证据。

不满足互素条件时,CRT 还不够 ​

若对 (2,1,3) 自乘时直接令 A=4,B=1,两条模四同余虽都满足,却得到

C=1+2316=32.

输出甚至不是整数型。首系数不互素时,两个 4ai 的最小公倍数不再等于 4a1a2,前面的整除论证失效。更一般的合成公式确实可以处理这些输入,但本算法的修复方式明确:先换元得到互素首系数,再执行已证明的公式。

任意乘积恒等式不能定义正类合成 ​

若一条恒等式写成 Q1Q2=Q3(X,Y),也能写成

Q1Q2=(a3,−b3,c3)(X,−Y).

右边两个型可能并不正等价。D=−23 的 A 与 A― 已给出这种真实区别,所以仅寻找一个双线性表示恒等式,不足以在二者间选择。固定复嵌入、正定向和理想乘法,才指定了正确的类。

本原表示也不一定在乘法后保持。例如 D=−4 的 x2+y2 在 (1,1) 本原表示二,两份表示相乘时 X=0,Y=2,得到四的非本原表示。类乘法是良定义的,坐标是否互素仍须单独检查。

推论与应用

为什么总能把首系数变互素 ​

固定本原型 Q 和正整数 N。我们要找 gcd(x,y)=1 且 gcd(Q(x,y),N)=1 的向量,再把它补成 SL2(Z) 矩阵的第一列。

对每个 p∣N,在模 p 下至少有一个向量使 Q 非零。事实上,若 (1,0),(0,1),(1,1) 三处都为零,就依次得到 a=c=b=0(modp),与本原性矛盾。对每个素因子选一对这样的坐标,再用 CRT 拼成

x≡x0(modM),y≡y0(modM),M=∏p∣Np.

还需要全局坐标互素,不能只检查模 N。先在 y0+MZ 中选一个非零整数 y。对每个整除 y 却不整除 M 的素数 q,额外要求 x≡1(modq);这些模数与 M 互素,CRT 再次给出 x。若 p∣y 且 p∣M,原先 Q(x0,0)≢0(modp) 已保证 x0≢0(modp)。因此没有素数同时整除最终 x,y。

这就得到所需本原向量。用 Bézout 系数补成首列矩阵后,新首系数为 Q(x,y),与 N 互素。若 N=1,直接用 (1,0) 即可。计算两型合成时取 N=a1,只改第二个型便够。

这个证明给出有限构造;也允许程序依次枚举本原向量直到成功。枚举方式的终止有了依据,但这里不声称它按输入位数具有多项式运行时间,避免把正定约化的速度误当成整个预处理的速度。

四种选择为什么都不影响输出类 ​

先看输入代表。由定向理想对应,正等价换元只将 Ii 改成 λiIi,所以乘积改成 (λ1λ2)I1I2,理想类不变。这同时覆盖了寻找互素首系数时不同本原向量、不同 Bézout 补列的选择。

再看共同中项。两个 CRT 解相差 2Aℓ;相应乘积型恰相差剪切 Tℓ,因为中项由 B 变为 B+2Aℓ,末项按相同判别式被唯一决定。它们属于同一正类。

最后看乘积理想的正定向基与约化过程。前者只改变型的正等价代表,后者无论使用哪张正确换元证书,都必须落到唯一的约化三元组。因此输入换元、补列、CRT 解及末端约化的全部自由选择都已被覆盖。

理想乘法的结合律、交换律和单位元通过双射直接传给型类。单位理想 O 的范数型就是上面的 Q0;公式 IQIQ―=aO 给出逆类 (a,−b,c)。不需要仅凭有限算例猜测群律。

类数相同与群结构相同是两个问题 ​

有限约化代表只回答“有几个类”,还须合成才能决定元素的阶。例如 D=−84 的全部代表为

(1,0,21),(2,2,11),(3,0,7),(5,4,5).

后三者都与各自中项反号的型正等价:中项为零时直接相同,|b|=a 时一次剪切恢复,a=c 时一次 S 恢复。所以每个非单位类都为二阶,群是 C2×C2,而非 C4。

还可实际检查两个不同非单位类的乘积:(2,2,11) 与 (3,0,7) 取共同中项六,得到 (6,6,5);再经 S,T1 得 (5,4,5)。这与四元群表一致,也检验了偶判别式及 a=c 边界。

完整的 二元型类证书练习 将 −23 的九格表、理想基转换和 13 的指定型表示放在同一份可复算输出中,并迁移到 −20 与 −84。

参考资料
  • Andrew V. Sutherland,18.783, Problem Set 9,2017,Problem 3(a)–(h),印刷 pp.4–5:型、理想格与类群运算;其中一般 gcd 合成公式比本页的互素版本更广,本页采用可直接验证的共同中项构造。
  • Brian Conrad,Class groups for imaginary quadratic fields,§4,pp.7–9:定向理想类与正型类的双射,是选择无关证明的依据。
  • Evan Dummit,Math 4527, Lecture 36,2021-04-15,PDF pp.29–40:表示恒等式的定向歧义、Dirichlet 合成及有限类群例子。本文从理想生成元重新推导双线性乘积坐标,并完整证明预处理和代表选择无关。
关系图谱13 个相邻概念 · 2 类关系

拖动节点调整位置。

显示关系

显示:依赖

  1. 前置三跳
  2. 前置二跳
  3. 前置一跳
  4. 当前条目
  5. 后续一跳
  6. 后续二跳
  7. 后续三跳
文字版关系按与当前条目的最短距离分组
类型化关系