如何判定两个代数数的乘法相关性?
咱们先来明确问题:给定两个非零代数数 (x,y \in \mathbb F^*)(其中 (\mathbb Q \subseteq \mathbb F \subset \mathbb C)),要找不全为0的整数 (m,n) 使得 (x^m \cdot y^n = 1),或者证明不存在这样的整数对。这个问题本质上是判断两个代数数在乘法群里是否整数线性相关,咱们可以分情况一步步来解决:
第一步:先排查单变量的特殊情况
首先看其中一个数是不是单位根(也就是存在非零整数k使得该数的k次幂为1),这是你提到的单变量情况的延伸:
- 对x来说,先算出它的极小多项式的次数d,然后找出所有满足欧拉函数 (\phi(m)=d) 的正整数m(这样的m是有限个,因为欧拉函数的逆像有限),逐个验证 (x^m = 1) 是否成立。如果x是单位根,那直接取 (m=\text{ord}(x))(x的阶)、(n=0),就满足 (x^m y^n = 1),问题直接解决。
- 同理检查y是否是单位根,如果是,取 (n=\text{ord}(y))、(m=0) 即可。
第二步:当两者都不是单位根时的判定
如果x和y都不是单位根,咱们可以借助**代数数的高度(Height)**这个工具来分析:
代数数的高度是一个衡量其算术复杂度的非负实数,有几个关键性质:
- 单位根的高度为0,反之高度为0的代数数一定是单位根;
- 对任意非零代数数α和整数k,(h(\alpha^k) = |k|h(\alpha));
- 对任意非零代数数α,β,(h(\alpha\beta) \leq h(\alpha)+h(\beta)),且当αβ是单位根时,(h(\alpha\beta)=0)。
基于这些性质,咱们可以推导:
如果存在不全为0的整数m,n使得 (x^m y^n=1),那么 (h(x^m y^n)=h(1)=0),结合高度的齐次性,可得 (|m|h(x) = |n|h(y)),也就是说 (h(x)/h(y)) 必须是正有理数。
反过来,如果 (h(x)/h(y)=a/b)(a,b是互素的正整数),那咱们构造 (z=x^b y^{-a}),此时 (h(z)=b h(x)-a h(y)=0),说明z是单位根。设z的阶为k,那么 (z^k=1),也就是 (x^{bk} y^{-ak}=1),取 (m=bk)、(n=-ak),这就是满足条件的非零整数对。
如果 (h(x)/h(y)) 是无理数,那显然不存在这样的m,n——因为假设存在的话,会推出无理数等于有理数的矛盾。
补充:用对数线性无关性辅助理解
你也可以从复对数的角度看:(x^m y^n=1) 等价于 (m \log x + n \log y = 2\pi i k)(k是整数)。根据Baker定理,如果 (\log x) 和 (\log y) 在有理数域上线性无关,那不存在这样的非零整数m,n;反之如果线性相关,就存在对应的解。这和高度方法的结论是一致的。
举个简单例子:x=2,y=8,两者都不是单位根,h(2)=log2,h(8)=3log2,h(x)/h(y)=1/3是有理数,那么取b=3,a=1,z=2^3 8{-1}=8/8=1(单位根),直接得到m=3,n=-1时,238^{-1}=1,满足条件。
备注:内容来源于stack exchange,提问作者mr_e_man

