跳转至

从零开始:椭圆曲线 \(y^2=x^3+ax+b\) 上的点加与点倍

前提:\(4a^3+27b^2\neq 0\)(曲线非奇异)。在实数域 \(\mathbb{R}\) 下描述;公式本质是代数的,故可迁移到其他域(见文末注)。

记两点 \(P(x_1,y_1),\,Q(x_2,y_2)\) 在曲线上,且默认 \(P\neq \pm Q\) 时斜率有限、分母不为 0;特例单独讨论。


一、点加 \(R=P+Q\)\(P\neq Q\)

1. 几何定义与目标

经过 \(P,Q\) 的直线 \(L\) 与曲线再交于第三点 \(R'(x_3,-y_3)\)。定义

\[ P+Q := R(x_3,y_3), \]

其中 \(R\)\(R'\) 关于 \(x\) 轴的对称点。目标用 \(x_1,y_1,x_2,y_2\) 表出 \(x_3,y_3\)

2. 斜率与直线方程

两点式斜率

\[ \lambda=\frac{y_2-y_1}{x_2-x_1}\quad(\text{要求 }x_2\neq x_1), \]

点斜式直线

\[ y=\lambda(x-x_1)+y_1. \]

3. 代入曲线方程并“只保留 \(x\)

把直线方程代入 \(y^2=x^3+ax+b\),消去 \(y\)

\[ \bigl[\lambda(x-x_1)+y_1\bigr]^2=x^3+ax+b. \]

先展开左边的平方,再逐项展开:

\[ \lambda^2(x-x_1)^2+2\lambda y_1(x-x_1)+y_1^2=x^3+ax+b. \]

\((x-x_1)^2\) 展开:

\[ \lambda^2(x^2-2x_1x+x_1^2)+2\lambda y_1x-2\lambda y_1x_1+y_1^2=x^3+ax+b. \]

4. 移项,整理成标准三次方程

把左边全部移到右边,得到“等于 0”的三次式,并按幂次降序收集同类项:

\[ 0=x^3+ax+b-\lambda^2x^2+2\lambda^2x_1x-\lambda^2x_1^2-2\lambda y_1x+2\lambda y_1x_1-y_1^2. \]

把右边看作标准形 \(x^3+Cx^2+Dx+E\)

\[ x^3+\underbrace{(-\lambda^2)}_{C}x^2+\underbrace{(a+2\lambda^2x_1-2\lambda y_1)}_{D}x+\underbrace{(b-\lambda^2x_1^2+2\lambda y_1x_1-y_1^2)}_{E}=0. \]

此处关键观察\(x^2\) 项系数确为

\[ C=-\lambda^2. \]

5. 三根是 \(x_1,x_2,x_3\),应用韦达定理求 \(x_3\)

为什么 \(x_1,x_2\) 是上式的根?因为直线通过 \(P\)\(Q\),当 \(x=x_1\)(或 \(x_2\))时直线给出 \(y=y_1\)(或 \(y_2\)),而 \((x_i,y_i)\) 又在曲线上,因此代入后等式成立,说明 \(x_1,x_2\) 使三次式为 0,是根。

设第三根为 \(x_3\)。韦达定理给出三根和:

\[ x_1+x_2+x_3=-C=\lambda^2 \;\Rightarrow\; \boxed{x_3=\lambda^2-x_1-x_2}. \]

6. 由直线方程求 \(y_3\)

第三个交点是 \(R'=(x_3,-y_3)\) 且在直线上,将 \(x=x_3\) 代入直线:

\[ -y_3=\lambda(x_3-x_1)+y_1. \]

两边乘以 \(-1\) 并整理:

\[ \boxed{y_3=\lambda(x_1-x_3)-y_1}. \]

(对称写法:同理可得 \(y_3=\lambda(x_2-x_3)-y_2\)。)

至此,点加完整公式为

\[ \boxed{ \begin{aligned} \lambda&=\frac{y_2-y_1}{x_2-x_1},\\ x_3&=\lambda^2-x_1-x_2,\\ y_3&=\lambda(x_1-x_3)-y_1. \end{aligned}} \]

7. 等价“因式分解”读系数(可选的第二种完全展开法)

把上面的三次式写成

\[ (x-x_1)(x-x_2)(x-x_3)=x^3-(x_1+x_2+x_3)x^2+\cdots, \]

与上一节整理出的标准式逐项对比,立即得到

\[ x_1+x_2+x_3=\lambda^2, \]

与前述韦达结论一致。

8. 特例与边界情况

  • \(x_1=x_2\)\(y_1=-y_2\)(竖直线),\(\lambda\) 无意义。几何上直线与曲线第三交点在无穷远,定义

$$ P+(-P)=\mathcal{O}\quad(\text{单位元,点在无穷远}). $$

  • 单位元与逆元:\(\mathcal{O}\) 满足 \(P+\mathcal{O}=P\);反元素为 \(-P=(x_1,-y_1)\)

二、点倍 \(R=2P\)\(P=Q\)

1. 切线斜率(隐函数求导)

由曲线 \(y^2=x^3+ax+b\) 两边对 \(x\) 求导:

\[ 2y\frac{dy}{dx}=3x^2+a. \]

\(P(x_1,y_1)\) 处切线斜率

\[ \lambda=\left.\frac{dy}{dx}\right|_{P}=\frac{3x_1^2+a}{2y_1}. \]

(要求 \(y_1\neq 0\) 以避免分母为 0。若 \(y_1=0\) 的特例见后述。)

切线方程

\[ y=\lambda(x-x_1)+y_1. \]

2. 代入曲线,重根与三根和

与点加相同,把切线方程代回曲线得到三次式。因为直线与曲线在 \(x=x_1\) 相切,\(x=x_1\) 是二重根,第三根为 \(x_3\)。因此根的多重集为 \(\{x_1,x_1,x_3\}\)

按上一节完全相同的展开与整理,可再次读出

\[ C=-\lambda^2,\qquad x_1+x_1+x_3=-C=\lambda^2. \]

所以

\[ \boxed{x_3=\lambda^2-2x_1}. \]

再由直线方程求 \(y_3\)

\[ -y_3=\lambda(x_3-x_1)+y_1\;\Rightarrow\;\boxed{y_3=\lambda(x_1-x_3)-y_1}. \]

于是点倍完整公式为

\[ \boxed{ \begin{aligned} \lambda&=\frac{3x_1^2+a}{2y_1},\\ x_3&=\lambda^2-2x_1,\\ y_3&=\lambda(x_1-x_3)-y_1. \end{aligned}} \]

3. 重根为何成立(细节不省略版)

\(y=\lambda(x-x_1)+y_1\) 代入得到的多项式 \(F(x)\)。由于在 \(x_1\) 处“值”为 0(曲线与直线交于 \(P\)),且“斜率方向一致”为相切,可检验

\[ F(x_1)=0,\quad F'(x_1)=0, \]

这恰是二重根的充要条件(在实系数多项式下)。因此可因式分解

\[ F(x)=(x-x_1)^2(x-x_3). \]

4. 点倍的竖切特例

\(y_1=0\),则 \(\lambda=(3x_1^2+a)/(2y_1)\) 不存在;几何上切线为竖直线,第三交点在无穷远,按群法则定义

\[ \boxed{2P=\mathcal{O}}. \]

三、把结果“代回去”校验(思路交代)

  • 由构造可知 \(x_3\) 来自“直线–曲线”的三次式根,故存在某个 \(y\) 值(即 \(-y_3\))使得

$$ (-y_3)^2=x_3^3+ax_3+b. $$

  • 而直线给出 \(-y_3=\lambda(x_3-x_1)+y_1\)。对称得到

$$ y_3=\lambda(x_1-x_3)-y_1,\quad \text{且}\quad y_3^2=x_3^3+ax_3+b. $$

这说明所得 \(R(x_3,y_3)\) 的确落在曲线上。


四、群法则与一致性(概念完整性)

  • 封闭性:上式给出的 \(R\) 仍在曲线上。
  • 单位元\(\mathcal{O}\)(无穷远点)满足 \(P+\mathcal{O}=P\)
  • 逆元\(-P=(x_1,-y_1)\),满足 \(P+(-P)=\mathcal{O}\)
  • 交换律、结合律:几何—代数构造可证明(结合律证明相对技术性,这里不展开)。

五、域的推广与分母可逆条件

以上仅用加减乘除,因而可迁移到任意域 \(K\)

  • 点加需 \(x_2-x_1\)\(K\) 中可逆;
  • 点倍需 \(2y_1\)\(K\) 中可逆;
  • 标准短魏尔斯特拉斯形 \(y^2=x^3+ax+b\) 通常在 \(\mathrm{char}(K)\neq 2,3\) 下使用(\(\mathrm{char}=2,3\) 需换等价模型与公式)。

六、最终公式对照表(便于查阅)

  • 点加 \(P(x_1,y_1),Q(x_2,y_2),\,P\neq Q,\,x_1\neq x_2\)
\[ \lambda=\frac{y_2-y_1}{x_2-x_1},\quad x_3=\lambda^2-x_1-x_2,\quad y_3=\lambda(x_1-x_3)-y_1. \]
  • 点倍 \(2P\)\(y_1\neq 0\)):
\[ \lambda=\frac{3x_1^2+a}{2y_1},\quad x_3=\lambda^2-2x_1,\quad y_3=\lambda(x_1-x_3)-y_1. \]
  • 特例:
\[ x_1=x_2,\;y_1=-y_2\;\Rightarrow\;P+Q=\mathcal{O};\qquad y_1=0\;\Rightarrow\;2P=\mathcal{O}. \]