2022.12.17 闲话

基本内容

整数三元组 \((a,b,c)\) 是勾股数当且仅当 \(a^2+b^2=c^2\) .

本原勾股数

若勾股数 \((a,b,c)\) 满足 \(a\perp b\),则称其为一组本原勾股数,此时显然有 \(a,b,c\) 两两互素 .

因为奇数的平方一定模 4 余 1,偶数的平方一定模 4 余 0,于是对于勾股数 \((a,b,c)\)\(a,b\) 中至少有一个偶数 .

本原勾股数定理

所有满足 \(2\mid y\) 的本原勾股数 \((x,y,z)\) 可以被整数 \((a,b)\) 表出,其中 \(a>b>0\)\(a\perp b\)\(a,b\) 奇偶性不同 .

表示方式:

\[\begin{aligned}x&=a^2-b^2\\y&=2ab\\z&=a^2+b^2\end{aligned} \]

证明非常简单就不说了 .


Problem 1

给一个正整数 \(n\),表出正整数 \(m\) 的数量,使得能 \((n,m)\) 通过本原勾股数定理构造出一组勾股数 .

正整数 \(m\) 的数量记做 \(\delta_{\sf P}(n)\) .

显然可得

\[\delta_{\sf P}(n)=\sum_{i=1}^{n-1}[i\perp n][2\mid n-i] \]

分奇偶性讨论可以得到

\[\delta_{\sf P}(n)=\dfrac{1}{1+[2\nmid n]}\varphi(n) \]

勾股数和本原勾股数计数

Problem 2

给一个正整数 \(n\),求斜边长不大于 \(n\) 的勾股数和本原勾股数个数 .

考虑一个暴力:

\(1\dots \sqrt n\) 枚举整数 \(a\),然后从 \(a\dots\sqrt{n-a^2}\) 枚举 \(b\),既可求出答案 .

这个算法的时间复杂度一定不大于满足条件的勾股数数量,这样的勾股数其实不是很多,假设斜边根号的余数是均匀的,可以认为勾股数个数和 \(n\) 是同量级的,所以复杂度并不是很高 .

高斯整数

二次整数

二次整数环就是 \(\mathbb Z[\sqrt d]\),其中 \(d\) 是整数 .

或者说二次整数就是首一整系数二次多项式的根 .

二次整数性质其实不咋好……目前的一些结果:

\(d\) / 性质 Eucild 整环 主理想整环 唯一分解整环
\(-1,-2,-3,-7,-11\) \(-1,-2,-3,-7,-11,-19,-43,-67,-163\) \(-1,-2,-3,-7,-11,-19,-43,-67,-163\)
\(2,3,5,6,7,11,13,17,19,21,29,33,37,41,57,73\) open open

唯一分解整环后面就叫 UFD 了 .

高斯整数就是 \(d=-1\) 情况 .

二平方数拆分

推流 joke3579 的高斯整数社论:link .

高斯整数环也就是 \(\mathbb Z[\mathrm i]\)查表可得它是 UFD .

整环上存在逆元的元素称为单位,可以得到 \(\mathbb Z[\mathrm i]\) 上的单位只有四个:\(1,-1,\mathrm i,-\mathrm i\) .

高斯素数的形式:

  • \(1+\mathrm i\) .
  • \(4k+1\) 型素数:拆成两个共轭高斯素数(\(4k+1\) 型素数必然可以表成两数平方和).
  • \(4k+3\) 型素数:还是素数 .

\(R(n)\) 为将 \(n\) 分成两平方数之和的方案数 .

Lemma

令整数 \(n\) 的素因数分解形式为:

\[n=2^t\prod_{i=1}^rp_i^{e_i}\prod_{i=1}^sq_i^{f_i} \]

其中 \(p_i\) 是模 \(4\)\(1\) 的素数,\(q_i\) 是模 \(4\)\(3\) 的素数 .

\[R(n)=\begin{cases}\displaystyle4\prod_{i=1}^r(e_i+1)&\forall i,2\mid f_i\\0&\text{otherwise.}\end{cases} \]

注意到一个方案 \(n=a^2+b^2\) 就是 \(n=(a+b\mathrm i)(a-b\mathrm i)\) .

观察可得素因数分解形式可写为

\[n=(-\mathrm i)^t(1+\mathrm i)^{2t}\prod_{i=1}^r(a_i+b_i\mathrm i)^{e_i}(a_i-b_i\mathrm i)^{e_i}\prod_{i=1}^sq_i^{f_i} \]

如果 \(f_i\) 有奇数的就匹配不上了答案显然是 \(0\),以下考虑 \(f_i\) 都是偶数的情况 .

只需要考虑 \(\{p\}\)\(a+b\mathrm i\)\(a-b\mathrm i\) 的贡献,于是就产生

\[\prod_{i=1}^r(e_i+1) \]

的贡献 .

因为有 \(4\) 个单位的方向,所以答案再乘 \(4\) 即可,证毕 .

勒让德两平方数之和定理

\[R(n)=4\left(\sum_{d>0}([4d+1\mid n]-[4d+3\mid n])\right) \]

令整数 \(n\) 的素因数分解形式为:

\[n=2^t\prod_{i=1}^rp_i^{e_i}\prod_{i=1}^sq_i^{f_i} \]

则根据 Lemma,只需验证

\[4\left(\sum_{d>0}([4d+1\mid n]-[4d+3\mid n])\right)=\begin{cases}\displaystyle4\prod_{i=1}^r(e_i+1)&\forall i,2\mid f_i\\0&\text{otherwise.}\end{cases} \]

\(\displaystyle d_k=\sum_{i>0}[4i+k\mid n]\) .

考虑对 \(s\) 归纳(考虑 \(4k+3\) 型素因子的一个前缀),则:

  • \(s=0\) 时,显然成立 .
  • \(s>0\) 时,对于每个 \((q_i,f_i)\) 分别讨论:
    • \(2\nmid f_i\),显然 \(d_1=d_3\),命题成立 .
    • \(2\mid f_i\),奇偶次幂的因子被均分在 \(d_1,d_3\) 中,于是相当于变成了大小为 \(\dfrac{n}{q_i^{f_i}}\) 的子问题,根据归纳假设,命题成立 .

高斯整数的一些应用:

Problem 3

给一个正整数 \(r\),问圆心为 \((0,0)\),半径为 \(r\) 的圆上有多少个整点 .

问题即为找整数二元组 \((x,y)\) 的数量,使得 \(x^2+y^2=r^2\) .

根据勒让德两平方数之和定理,将 \(r^2\) 分解质因数即可 .

Problem 4

给一个正整数 \(n\),求斜边长不大于 \(n\) 的所有勾股数 .

在勒让德两平方数之和定理的过程中即可输出所有勾股数,对于勾股数 \((a,b,c)\),枚举 \(c\),施 pollard-rho 即可做到 \(\Theta(n^{5/4})\) .

用 Problem 2 的手法可以 \(O(n)\) 左右 .

如果是计数也一样 .

\(\mathbb Z[\mathrm i]\) 上的 GCD 和因数分解

查表可得 \(\mathbb Z[\mathrm i]\) 是 Euclid 整环 .

于是 \(\mathbb Z[\mathrm i]\) 的 GCD 可以通过辗转相除法求出 .


因数分解也比较平凡,因为范数是积性的,所以用某些方法先分解欲分解的高斯整数的范数,可以得到答案素因子的范数的几个可能值 .

知道范数求原数用高斯素数的形式即可 \(\Theta(1)\),接下来试除即可 .

淡化比较浓的东西

代数曲线上的有理点

所有勾股数都可以对应到单位圆上的有理点上 .

即若 \(\left(\dfrac ab\right)^2+\left(\dfrac bc\right)^2=1\)\(a,b,c\) 是正整数时,有 \(a^2+b^2=c^2\) .

考虑过点 \((-1,0)\) 引一条斜率为有理数 \(t\) 的直线,交圆心为原点的单位圆于点 \((x,y)\),则可以得到如下图所示的结果:

可以发现直线与单位圆交于另一有理点,由此可以知道可以用 \(t\) 来参数化单位圆上的所有有理点 .

根据已知信息可以得到

\[\begin{aligned}&t=\dfrac{y}{x+1}\\&x^2+y^2=1\end{aligned} \]

代入可知

\[(x+1)((x-1)+t^2(x+1))=0 \]

\(x=-1\) 是平凡解(\((x,y)\) 为点 \((-1,0)\)),于是下面令 \(x\neq -1\),则

\[(x-1)+t^2(x+1)=0 \]

解得 \(x=\dfrac{1-t^2}{1+t^2}\),从而可以得到 \(y=\dfrac{2t}{1+t^2}\) .

于是直线 \(y=t(x+1)\) 与单位圆的第二个交点为 \(\left(\dfrac{1-t^2}{1+t^2},\dfrac{2t}{1+t^2}\right)\),它是关于 \(t\) 的有理函数,所以它是有理点的当且仅当 \(t\) 是有理数 .

于是我们就得到单位圆上的所有有理点,即 \((-1,0)\) 和所有形如 \(\left(\dfrac{1-t^2}{1+t^2},\dfrac{2t}{1+t^2}\right)\) 的点 . 令 \(t=\dfrac mn\),其中 \(m,n\) 是正整数,则可以得到一个关于所有勾股数的表达式 .

代入 \(t=\dfrac mn\) 可得有理点 \(\left(\dfrac{m^2-n^2}{m^2+n^2},\dfrac{2mn}{m^2+n^2}\right)\),则根据前面的讨论可得 \((m^2-n^2,2mn,m^2+n^2)\) 为一组勾股数 .

这给出了一个对代数曲线有理参数化的一个方法 . 一个例子:椭圆 \(x^2+xy+y^2=1\) 上的所有有理点为 \((-1,1)\) 和所有形如 \(\left(\dfrac{1-t^2}{t^2+t+1},\dfrac{t^2+2t}{t^2+t+1}\right)\) 的点,其中 \(t\) 是有理数 .

二平方和

根据先前的讨论,知道一个正整数可表示为两个正整数的平方和,当且仅当其所有形如 \(4k+3\) 形式的素因子在 \(n\) 中的次幂均为偶数 .

这一部分懒得写了,nmd

posted @ 2022-12-17 18:23  Jijidawang  阅读(36)  评论(0编辑  收藏  举报
😅​